[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <nycvar.YFH.7.76.2005071534170.25812@cbobk.fhfr.pm>
Date: Thu, 7 May 2020 15:36:48 +0200 (CEST)
From: Jiri Kosina <jikos@...nel.org>
To: Josh Poimboeuf <jpoimboe@...hat.com>
cc: live-patching@...r.kernel.org, linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Jessica Yu <jeyu@...nel.org>,
Joe Lawrence <joe.lawrence@...hat.com>,
Miroslav Benes <mbenes@...e.cz>, linux-s390@...r.kernel.org,
heiko.carstens@...ibm.com,
Gerald Schaefer <gerald.schaefer@...ibm.com>
Subject: Re: [PATCH v4 05/11] s390: Change s390_kernel_write() return type
to match memcpy()
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@...r.kernel.org
> Cc: heiko.carstens@...ibm.com
> Signed-off-by: Josh Poimboeuf <jpoimboe@...hat.com>
> Acked-by: Joe Lawrence <joe.lawrence@...hat.com>
> Acked-by: Miroslav Benes <mbenes@...e.cz>
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
Powered by blists - more mailing lists