mirror_zfs/module/os/freebsd/zfs
Richard Yao 572114d846 FreeBSD: zfs_register_callbacks() must implement error check correctly
I read the following article and noticed a couple of ZFS bugs mentioned:

https://pvs-studio.com/en/blog/posts/cpp/0377/

I decided to search for them in the modern OpenZFS codebase and then
found one that matched the description of the first one:

V593 Consider reviewing the expression of the 'A = B != C' kind. The
expression is calculated as following: 'A = (B != C)'. zfs_vfsops.c 498

The consequence of this is that the error value is replaced with `1`
when there is an error. When there is no error, 0 is correctly passed.
This is a very minor issue that is unlikely to cause any real problems.

The incorrect error code would either be returned to the mount command
on a failure or any of `zfs receive`, `zfs recv`, `zfs rollback` or `zfs
upgrade`.

The second one has already been fixed.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Damian Szuberski <szuberskidamian@gmail.com>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #14261
2023-01-19 12:50:36 -08:00
..
abd_os.c Avoid small buffer copying on write 2022-07-26 10:10:37 -07:00
arc_os.c FreeBSD: Fix integer conversion for vnlru_free{,_vfsops}() 2022-09-28 10:35:13 -07:00
crypto_os.c FreeBSD: Improve crypto_dispatch() handling 2022-07-26 10:10:37 -07:00
dmu_os.c FreeBSD: Clean up ASSERT/VERIFY use in module 2021-09-14 12:02:23 -07:00
hkdf.c Add FreeBSD support to OpenZFS 2020-04-14 11:36:28 -07:00
kmod_core.c zfs: add missed dependency of zfs module on zlib 2021-09-14 14:30:39 -07:00
spa_os.c FreeBSD: Fix potential boot panic with bad label 2023-01-05 11:00:09 -08:00
sysctl_os.c Restore FreeBSD sysctl processing for arc.min and arc.max 2021-09-14 14:31:01 -07:00
vdev_file.c module: zfs: fix unused, remove argsused 2022-02-16 17:58:56 -08:00
vdev_geom.c Improve too large physical ashift handling 2022-09-21 13:15:15 -07:00
vdev_label_os.c FreeBSD: Clean up ASSERT/VERIFY use in module 2021-09-14 12:02:23 -07:00
zfs_acl.c Fix ACL checks for NFS kernel server 2022-03-20 21:21:18 -07:00
zfs_ctldir.c FreeBSD: stop passing LK_INTERLOCK to VOP_LOCK 2022-09-28 10:35:13 -07:00
zfs_debug.c Annotated dprintf as printf-like 2021-06-24 13:12:36 -07:00
zfs_dir.c FreeBSD: Clean up ASSERT/VERIFY use in module 2021-09-14 12:02:23 -07:00
zfs_file_os.c FreeBSD: handle V_PCATCH 2022-09-28 10:35:13 -07:00
zfs_ioctl_compat.c FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy() 2022-12-01 12:39:43 -08:00
zfs_ioctl_os.c libzfs: On FreeBSD, use MNT_NOWAIT with getfsstat 2021-06-09 13:05:34 -07:00
zfs_racct.c module: zfs: fix unused, remove argsused 2022-02-16 17:58:56 -08:00
zfs_vfsops.c FreeBSD: zfs_register_callbacks() must implement error check correctly 2023-01-19 12:50:36 -08:00
zfs_vnops_os.c FreeBSD: catch up to 1400068 2022-09-28 10:35:13 -07:00
zfs_znode.c FreeBSD: Implement hole-punching support 2022-05-17 11:15:29 -07:00
zio_crypt.c module: zfs: fix unused, remove argsused 2022-02-16 17:58:56 -08:00
zvol_os.c zvol: remove unused variable 2022-05-02 15:42:58 -07:00