summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/insque.c
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2015-01-10 01:01:12 +0000
committerdelphij <delphij@FreeBSD.org>2015-01-10 01:01:12 +0000
commite6623583d128198b7dd7b6a68d0f525b0d4d19f8 (patch)
tree0851c5f443f323039d4fb038eda297d81fee5e7b /lib/libc/stdlib/insque.c
parent1009c8aa89624237add7b8bca851e09b29347d8a (diff)
downloadFreeBSD-src-e6623583d128198b7dd7b6a68d0f525b0d4d19f8.zip
FreeBSD-src-e6623583d128198b7dd7b6a68d0f525b0d4d19f8.tar.gz
MFC r264392 (davide):
Fix a panic in zfs_rename(). this is due to a wrong dereference of a vnode when it's not locked and can be (potentially) recycled. 'sdvp' cannot be locked on zfs_rename() entry point because the VFS can't be sure that this scenario is LOR-free (it might violate the parent->child lock acquisition rule). Dereference 'tdvp' instead, which is already locked on entry, and access 'sdvp' fields only when it's safe, i.e. under ZFS_ENTER scope. While at it, remove the usage of VOP_REALVP, as long as this is a NOP on FreeBSD.
Diffstat (limited to 'lib/libc/stdlib/insque.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud