From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kirill A. Shutemov" Subject: Re: [PATCH] asm-generic: fix variable 'p4d' set but not used Date: Tue, 6 Aug 2019 13:45:16 +0300 Message-ID: <20190806104516.yvioe2t4w2vwvs64@box> References: <1564774882-22926-1-git-send-email-cai@lca.pw> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1564774882-22926-1-git-send-email-cai@lca.pw> Sender: linux-kernel-owner@vger.kernel.org To: Qian Cai Cc: akpm@linux-foundation.org, arnd@arndb.de, kirill.shutemov@linux.intel.com, mhocko@suse.com, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arch.vger.kernel.org On Fri, Aug 02, 2019 at 03:41:22PM -0400, Qian Cai wrote: > GCC throws a warning on an arm64 system since the commit 9849a5697d3d > ("arch, mm: convert all architectures to use 5level-fixup.h"), > > mm/kasan/init.c: In function 'kasan_free_p4d': > mm/kasan/init.c:344:9: warning: variable 'p4d' set but not used > [-Wunused-but-set-variable] > p4d_t *p4d; > ^~~ > > because p4d_none() in "5level-fixup.h" is compiled away while it is a > static inline function in "pgtable-nopud.h". However, if converted > p4d_none() to a static inline there, powerpc would be unhappy as it > reads those in assembler language in > "arch/powerpc/include/asm/book3s/64/pgtable.h", > > ./include/asm-generic/5level-fixup.h: Assembler messages: > ./include/asm-generic/5level-fixup.h:20: Error: unrecognized opcode: > `static' > ./include/asm-generic/5level-fixup.h:21: Error: junk at end of line, > first unrecognized character is `{' > ./include/asm-generic/5level-fixup.h:22: Error: unrecognized opcode: > `return' > ./include/asm-generic/5level-fixup.h:23: Error: junk at end of line, > first unrecognized character is `}' > ./include/asm-generic/5level-fixup.h:25: Error: unrecognized opcode: > `static' > ./include/asm-generic/5level-fixup.h:26: Error: junk at end of line, > first unrecognized character is `{' > ./include/asm-generic/5level-fixup.h:27: Error: unrecognized opcode: > `return' > ./include/asm-generic/5level-fixup.h:28: Error: junk at end of line, > first unrecognized character is `}' > ./include/asm-generic/5level-fixup.h:30: Error: unrecognized opcode: > `static' > ./include/asm-generic/5level-fixup.h:31: Error: junk at end of line, > first unrecognized character is `{' > ./include/asm-generic/5level-fixup.h:32: Error: unrecognized opcode: > `return' > ./include/asm-generic/5level-fixup.h:33: Error: junk at end of line, > first unrecognized character is `}' > make[2]: *** [scripts/Makefile.build:375: > arch/powerpc/kvm/book3s_hv_rmhandlers.o] Error 1 > > Fix it by reference the variable in the macro instead. > > Signed-off-by: Qian Cai Acked-by: Kirill A. Shutemov -- Kirill A. Shutemov From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-f68.google.com ([209.85.208.68]:45908 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730068AbfHFKpT (ORCPT ); Tue, 6 Aug 2019 06:45:19 -0400 Received: by mail-ed1-f68.google.com with SMTP id x19so75941568eda.12 for ; Tue, 06 Aug 2019 03:45:18 -0700 (PDT) Date: Tue, 6 Aug 2019 13:45:16 +0300 From: "Kirill A. Shutemov" Subject: Re: [PATCH] asm-generic: fix variable 'p4d' set but not used Message-ID: <20190806104516.yvioe2t4w2vwvs64@box> References: <1564774882-22926-1-git-send-email-cai@lca.pw> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1564774882-22926-1-git-send-email-cai@lca.pw> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Qian Cai Cc: akpm@linux-foundation.org, arnd@arndb.de, kirill.shutemov@linux.intel.com, mhocko@suse.com, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Message-ID: <20190806104516.HwNrjxxgrPVyZ166UEZnpotH3BcjB9cIdYR5jmMw8mY@z> On Fri, Aug 02, 2019 at 03:41:22PM -0400, Qian Cai wrote: > GCC throws a warning on an arm64 system since the commit 9849a5697d3d > ("arch, mm: convert all architectures to use 5level-fixup.h"), > > mm/kasan/init.c: In function 'kasan_free_p4d': > mm/kasan/init.c:344:9: warning: variable 'p4d' set but not used > [-Wunused-but-set-variable] > p4d_t *p4d; > ^~~ > > because p4d_none() in "5level-fixup.h" is compiled away while it is a > static inline function in "pgtable-nopud.h". However, if converted > p4d_none() to a static inline there, powerpc would be unhappy as it > reads those in assembler language in > "arch/powerpc/include/asm/book3s/64/pgtable.h", > > ./include/asm-generic/5level-fixup.h: Assembler messages: > ./include/asm-generic/5level-fixup.h:20: Error: unrecognized opcode: > `static' > ./include/asm-generic/5level-fixup.h:21: Error: junk at end of line, > first unrecognized character is `{' > ./include/asm-generic/5level-fixup.h:22: Error: unrecognized opcode: > `return' > ./include/asm-generic/5level-fixup.h:23: Error: junk at end of line, > first unrecognized character is `}' > ./include/asm-generic/5level-fixup.h:25: Error: unrecognized opcode: > `static' > ./include/asm-generic/5level-fixup.h:26: Error: junk at end of line, > first unrecognized character is `{' > ./include/asm-generic/5level-fixup.h:27: Error: unrecognized opcode: > `return' > ./include/asm-generic/5level-fixup.h:28: Error: junk at end of line, > first unrecognized character is `}' > ./include/asm-generic/5level-fixup.h:30: Error: unrecognized opcode: > `static' > ./include/asm-generic/5level-fixup.h:31: Error: junk at end of line, > first unrecognized character is `{' > ./include/asm-generic/5level-fixup.h:32: Error: unrecognized opcode: > `return' > ./include/asm-generic/5level-fixup.h:33: Error: junk at end of line, > first unrecognized character is `}' > make[2]: *** [scripts/Makefile.build:375: > arch/powerpc/kvm/book3s_hv_rmhandlers.o] Error 1 > > Fix it by reference the variable in the macro instead. > > Signed-off-by: Qian Cai Acked-by: Kirill A. Shutemov -- Kirill A. Shutemov