On Wed, 29 Apr 2020, Josh Poimboeuf wrote: > s390_kernel_write()'s function type is almost identical to memcpy(). > Change its return type to "void *" so they can be used interchangeably. > > Cc: linux-s390@xxxxxxxxxxxxxxx > Cc: heiko.carstens@xxxxxxxxxx > Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Acked-by: Joe Lawrence <joe.lawrence@xxxxxxxxxx> > Acked-by: Miroslav Benes <mbenes@xxxxxxx> Also for this one -- s390 folks, could you please provide your Ack for taking things through livepatching.git as part of this series? Thanks. > --- > arch/s390/include/asm/uaccess.h | 2 +- > arch/s390/mm/maccess.c | 9 ++++++--- > 2 files changed, 7 insertions(+), 4 deletions(-) > > diff --git a/arch/s390/include/asm/uaccess.h b/arch/s390/include/asm/uaccess.h > index a470f1fa9f2a..324438889fe1 100644 > --- a/arch/s390/include/asm/uaccess.h > +++ b/arch/s390/include/asm/uaccess.h > @@ -276,6 +276,6 @@ static inline unsigned long __must_check clear_user(void __user *to, unsigned lo > } > > int copy_to_user_real(void __user *dest, void *src, unsigned long count); > -void s390_kernel_write(void *dst, const void *src, size_t size); > +void *s390_kernel_write(void *dst, const void *src, size_t size); > > #endif /* __S390_UACCESS_H */ > diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c > index de7ca4b6718f..22a0be655f27 100644 > --- a/arch/s390/mm/maccess.c > +++ b/arch/s390/mm/maccess.c > @@ -55,19 +55,22 @@ static notrace long s390_kernel_write_odd(void *dst, const void *src, size_t siz > */ > static DEFINE_SPINLOCK(s390_kernel_write_lock); > > -void notrace s390_kernel_write(void *dst, const void *src, size_t size) > +notrace void *s390_kernel_write(void *dst, const void *src, size_t size) > { > + void *tmp = dst; > unsigned long flags; > long copied; > > spin_lock_irqsave(&s390_kernel_write_lock, flags); > while (size) { > - copied = s390_kernel_write_odd(dst, src, size); > - dst += copied; > + copied = s390_kernel_write_odd(tmp, src, size); > + tmp += copied; > src += copied; > size -= copied; > } > spin_unlock_irqrestore(&s390_kernel_write_lock, flags); > + > + return dst; > } > > static int __no_sanitize_address __memcpy_real(void *dest, void *src, size_t count) > -- > 2.21.1 > -- Jiri Kosina SUSE Labs