diff options
author | Martin Matuška <[email protected]> | 2021-06-25 19:28:51 +0200 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2021-11-02 13:35:47 -0700 |
commit | b7ecb4ff0d89420087cc67118069471a96b9a97c (patch) | |
tree | 4bda729255b20a154239bc27f0adde6e5eed995e /include | |
parent | af9aa4a2166e42e0cceeb9911aacb46e903b6892 (diff) |
FreeBSD: fix compilation of FreeBSD world after 29274c9f6
prng32_bounded() is available to kernel only on FreeBSD 13+.
Call inline random_get_pseudo_bytes() with correct pointer type.
To be consistent, apply to Linux as well.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Martin Matuska <[email protected]>
Closes #12282
Diffstat (limited to 'include')
-rw-r--r-- | include/os/freebsd/spl/sys/random.h | 4 | ||||
-rw-r--r-- | include/os/linux/spl/sys/random.h | 2 | ||||
-rw-r--r-- | include/sys/zfs_context.h | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/include/os/freebsd/spl/sys/random.h b/include/os/freebsd/spl/sys/random.h index 746275e53..7583166e7 100644 --- a/include/os/freebsd/spl/sys/random.h +++ b/include/os/freebsd/spl/sys/random.h @@ -51,7 +51,7 @@ random_get_pseudo_bytes(uint8_t *p, size_t s) static inline uint32_t random_in_range(uint32_t range) { -#if __FreeBSD_version >= 1300108 +#if defined(_KERNEL) && __FreeBSD_version >= 1300108 return (prng32_bounded(range)); #else uint32_t r; @@ -61,7 +61,7 @@ random_in_range(uint32_t range) if (range == 1) return (0); - (void) random_get_pseudo_bytes((void *)&r, sizeof (r)); + (void) random_get_pseudo_bytes((uint8_t *)&r, sizeof (r)); return (r % range); #endif diff --git a/include/os/linux/spl/sys/random.h b/include/os/linux/spl/sys/random.h index 2c446e155..52e97e1ce 100644 --- a/include/os/linux/spl/sys/random.h +++ b/include/os/linux/spl/sys/random.h @@ -46,7 +46,7 @@ random_in_range(uint32_t range) if (range == 1) return (0); - (void) random_get_pseudo_bytes((void *)&r, sizeof (r)); + (void) random_get_pseudo_bytes((uint8_t *)&r, sizeof (r)); return (r % range); } diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h index 3cc0afc21..a6ff94317 100644 --- a/include/sys/zfs_context.h +++ b/include/sys/zfs_context.h @@ -650,7 +650,7 @@ random_in_range(uint32_t range) if (range == 1) return (0); - (void) random_get_pseudo_bytes((void *)&r, sizeof (r)); + (void) random_get_pseudo_bytes((uint8_t *)&r, sizeof (r)); return (r % range); } |