Message ID | c9028422854fb5bfb79d798397b30d4701207062.1541687720.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: untag user pointers passed to the kernel | expand |
On Thu, Nov 08, 2018 at 03:36:09PM +0100, Andrey Konovalov wrote: > diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h > index efe79c1cdd47..c045b4eff95e 100644 > --- a/include/linux/uaccess.h > +++ b/include/linux/uaccess.h > @@ -13,6 +13,10 @@ > > #include <asm/uaccess.h> > > +#ifndef untagged_addr > +#define untagged_addr(addr) addr > +#endif Nitpick: add braces around (addr). Otherwise: Acked-by: Catalin Marinas <catalin.marinas@arm.com>
On Thu, Nov 29, 2018 at 7:23 PM Catalin Marinas <catalin.marinas@arm.com> wrote: > > On Thu, Nov 08, 2018 at 03:36:09PM +0100, Andrey Konovalov wrote: > > diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h > > index efe79c1cdd47..c045b4eff95e 100644 > > --- a/include/linux/uaccess.h > > +++ b/include/linux/uaccess.h > > @@ -13,6 +13,10 @@ > > > > #include <asm/uaccess.h> > > > > +#ifndef untagged_addr > > +#define untagged_addr(addr) addr > > +#endif > > Nitpick: add braces around (addr). Otherwise: Will do in v9, thanks! > > Acked-by: Catalin Marinas <catalin.marinas@arm.com>
diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h index efe79c1cdd47..c045b4eff95e 100644 --- a/include/linux/uaccess.h +++ b/include/linux/uaccess.h @@ -13,6 +13,10 @@ #include <asm/uaccess.h> +#ifndef untagged_addr +#define untagged_addr(addr) addr +#endif + /* * Architectures should provide two primitives (raw_copy_{to,from}_user()) * and get rid of their private instances of copy_{to,from}_user() and
To allow arm64 syscalls accept tagged pointers from userspace, we must untag them when they are passed to the kernel. Since untagging is done in generic parts of the kernel, the untagged_addr macro needs to be defined for all architectures. Define it as a noop for other architectures besides arm64. Signed-off-by: Andrey Konovalov <andreyknvl@google.com> --- include/linux/uaccess.h | 4 ++++ 1 file changed, 4 insertions(+)