Message ID | 20190601074959.14036-2-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/16] uaccess: add untagged_addr definition for other arches | expand |
On 6/1/19 1:49 AM, Christoph Hellwig wrote: > From: Andrey Konovalov <andreyknvl@google.com> > > To allow arm64 syscalls to 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 architectures other than arm64. Could you reword above sentence? We are already starting off with untagged_addr() not being no-op for arm64 and sparc64. It will expand further potentially. So something more along the lines of "Define it as noop for architectures that do not support memory tagging". The first paragraph in the log can also be rewritten to be not specific to arm64. -- Khalid > > Acked-by: Catalin Marinas <catalin.marinas@arm.com> > Signed-off-by: Andrey Konovalov <andreyknvl@google.com> > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > include/linux/mm.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 0e8834ac32b7..949d43e9c0b6 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -99,6 +99,10 @@ extern int mmap_rnd_compat_bits __read_mostly; > #include <asm/pgtable.h> > #include <asm/processor.h> > > +#ifndef untagged_addr > +#define untagged_addr(addr) (addr) > +#endif > + > #ifndef __pa_symbol > #define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0)) > #endif >
On Mon, Jun 03, 2019 at 09:16:08AM -0600, Khalid Aziz wrote: > Could you reword above sentence? We are already starting off with > untagged_addr() not being no-op for arm64 and sparc64. It will expand > further potentially. So something more along the lines of "Define it as > noop for architectures that do not support memory tagging". The first > paragraph in the log can also be rewritten to be not specific to arm64. Well, as of this patch this actually is a no-op for everyone. Linus, what do you think of applying this patch (maybe with a slightly fixed up commit log) to 5.2-rc so that we remove a cross dependency between the series?
On Tue, Jun 4, 2019 at 9:27 AM Christoph Hellwig <hch@lst.de> wrote: > > On Mon, Jun 03, 2019 at 09:16:08AM -0600, Khalid Aziz wrote: > > Could you reword above sentence? We are already starting off with > > untagged_addr() not being no-op for arm64 and sparc64. It will expand > > further potentially. So something more along the lines of "Define it as > > noop for architectures that do not support memory tagging". The first > > paragraph in the log can also be rewritten to be not specific to arm64. > > Well, as of this patch this actually is a no-op for everyone. > > Linus, what do you think of applying this patch (maybe with a slightly > fixed up commit log) to 5.2-rc so that we remove a cross dependency > between the series? (I have adjusted the patch description and have just sent it out separately from the series).
diff --git a/include/linux/mm.h b/include/linux/mm.h index 0e8834ac32b7..949d43e9c0b6 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -99,6 +99,10 @@ extern int mmap_rnd_compat_bits __read_mostly; #include <asm/pgtable.h> #include <asm/processor.h> +#ifndef untagged_addr +#define untagged_addr(addr) (addr) +#endif + #ifndef __pa_symbol #define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0)) #endif