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 X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8AF22C433B4 for ; Thu, 13 May 2021 09:37:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E128A61438 for ; Thu, 13 May 2021 09:37:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E128A61438 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6AC166B0036; Thu, 13 May 2021 05:37:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 65B6F6B006E; Thu, 13 May 2021 05:37:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D57C6B0070; Thu, 13 May 2021 05:37:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0041.hostedemail.com [216.40.44.41]) by kanga.kvack.org (Postfix) with ESMTP id 0FA036B0036 for ; Thu, 13 May 2021 05:37:21 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 9A9B4181AEF32 for ; Thu, 13 May 2021 09:37:20 +0000 (UTC) X-FDA: 78135704640.10.ED2FC52 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf04.hostedemail.com (Postfix) with ESMTP id D52C73CA for ; Thu, 13 May 2021 09:37:11 +0000 (UTC) IronPort-SDR: 6wxigWMFkOLAJNyOLh0vOi/Sb3T5nTO7QBTe9l43voxN7lunIUFGiG7CE1c7uAAeNNB/gyty87 UD2+7MswgTHg== X-IronPort-AV: E=McAfee;i="6200,9189,9982"; a="179504024" X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="gz'50?scan'50,208,50";a="179504024" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2021 02:37:16 -0700 IronPort-SDR: jCBq7g9esCCKF3PFJ36R2+xJY99EUTUkR5b67vdI0bNVkJrj3tvHo+05OjO38WduWVCLdlB3la 9/szUzwrLPew== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="gz'50?scan'50,208,50";a="538212157" Received: from lkp-server01.sh.intel.com (HELO ddd90b05c979) ([10.239.97.150]) by fmsmga001.fm.intel.com with ESMTP; 13 May 2021 02:37:14 -0700 Received: from kbuild by ddd90b05c979 with local (Exim 4.92) (envelope-from ) id 1lh7mM-0000BC-4X; Thu, 13 May 2021 09:37:14 +0000 Date: Thu, 13 May 2021 17:36:14 +0800 From: kernel test robot To: Andy Shevchenko Cc: kbuild-all@lists.01.org, Johannes Weiner , Bjorn Andersson , Andrew Morton , Linux Memory Management List Subject: [hnaz-linux-mm:master 179/239] include/linux/thread_info.h:215:27: error: 'INT_MAX' undeclared Message-ID: <202105131700.z2HuiNSx-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="pf9I7BMVVzbSWLtt" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Authentication-Results: imf04.hostedemail.com; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=intel.com (policy=none); spf=none (imf04.hostedemail.com: domain of lkp@intel.com has no SPF policy when checking 192.55.52.136) smtp.mailfrom=lkp@intel.com X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: D52C73CA X-Stat-Signature: otde9xwus3b7k195o9wi5qm4sni14z1k Received-SPF: none (intel.com>: No applicable sender policy available) receiver=imf04; identity=mailfrom; envelope-from=""; helo=mga12.intel.com; client-ip=192.55.52.136 X-HE-DKIM-Result: none/none X-HE-Tag: 1620898631-364496 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: --pf9I7BMVVzbSWLtt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://github.com/hnaz/linux-mm master head: 12891f829e4851b3562ddcde27a4a9ade308ada3 commit: 161b082aa6ac5047f1b0f243f0e834d2bfb39842 [179/239] kernel.h: split out panic and oops helpers config: nds32-defconfig (attached as .config) compiler: nds32le-linux-gcc (GCC) 9.3.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://github.com/hnaz/linux-mm/commit/161b082aa6ac5047f1b0f243f0e834d2bfb39842 git remote add hnaz-linux-mm https://github.com/hnaz/linux-mm git fetch --no-tags hnaz-linux-mm master git checkout 161b082aa6ac5047f1b0f243f0e834d2bfb39842 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=nds32 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Note: the hnaz-linux-mm/master HEAD 12891f829e4851b3562ddcde27a4a9ade308ada3 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from ./arch/nds32/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from lib/strncpy_from_user.c:6: include/linux/thread_info.h: In function 'check_copy_size': >> include/linux/thread_info.h:215:27: error: 'INT_MAX' undeclared (first use in this function) 215 | if (WARN_ON_ONCE(bytes > INT_MAX)) | ^~~~~~~ include/asm-generic/bug.h:146:27: note: in definition of macro 'WARN_ON_ONCE' 146 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ In file included from lib/strncpy_from_user.c:6: include/linux/thread_info.h:60:1: note: 'INT_MAX' is defined in header ''; did you forget to '#include '? 59 | #include +++ |+#include 60 | In file included from ./arch/nds32/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from lib/strncpy_from_user.c:6: include/linux/thread_info.h:215:27: note: each undeclared identifier is reported only once for each function it appears in 215 | if (WARN_ON_ONCE(bytes > INT_MAX)) | ^~~~~~~ include/asm-generic/bug.h:146:27: note: in definition of macro 'WARN_ON_ONCE' 146 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ vim +/INT_MAX +215 include/linux/thread_info.h b0377fedb65280 Al Viro 2017-06-29 201 9dd819a15162f8 Kees Cook 2019-09-25 202 static __always_inline __must_check bool b0377fedb65280 Al Viro 2017-06-29 203 check_copy_size(const void *addr, size_t bytes, bool is_source) b0377fedb65280 Al Viro 2017-06-29 204 { b0377fedb65280 Al Viro 2017-06-29 205 int sz = __compiletime_object_size(addr); b0377fedb65280 Al Viro 2017-06-29 206 if (unlikely(sz >= 0 && sz < bytes)) { b0377fedb65280 Al Viro 2017-06-29 207 if (!__builtin_constant_p(bytes)) b0377fedb65280 Al Viro 2017-06-29 208 copy_overflow(sz, bytes); b0377fedb65280 Al Viro 2017-06-29 209 else if (is_source) b0377fedb65280 Al Viro 2017-06-29 210 __bad_copy_from(); b0377fedb65280 Al Viro 2017-06-29 211 else b0377fedb65280 Al Viro 2017-06-29 212 __bad_copy_to(); b0377fedb65280 Al Viro 2017-06-29 213 return false; b0377fedb65280 Al Viro 2017-06-29 214 } 6d13de1489b6bf Kees Cook 2019-12-04 @215 if (WARN_ON_ONCE(bytes > INT_MAX)) 6d13de1489b6bf Kees Cook 2019-12-04 216 return false; b0377fedb65280 Al Viro 2017-06-29 217 check_object_size(addr, bytes, is_source); b0377fedb65280 Al Viro 2017-06-29 218 return true; b0377fedb65280 Al Viro 2017-06-29 219 } b0377fedb65280 Al Viro 2017-06-29 220 :::::: The code at line 215 was first introduced by commit :::::: 6d13de1489b6bf539695f96d945de3860e6d5e17 uaccess: disallow > INT_MAX copy sizes :::::: TO: Kees Cook :::::: CC: Linus Torvalds --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --pf9I7BMVVzbSWLtt Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 oQ+VTone8Y2W9un/ATJbSl9rqQAA --pf9I7BMVVzbSWLtt--