lkml.org 
[lkml]   [2023]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 07/36] arm64/gcs: Provide copy_to_user_gcs()
On Mon, Aug 07, 2023 at 11:00:12PM +0100, Mark Brown wrote:
> +static inline int copy_to_user_gcs(unsigned long __user *addr,
> + unsigned long *val,
> + int count)
> +{
> + int ret = -EFAULT;
> + int i;
> +
> + if (access_ok((char __user *)addr, count * sizeof(u64))) {
> + uaccess_ttbr0_enable();
> + for (i = 0; i < count; i++) {
> + ret = gcssttr(addr++, *val++);
> + if (ret != 0)
> + break;
> + }
> + uaccess_ttbr0_disable();
> + }
> +
> + return ret;
> +}

I think it makes more sense to have a put_user_gcs() of a single
element. I've only seen it used with 2 elements in the signal code but
we could as well do two put_user_gcs() calls (as we do for other stuff
that we push to the signal frame).

--
Catalin

\
 
 \ /
  Last update: 2023-08-11 18:36    [W:0.536 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site