Message ID | 20190222144301.3516708-1-arnd@arndb.de |
---|---|
State | Accepted |
Commit | 366e37e4da23f9df498cc9577cadcb354f7bd431 |
Headers | show |
Series | arm64: avoid clang warning about self-assignment | expand |
On Fri, Feb 22, 2019 at 3:43 PM Arnd Bergmann <arnd@arndb.de> wrote: > > Building a preprocessed source file for arm64 now always produces > a warning with clang because of the page_to_virt() macro assigning > a variable to itself. > > Adding a new temporary variable avoids this issue. > > Fixes: 2813b9c02962 ("kasan, mm, arm64: tag non slab memory allocated via pagealloc") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Andrey Konovalov <andreyknvl@google.com> Thanks! > --- > arch/arm64/include/asm/memory.h | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h > index b01ef0180a03..290195168bb3 100644 > --- a/arch/arm64/include/asm/memory.h > +++ b/arch/arm64/include/asm/memory.h > @@ -312,8 +312,9 @@ static inline void *phys_to_virt(phys_addr_t x) > #define page_to_virt(page) ({ \ > unsigned long __addr = \ > ((__page_to_voff(page)) | PAGE_OFFSET); \ > - __addr = __tag_set(__addr, page_kasan_tag(page)); \ > - ((void *)__addr); \ > + unsigned long __addr_tag = \ > + __tag_set(__addr, page_kasan_tag(page)); \ > + ((void *)__addr_tag); \ > }) > > #define virt_to_page(vaddr) ((struct page *)((__virt_to_pgoff(vaddr)) | VMEMMAP_START)) > -- > 2.20.0 >
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h index b01ef0180a03..290195168bb3 100644 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@ -312,8 +312,9 @@ static inline void *phys_to_virt(phys_addr_t x) #define page_to_virt(page) ({ \ unsigned long __addr = \ ((__page_to_voff(page)) | PAGE_OFFSET); \ - __addr = __tag_set(__addr, page_kasan_tag(page)); \ - ((void *)__addr); \ + unsigned long __addr_tag = \ + __tag_set(__addr, page_kasan_tag(page)); \ + ((void *)__addr_tag); \ }) #define virt_to_page(vaddr) ((struct page *)((__virt_to_pgoff(vaddr)) | VMEMMAP_START))
Building a preprocessed source file for arm64 now always produces a warning with clang because of the page_to_virt() macro assigning a variable to itself. Adding a new temporary variable avoids this issue. Fixes: 2813b9c02962 ("kasan, mm, arm64: tag non slab memory allocated via pagealloc") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm64/include/asm/memory.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- 2.20.0