Messages in this thread | | | From | Ard Biesheuvel <> | Date | Thu, 11 Feb 2021 14:35:08 +0100 | Subject | Re: [PATCH] arm64: Fix warning in mte_get_random_tag() |
| |
On Thu, 11 Feb 2021 at 13:57, Vincenzo Frascino <vincenzo.frascino@arm.com> wrote: > > The simplification of mte_get_random_tag() caused the introduction of the > warning below: > > In file included from arch/arm64/include/asm/kasan.h:9, > from include/linux/kasan.h:16, > from mm/kasan/common.c:14: > mm/kasan/common.c: In function ‘mte_get_random_tag’: > arch/arm64/include/asm/mte-kasan.h:45:9: warning: ‘addr’ is used > uninitialized [-Wuninitialized] > 45 | asm(__MTE_PREAMBLE "irg %0, %0" > | > > Fix the warning initializing the address to NULL. > > Note: mte_get_random_tag() returns a tag and it never dereferences the address, > hence 'addr' can be safely initialized to NULL. > > Fixes: c8f8de4c0887 ("arm64: kasan: simplify and inline MTE functions") > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: Andrey Konovalov <andreyknvl@google.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> > --- > > This patch is based on linux-next/akpm > > arch/arm64/include/asm/mte-kasan.h | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/include/asm/mte-kasan.h b/arch/arm64/include/asm/mte-kasan.h > index 3d58489228c0..b2850b750726 100644 > --- a/arch/arm64/include/asm/mte-kasan.h > +++ b/arch/arm64/include/asm/mte-kasan.h > @@ -40,7 +40,12 @@ static inline u8 mte_get_mem_tag(void *addr) > /* Generate a random tag. */ > static inline u8 mte_get_random_tag(void) > { > - void *addr; > + /* > + * mte_get_random_tag() returns a tag and it > + * never dereferences the address, hence addr > + * can be safely initialized to NULL. > + */ > + void *addr = NULL; > > asm(__MTE_PREAMBLE "irg %0, %0" > : "+r" (addr)); > -- > 2.30.0 >
Might it be better to simply change the asm constraint to "=r" ?
| |