Message ID | 20191028210559.8289-2-rth@twiddle.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improvements for random.h/archrandom.h | expand |
On Mon, 28 Oct 2019 at 22:06, Richard Henderson <richard.henderson@linaro.org> wrote: > > We cannot use the pointer output without validating the > success of the random read. > > Signed-off-by: Richard Henderson <rth@twiddle.net> > --- > Cc: Kees Cook <keescook@chromium.org> > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: linux-arch@vger.kernel.org > --- > include/linux/random.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/linux/random.h b/include/linux/random.h > index f189c927fdea..84947b489649 100644 > --- a/include/linux/random.h > +++ b/include/linux/random.h > @@ -167,11 +167,11 @@ static inline void prandom_seed_state(struct rnd_state *state, u64 seed) > #ifdef CONFIG_ARCH_RANDOM > # include <asm/archrandom.h> > #else > -static inline bool arch_get_random_long(unsigned long *v) > +static inline bool __must_check arch_get_random_long(unsigned long *v) > { > return 0; For symmetry with the other cleanups, you should probably change these into 'return false' as well > } > -static inline bool arch_get_random_int(unsigned int *v) > +static inline bool __must_check arch_get_random_int(unsigned int *v) > { > return 0; > } > @@ -179,11 +179,11 @@ static inline bool arch_has_random(void) > { > return 0; > } > -static inline bool arch_get_random_seed_long(unsigned long *v) > +static inline bool __must_check arch_get_random_seed_long(unsigned long *v) > { > return 0; > } > -static inline bool arch_get_random_seed_int(unsigned int *v) > +static inline bool __must_check arch_get_random_seed_int(unsigned int *v) > { > return 0; > } > -- > 2.17.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/include/linux/random.h b/include/linux/random.h index f189c927fdea..84947b489649 100644 --- a/include/linux/random.h +++ b/include/linux/random.h @@ -167,11 +167,11 @@ static inline void prandom_seed_state(struct rnd_state *state, u64 seed) #ifdef CONFIG_ARCH_RANDOM # include <asm/archrandom.h> #else -static inline bool arch_get_random_long(unsigned long *v) +static inline bool __must_check arch_get_random_long(unsigned long *v) { return 0; } -static inline bool arch_get_random_int(unsigned int *v) +static inline bool __must_check arch_get_random_int(unsigned int *v) { return 0; } @@ -179,11 +179,11 @@ static inline bool arch_has_random(void) { return 0; } -static inline bool arch_get_random_seed_long(unsigned long *v) +static inline bool __must_check arch_get_random_seed_long(unsigned long *v) { return 0; } -static inline bool arch_get_random_seed_int(unsigned int *v) +static inline bool __must_check arch_get_random_seed_int(unsigned int *v) { return 0; }
We cannot use the pointer output without validating the success of the random read. Signed-off-by: Richard Henderson <rth@twiddle.net> --- Cc: Kees Cook <keescook@chromium.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: linux-arch@vger.kernel.org --- include/linux/random.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)