Re: [PATCH v4 05/11] s390: Change s390_kernel_write() return type to match memcpy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux