mirror_zfs/module
Mark Johnston ded851b2e0
Fix several bugs in the FreeBSD rename VOP implementation
- To avoid a use-after-free, zfsvfs->z_log needs to be loaded after the
  teardown lock is acquired with ZFS_ENTER().
- Avoid leaking vnode locks in zfs_rename_relock() and zfs_rename_()
  when the ZFS_ENTER() macros forces an early return.

Refactor the rename implementation so that ZFS_ENTER() can be used
safely.  As a bonus, this lets us use the ZFS_VERIFY_ZP() macro instead
of open-coding its implementation.

Reported-by: Peter Holm <pho@FreeBSD.org>
Tested-by: Peter Holm <pho@FreeBSD.org>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com>
Signed-off-by: Mark Johnston <markj@FreeBSD.org>
Sponsored-by: The FreeBSD Foundation
Closes #12717
2021-11-19 15:26:39 -07:00
..
avl Remove avl_size field from struct avl_tree 2021-07-01 09:32:31 -06:00
icp Use fallthrough macro 2021-09-14 10:17:54 -06:00
lua Use fallthrough macro 2021-09-14 10:17:54 -06:00
nvpair Update checkstyle workflow env to ubuntu-20.04 2021-11-02 14:02:57 -06:00
os Fix several bugs in the FreeBSD rename VOP implementation 2021-11-19 15:26:39 -07:00
spl Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
unicode Update checkstyle workflow env to ubuntu-20.04 2021-11-02 14:02:57 -06:00
zcommon Enable edonr in FreeBSD 2021-11-16 12:40:10 -07:00
zfs Enable edonr in FreeBSD 2021-11-16 12:40:10 -07:00
zstd Fix cross-endian interoperability of zstd 2021-08-30 14:13:46 -07:00
.gitignore Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
Kbuild.in Add zstd support to zfs 2020-08-20 10:30:06 -07:00
Makefile.bsd Enable edonr in FreeBSD 2021-11-16 12:40:10 -07:00
Makefile.in Update checkstyle workflow env to ubuntu-20.04 2021-11-02 14:02:57 -06:00