mirror_zfs/module/os/freebsd/zfs
Richard Yao 55816c64da FreeBSD: Fix integer conversion for vnlru_free{,_vfsops}()
When reviewing #13875, I noticed that our FreeBSD code has an issue
where it converts from `int64_t` to `int` when calling
`vnlru_free{,_vfsops}()`. The result is that if the int64_t is `1 <<
36`, the int will be 0, since the low bits are 0. Even when some low
bits are set, a value such as `((1 << 36) + 1)` would truncate to 1,
which is wrong.

There is protection against this on 32-bit platforms, but on 64-bit
platforms, there is no check to protect us, so we add a check.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #13882
2022-09-28 10:35:13 -07: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 module: zfs: freebsd: fix unused, remove argsused 2022-05-02 15:42:58 -07: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: Provide correct file generation number 2022-02-03 15:28:01 -08: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: Catch up with recent VFS changes 2021-11-02 13:48:54 -07:00
zfs_ioctl_compat.c FreeBSD: Fix legacy compat for platform IOCs 2020-09-30 13:25:50 -07: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: vfsops: use setgen for error case 2022-02-03 15:28:01 -08:00
zfs_vnops_os.c FreeBSD: Implement hole-punching support 2022-05-17 11:15:29 -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