Message ID | 20191028210559.8289-7-rth@twiddle.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improvements for random.h/archrandom.h | expand |
On 28.10.19 22:05, Richard Henderson wrote: > We cannot use the pointer output without validating the > success of the random read. > > Signed-off-by: Richard Henderson <rth@twiddle.net> > --- > Cc: Heiko Carstens <heiko.carstens@de.ibm.com> > Cc: Vasily Gorbik <gor@linux.ibm.com> > Cc: Christian Borntraeger <borntraeger@de.ibm.com> > --- > arch/s390/include/asm/archrandom.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/s390/include/asm/archrandom.h b/arch/s390/include/asm/archrandom.h > index c67b82dfa558..f3f1ee0a8c38 100644 > --- a/arch/s390/include/asm/archrandom.h > +++ b/arch/s390/include/asm/archrandom.h > @@ -33,17 +33,17 @@ static inline bool arch_has_random_seed(void) > return false; > } > > -static inline bool arch_get_random_long(unsigned long *v) > +static inline bool __must_check arch_get_random_long(unsigned long *v) > { > return false; > } > > -static inline bool arch_get_random_int(unsigned int *v) > +static inline bool __must_check arch_get_random_int(unsigned int *v) > { > return false; > } > > -static inline bool arch_get_random_seed_long(unsigned long *v) > +static inline bool __must_check arch_get_random_seed_long(unsigned long *v) > { > if (static_branch_likely(&s390_arch_random_available)) { > return s390_arch_random_generate((u8 *)v, sizeof(*v)); > @@ -51,7 +51,7 @@ static inline bool arch_get_random_seed_long(unsigned long *v) > return false; > } > > -static inline bool arch_get_random_seed_int(unsigned int *v) > +static inline bool __must_check arch_get_random_seed_int(unsigned int *v) > { > if (static_branch_likely(&s390_arch_random_available)) { > return s390_arch_random_generate((u8 *)v, sizeof(*v)); Fine with me, Thanks, reviewed, build and tested. You may add my reviewed-by: Harald Freudenberger <freude@linux.ibm.com> However, will this go into the kernel tree via crypto or s390 subsystem ?
On 10/29/19 8:26 AM, Harald Freudenberger wrote: > Fine with me, Thanks, reviewed, build and tested. > You may add my reviewed-by: Harald Freudenberger <freude@linux.ibm.com> > However, will this go into the kernel tree via crypto or s390 subsystem ? That's an excellent question. As an API decision, perhaps going via crypto makes more sense, but none of the patches are dependent on one another, so they could go through separate architecture trees. It has been a long time since I have done much kernel work; I'm open to suggestions on the subject. r~
On 29.10.19 14:18, Richard Henderson wrote: > On 10/29/19 8:26 AM, Harald Freudenberger wrote: >> Fine with me, Thanks, reviewed, build and tested. >> You may add my reviewed-by: Harald Freudenberger <freude@linux.ibm.com> >> However, will this go into the kernel tree via crypto or s390 subsystem ? > That's an excellent question. > > As an API decision, perhaps going via crypto makes more sense, > but none of the patches are dependent on one another, so they > could go through separate architecture trees. > > It has been a long time since I have done much kernel work; > I'm open to suggestions on the subject. > > > r~ Since the change needs to be done in include/linux/random.h and in parallel with all the arch files in arch/xxx/include/asm/archrandom.h it should go in one shot. I'd suggest to post the patch series to linux-crypto and let Herbert Xu handle this.
diff --git a/arch/s390/include/asm/archrandom.h b/arch/s390/include/asm/archrandom.h index c67b82dfa558..f3f1ee0a8c38 100644 --- a/arch/s390/include/asm/archrandom.h +++ b/arch/s390/include/asm/archrandom.h @@ -33,17 +33,17 @@ static inline bool arch_has_random_seed(void) return false; } -static inline bool arch_get_random_long(unsigned long *v) +static inline bool __must_check arch_get_random_long(unsigned long *v) { return false; } -static inline bool arch_get_random_int(unsigned int *v) +static inline bool __must_check arch_get_random_int(unsigned int *v) { return false; } -static inline bool arch_get_random_seed_long(unsigned long *v) +static inline bool __must_check arch_get_random_seed_long(unsigned long *v) { if (static_branch_likely(&s390_arch_random_available)) { return s390_arch_random_generate((u8 *)v, sizeof(*v)); @@ -51,7 +51,7 @@ static inline bool arch_get_random_seed_long(unsigned long *v) return false; } -static inline bool arch_get_random_seed_int(unsigned int *v) +static inline bool __must_check arch_get_random_seed_int(unsigned int *v) { if (static_branch_likely(&s390_arch_random_available)) { return s390_arch_random_generate((u8 *)v, sizeof(*v));
We cannot use the pointer output without validating the success of the random read. Signed-off-by: Richard Henderson <rth@twiddle.net> --- Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> --- arch/s390/include/asm/archrandom.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)