random: use proper return types on get_random_{int,long}_wait()
authorJason A. Donenfeld <Jason@zx2c4.com>
Fri, 13 May 2022 10:32:23 +0000 (12:32 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 19 May 2022 14:54:15 +0000 (16:54 +0200)
Before these were returning signed values, but the API is intended to be
used with unsigned values.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
include/linux/random.h

index 97f879e..883bf9a 100644 (file)
@@ -90,18 +90,18 @@ static inline int get_random_bytes_wait(void *buf, size_t nbytes)
        return ret;
 }
 
-#define declare_get_random_var_wait(var) \
-       static inline int get_random_ ## var ## _wait(var *out) { \
+#define declare_get_random_var_wait(name, ret_type) \
+       static inline int get_random_ ## name ## _wait(ret_type *out) { \
                int ret = wait_for_random_bytes(); \
                if (unlikely(ret)) \
                        return ret; \
-               *out = get_random_ ## var(); \
+               *out = get_random_ ## name(); \
                return 0; \
        }
-declare_get_random_var_wait(u32)
-declare_get_random_var_wait(u64)
-declare_get_random_var_wait(int)
-declare_get_random_var_wait(long)
+declare_get_random_var_wait(u32, u32)
+declare_get_random_var_wait(u64, u32)
+declare_get_random_var_wait(int, unsigned int)
+declare_get_random_var_wait(long, unsigned long)
 #undef declare_get_random_var
 
 /*