uaccess: add noop untagged_addr definition
diff mbox series

Message ID 8ab5cd1813b0890f8780018e9784838456ace49e.1559648669.git.andreyknvl@google.com
State New
Headers show
Series
  • uaccess: add noop untagged_addr definition
Related show

Commit Message

Andrey Konovalov June 4, 2019, 11:44 a.m. UTC
Architectures that support memory tagging have a need to perform untagging
(stripping the tag) in various parts of the kernel. This patch adds an
untagged_addr() macro, which is defined as noop for architectures that do
not support memory tagging. The oncoming patch series will define it at
least for sparc64 and arm64.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
---
 include/linux/mm.h | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Christian König June 4, 2019, 11:46 a.m. UTC | #1
Am 04.06.19 um 13:44 schrieb Andrey Konovalov:
> Architectures that support memory tagging have a need to perform untagging
> (stripping the tag) in various parts of the kernel. This patch adds an
> untagged_addr() macro, which is defined as noop for architectures that do
> not support memory tagging. The oncoming patch series will define it at
> least for sparc64 and arm64.
>
> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
> Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
> ---
>   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
> +

Maybe add a comment what tagging actually is? Cause that is not really 
obvious from the context.

Christian.

>   #ifndef __pa_symbol
>   #define __pa_symbol(x)  __pa(RELOC_HIDE((unsigned long)(x), 0))
>   #endif
Andrey Konovalov June 4, 2019, 11:48 a.m. UTC | #2
On Tue, Jun 4, 2019 at 1:46 PM Koenig, Christian
<Christian.Koenig@amd.com> wrote:
>
> Am 04.06.19 um 13:44 schrieb Andrey Konovalov:
> > Architectures that support memory tagging have a need to perform untagging
> > (stripping the tag) in various parts of the kernel. This patch adds an
> > untagged_addr() macro, which is defined as noop for architectures that do
> > not support memory tagging. The oncoming patch series will define it at
> > least for sparc64 and arm64.
> >
> > Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> > Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
> > Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
> > ---
> >   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
> > +
>
> Maybe add a comment what tagging actually is? Cause that is not really
> obvious from the context.

Hi,

Do you mean a comment in the code or an explanation in the patch description?

Thanks!

>
> Christian.
>
> >   #ifndef __pa_symbol
> >   #define __pa_symbol(x)  __pa(RELOC_HIDE((unsigned long)(x), 0))
> >   #endif
>
Christian König June 4, 2019, 11:49 a.m. UTC | #3
Am 04.06.19 um 13:48 schrieb Andrey Konovalov:
> On Tue, Jun 4, 2019 at 1:46 PM Koenig, Christian
> <Christian.Koenig@amd.com> wrote:
>> Am 04.06.19 um 13:44 schrieb Andrey Konovalov:
>>> Architectures that support memory tagging have a need to perform untagging
>>> (stripping the tag) in various parts of the kernel. This patch adds an
>>> untagged_addr() macro, which is defined as noop for architectures that do
>>> not support memory tagging. The oncoming patch series will define it at
>>> least for sparc64 and arm64.
>>>
>>> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
>>> Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
>>> Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
>>> ---
>>>    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
>>> +
>> Maybe add a comment what tagging actually is? Cause that is not really
>> obvious from the context.
> Hi,
>
> Do you mean a comment in the code or an explanation in the patch description?

The code, the patch description actually sounds good to me.

Christian.

>
> Thanks!
>
>> Christian.
>>
>>>    #ifndef __pa_symbol
>>>    #define __pa_symbol(x)  __pa(RELOC_HIDE((unsigned long)(x), 0))
>>>    #endif
Andrey Konovalov June 4, 2019, 12:05 p.m. UTC | #4
On Tue, Jun 4, 2019 at 1:49 PM Koenig, Christian
<Christian.Koenig@amd.com> wrote:
>
> Am 04.06.19 um 13:48 schrieb Andrey Konovalov:
> > On Tue, Jun 4, 2019 at 1:46 PM Koenig, Christian
> > <Christian.Koenig@amd.com> wrote:
> >> Am 04.06.19 um 13:44 schrieb Andrey Konovalov:
> >>> Architectures that support memory tagging have a need to perform untagging
> >>> (stripping the tag) in various parts of the kernel. This patch adds an
> >>> untagged_addr() macro, which is defined as noop for architectures that do
> >>> not support memory tagging. The oncoming patch series will define it at
> >>> least for sparc64 and arm64.
> >>>
> >>> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> >>> Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
> >>> Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
> >>> ---
> >>>    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
> >>> +
> >> Maybe add a comment what tagging actually is? Cause that is not really
> >> obvious from the context.
> > Hi,
> >
> > Do you mean a comment in the code or an explanation in the patch description?
>
> The code, the patch description actually sounds good to me.

Sent v2, thanks!

>
> Christian.
>
> >
> > Thanks!
> >
> >> Christian.
> >>
> >>>    #ifndef __pa_symbol
> >>>    #define __pa_symbol(x)  __pa(RELOC_HIDE((unsigned long)(x), 0))
> >>>    #endif
>

Patch
diff mbox 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