From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84790C433F5 for ; Mon, 14 Feb 2022 06:26:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E228E6B0072; Mon, 14 Feb 2022 01:26:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DD2EA6B0073; Mon, 14 Feb 2022 01:26:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC1216B0078; Mon, 14 Feb 2022 01:26:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0048.hostedemail.com [216.40.44.48]) by kanga.kvack.org (Postfix) with ESMTP id BE4BB6B0072 for ; Mon, 14 Feb 2022 01:26:30 -0500 (EST) Received: from smtpin20.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 71B329ACBD for ; Mon, 14 Feb 2022 06:26:30 +0000 (UTC) X-FDA: 79140401340.20.90AA71C Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by imf06.hostedemail.com (Postfix) with ESMTP id 74303180003 for ; Mon, 14 Feb 2022 06:26:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644819988; x=1676355988; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=7Akr3Iy1pNjvSaXu2WwFVteZikXJ6PrIHYN14dG1kFs=; b=kMKhnelxWFctpUtHOQd2xaqGyPKBJUiZQLiFn6pkLDDDYuPQ0EEfekFm QwhM8GyQbvN3+xgX/FHlHSwbMVEa08clV3+DytJx+8NFiW6QCoyDR0ihP t4XRUKTM7ycb2ytZSl5+bWprLDWOmMu7emYHnTthdx7d2d5S5ZiKeJnbt SaaKffEYjoB0IzUpkre0//lmCOxjvHUocVX7S6GwvJ+DWA+cGHRgh0eY5 swEwPk+vrZplpcWz+u5Ce4RzLmm+6cmQEySxXpiSiKRqQXLfj5gHfDZdG ohBtZJMKITzgsa+91S8CC+ZoYhyfDU2nIpCsqzzkb3vL64i4nuUfLAdbk g==; X-IronPort-AV: E=McAfee;i="6200,9189,10257"; a="310761432" X-IronPort-AV: E=Sophos;i="5.88,367,1635231600"; d="scan'208";a="310761432" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2022 22:26:27 -0800 X-IronPort-AV: E=Sophos;i="5.88,367,1635231600"; d="scan'208";a="527924127" Received: from rongch2-mobl.ccr.corp.intel.com (HELO [10.255.30.201]) ([10.255.30.201]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2022 22:26:25 -0800 Subject: Re: [kbuild-all] Re: include/linux/build_bug.h:78:41: error: static assertion failed: "offsetof(struct page, mapping) == offsetof(struct folio, mapping)" To: Wei Yang , kernel test robot Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, "Matthew Wilcox (Oracle)" , Andrew Morton , Linux Memory Management List References: <202202131932.diaqTbxo-lkp@intel.com> <20220214000500.4ao6vrh4l33donqz@master> From: "Chen, Rong A" Message-ID: <25632145-1c75-edc3-3efa-4c0bf8574678@intel.com> Date: Mon, 14 Feb 2022 14:26:22 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <20220214000500.4ao6vrh4l33donqz@master> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 74303180003 X-Rspam-User: Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=kMKhnelx; spf=none (imf06.hostedemail.com: domain of rong.a.chen@intel.com has no SPF policy when checking 134.134.136.31) smtp.mailfrom=rong.a.chen@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Stat-Signature: hsst7am59zh8uj9yo5wji7wuqbrcoij3 X-HE-Tag: 1644819988-610122 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 2/14/2022 8:05 AM, Wei Yang wrote: > On Sun, Feb 13, 2022 at 07:51:34PM +0800, kernel test robot wrote: >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master >> head: b81b1829e7e39f6cebdf6e4d5484eacbceda8554 >> commit: 536f4217ced62b671bd759f6b549621a5654a70f mm: page->mapping folio->mapping should have the same offset >> date: 2 weeks ago >> config: parisc-randconfig-r004-20220213 (https://download.01.org/0day-ci/archive/20220213/202202131932.diaqTbxo-lkp@intel.com/config) >> compiler: hppa64-linux-gcc (GCC) 11.2.0 >> reproduce (this is a W=1 build): >> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=536f4217ced62b671bd759f6b549621a5654a70f >> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >> git fetch --no-tags linus master >> git checkout 536f4217ced62b671bd759f6b549621a5654a70f >> # save the config file to linux build tree >> mkdir build_dir >> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc prepare >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kernel test robot >> >> All errors (new ones prefixed by >>): >> >> 18 | if (!(word & (~0ul << 32))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:20:22: warning: left shift count >= width of type [-Wshift-count-overflow] >> 20 | word <<= 32; >> | ^~~ >> include/asm-generic/bitops/__fls.h:23:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 23 | if (!(word & (~0ul << (BITS_PER_LONG-16)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:27:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 27 | if (!(word & (~0ul << (BITS_PER_LONG-8)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:31:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 31 | if (!(word & (~0ul << (BITS_PER_LONG-4)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:35:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 35 | if (!(word & (~0ul << (BITS_PER_LONG-2)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:39:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 39 | if (!(word & (~0ul << (BITS_PER_LONG-1)))) >> | ^~ >> In file included from arch/parisc/include/asm/bitops.h:201, >> from include/linux/bitops.h:33, >> from include/linux/kernel.h:22, >> from arch/parisc/include/asm/bug.h:5, >> from include/linux/bug.h:5, >> from include/linux/thread_info.h:13, >> from include/asm-generic/preempt.h:5, >> from ./arch/parisc/include/generated/asm/preempt.h:1, >> from include/linux/preempt.h:78, >> from include/linux/rcupdate.h:27, >> from include/linux/rculist.h:11, >> from include/linux/pid.h:5, >> from include/linux/sched.h:14, >> from arch/parisc/kernel/asm-offsets.c:18: >> include/asm-generic/bitops/__fls.h: In function '__fls': >> include/asm-generic/bitops/__fls.h:18:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 18 | if (!(word & (~0ul << 32))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:20:22: warning: left shift count >= width of type [-Wshift-count-overflow] >> 20 | word <<= 32; >> | ^~~ >> include/asm-generic/bitops/__fls.h:23:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 23 | if (!(word & (~0ul << (BITS_PER_LONG-16)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:27:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 27 | if (!(word & (~0ul << (BITS_PER_LONG-8)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:31:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 31 | if (!(word & (~0ul << (BITS_PER_LONG-4)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:35:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 35 | if (!(word & (~0ul << (BITS_PER_LONG-2)))) { >> | ^~ >> include/asm-generic/bitops/__fls.h:39:28: warning: left shift count >= width of type [-Wshift-count-overflow] >> 39 | if (!(word & (~0ul << (BITS_PER_LONG-1)))) >> | ^~ >> In file included from arch/parisc/include/asm/processor.h:18, >> from arch/parisc/include/asm/thread_info.h:6, >> from include/linux/thread_info.h:60, >> from include/asm-generic/preempt.h:5, >> from ./arch/parisc/include/generated/asm/preempt.h:1, >> from include/linux/preempt.h:78, >> from include/linux/rcupdate.h:27, >> from include/linux/rculist.h:11, >> from include/linux/pid.h:5, >> from include/linux/sched.h:14, >> from arch/parisc/kernel/asm-offsets.c:18: >> arch/parisc/include/asm/pdc.h: At top level: >> arch/parisc/include/asm/pdc.h:77:24: warning: 'struct pdc_memory_table' declared inside parameter list will not be visible outside of this definition or declaration >> 77 | struct pdc_memory_table *tbl, unsigned long entries); >> | ^~~~~~~~~~~~~~~~ >> arch/parisc/include/asm/pdc.h:76:30: warning: 'struct pdc_memory_table_raddr' declared inside parameter list will not be visible outside of this definition or declaration >> 76 | int pdc_mem_mem_table(struct pdc_memory_table_raddr *r_addr, >> | ^~~~~~~~~~~~~~~~~~~~~~ >> In file included from include/linux/compiler_types.h:65, >> from : >> include/linux/smp.h:34:33: error: requested alignment '20' is not a positive power of 2 >> 34 | __aligned(sizeof(struct __call_single_data)); >> | ^~~~~~~~~~~~~~~~~~ >> include/linux/compiler_attributes.h:33:68: note: in definition of macro '__aligned' >> 33 | #define __aligned(x) __attribute__((__aligned__(x))) >> | ^ >> In file included from include/linux/container_of.h:5, >> from include/linux/list.h:5, >> from include/linux/rculist.h:10, >> from include/linux/pid.h:5, >> from include/linux/sched.h:14, >> from arch/parisc/kernel/asm-offsets.c:18: >> include/linux/build_bug.h:78:41: error: static assertion failed: "offsetof(struct page, lru) == offsetof(struct folio, lru)" >> 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) >> | ^~~~~~~~~~~~~~ >> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert' >> 77 | #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) >> | ^~~~~~~~~~~~~~~ >> include/linux/mm_types.h:261:9: note: in expansion of macro 'static_assert' >> 261 | static_assert(offsetof(struct page, pg) == offsetof(struct folio, fl)) >> | ^~~~~~~~~~~~~ >> include/linux/mm_types.h:263:1: note: in expansion of macro 'FOLIO_MATCH' >> 263 | FOLIO_MATCH(lru, lru); > > Sounds each FOLIO_MATCH() gets an compile error? > > Compile on my machine looks good to me. How this happens? > Hi Wei, Sorry for the inconvenience, it's a false positive, the problem is that ARCH=parisc was used to build the 64 bit kernel. Best Regards, Rong Chen