From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qian Cai Date: Tue, 15 Oct 2019 18:09:42 +0000 Subject: Re: [PATCH V6 2/2] mm/debug: Add tests validating architecture page table helpers Message-Id: <1571162982.5937.42.camel@lca.pw> List-Id: References: <1571131302-32290-1-git-send-email-anshuman.khandual@arm.com> <1571131302-32290-3-git-send-email-anshuman.khandual@arm.com> In-Reply-To: <1571131302-32290-3-git-send-email-anshuman.khandual@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Anshuman Khandual , linux-mm@kvack.org Cc: Mark Rutland , linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , James Hogan , Heiko Carstens , Michal Hocko , Dave Hansen , Paul Mackerras , sparclinux@vger.kernel.org, Thomas Gleixner , linux-s390@vger.kernel.org, Jason Gunthorpe , Michael Ellerman , x86@kernel.org, Russell King - ARM Linux , Matthew Wilcox , Steven Price , Tetsuo Handa , Gerald Schaefer , linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Kees Cook , Masahiro Yamada , Mark Brown , "Kirill A . Shutemov" , Dan Williams , Vlastimil Babka , Christophe Leroy , Sri Krishna chowdary , Ard Biesheuvel , Greg Kroah-Hartman , linux-mips@vger.kernel.org, Ralf Baechle , linux-kernel@vger.kernel.org, Paul Burton , Mike Rapoport , Vineet Gupta , Martin Schwidefsky , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" On Tue, 2019-10-15 at 14:51 +0530, Anshuman Khandual wrote: > +static unsigned long __init get_random_vaddr(void) > +{ > + unsigned long random_vaddr, random_pages, total_user_pages; > + > + total_user_pages = (TASK_SIZE - FIRST_USER_ADDRESS) / PAGE_SIZE; > + > + random_pages = get_random_long() % total_user_pages; > + random_vaddr = FIRST_USER_ADDRESS + random_pages * PAGE_SIZE; > + > + WARN_ON(random_vaddr > TASK_SIZE); > + WARN_ON(random_vaddr < FIRST_USER_ADDRESS); It would be nice if this patch does not introduce a new W=1 GCC warning here on x86 because FIRST_USER_ADDRESS is 0, and GCC think the code is dumb because "random_vaddr" is unsigned, In file included from ./arch/x86/include/asm/bug.h:83,                  from ./include/linux/bug.h:5,                  from ./include/linux/mmdebug.h:5,                  from ./include/linux/gfp.h:5,                  from mm/debug_vm_pgtable.c:13: mm/debug_vm_pgtable.c: In function ‘get_random_vaddr’: mm/debug_vm_pgtable.c:359:23: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]   WARN_ON(random_vaddr < FIRST_USER_ADDRESS);                        ^ ./include/asm-generic/bug.h:113:25: note: in definition of macro ‘WARN_ON’   int __ret_warn_on = !!(condition);    \                          ^~~~~~~~~