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,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 0E823C433C1 for ; Fri, 19 Mar 2021 19:11:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C844361948 for ; Fri, 19 Mar 2021 19:11:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231240AbhCSTLJ (ORCPT ); Fri, 19 Mar 2021 15:11:09 -0400 Received: from mga05.intel.com ([192.55.52.43]:47988 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230521AbhCSTK3 (ORCPT ); Fri, 19 Mar 2021 15:10:29 -0400 IronPort-SDR: eQGWLmeAK8BlfQEa9+9dcFpri9y5TJpuo+XVS+j7hhSkQ8jxkup3rt6WbPEMDBnSJZKNqF0apI uyYjBEsDNokA== X-IronPort-AV: E=McAfee;i="6000,8403,9928"; a="275024658" X-IronPort-AV: E=Sophos;i="5.81,262,1610438400"; d="gz'50?scan'50,208,50";a="275024658" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2021 12:10:26 -0700 IronPort-SDR: 7lNHrEYg8JK0QJMn4Ga2d10g+6OqgKhWDKO023ZuJbq2HL9H8dGOszQFy9APSy5khoKXlKXjsT ChRGbOZRPinA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,262,1610438400"; d="gz'50?scan'50,208,50";a="412389603" Received: from lkp-server02.sh.intel.com (HELO 1c294c63cb86) ([10.239.97.151]) by orsmga007.jf.intel.com with ESMTP; 19 Mar 2021 12:10:24 -0700 Received: from kbuild by 1c294c63cb86 with local (Exim 4.92) (envelope-from ) id 1lNKVr-00020u-WD; Fri, 19 Mar 2021 19:10:24 +0000 Date: Sat, 20 Mar 2021 03:10:09 +0800 From: kernel test robot To: Al Viro Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org Subject: arch/alpha/lib/csum_partial_copy.c:328:1: error: no previous prototype for 'csum_and_copy_from_user' Message-ID: <202103200303.KPs7DHV2-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="M9NhX3UHpAaciwkO" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --M9NhX3UHpAaciwkO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Al, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 8b12a62a4e3ed4ae99c715034f557eb391d6b196 commit: 808b49da54e640cba5c5c92dee658018a529226b alpha: turn csum_partial_copy_from_user() into csum_and_copy_from_user() date: 10 months ago config: alpha-defconfig (attached as .config) compiler: alpha-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=808b49da54e640cba5c5c92dee658018a529226b git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 808b49da54e640cba5c5c92dee658018a529226b # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> arch/alpha/lib/csum_partial_copy.c:328:1: error: no previous prototype for 'csum_and_copy_from_user' [-Werror=missing-prototypes] 328 | csum_and_copy_from_user(const void __user *src, void *dst, int len, | ^~~~~~~~~~~~~~~~~~~~~~~ arch/alpha/lib/csum_partial_copy.c:375:1: error: no previous prototype for 'csum_partial_copy_nocheck' [-Werror=missing-prototypes] 375 | csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum) | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/csum_and_copy_from_user +328 arch/alpha/lib/csum_partial_copy.c 326 327 __wsum > 328 csum_and_copy_from_user(const void __user *src, void *dst, int len, 329 __wsum sum, int *errp) 330 { 331 unsigned long checksum = (__force u32) sum; 332 unsigned long soff = 7 & (unsigned long) src; 333 unsigned long doff = 7 & (unsigned long) dst; 334 335 if (len) { 336 if (!access_ok(src, len)) { 337 if (errp) *errp = -EFAULT; 338 memset(dst, 0, len); 339 return sum; 340 } 341 if (!doff) { 342 if (!soff) 343 checksum = csum_partial_cfu_aligned( 344 (const unsigned long __user *) src, 345 (unsigned long *) dst, 346 len-8, checksum, errp); 347 else 348 checksum = csum_partial_cfu_dest_aligned( 349 (const unsigned long __user *) src, 350 (unsigned long *) dst, 351 soff, len-8, checksum, errp); 352 } else { 353 unsigned long partial_dest; 354 ldq_u(partial_dest, dst); 355 if (!soff) 356 checksum = csum_partial_cfu_src_aligned( 357 (const unsigned long __user *) src, 358 (unsigned long *) dst, 359 doff, len-8, checksum, 360 partial_dest, errp); 361 else 362 checksum = csum_partial_cfu_unaligned( 363 (const unsigned long __user *) src, 364 (unsigned long *) dst, 365 soff, doff, len-8, checksum, 366 partial_dest, errp); 367 } 368 checksum = from64to16 (checksum); 369 } 370 return (__force __wsum)checksum; 371 } 372 EXPORT_SYMBOL(csum_and_copy_from_user); 373 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --M9NhX3UHpAaciwkO Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --M9NhX3UHpAaciwkO-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4812517916091176308==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: arch/alpha/lib/csum_partial_copy.c:328:1: error: no previous prototype for 'csum_and_copy_from_user' Date: Sat, 20 Mar 2021 03:10:09 +0800 Message-ID: <202103200303.KPs7DHV2-lkp@intel.com> List-Id: --===============4812517916091176308== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Al, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 8b12a62a4e3ed4ae99c715034f557eb391d6b196 commit: 808b49da54e640cba5c5c92dee658018a529226b alpha: turn csum_partial_c= opy_from_user() into csum_and_copy_from_user() date: 10 months ago config: alpha-defconfig (attached as .config) compiler: alpha-linux-gcc (GCC) 9.3.0 reproduce (this is a W=3D1 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.gi= t/commit/?id=3D808b49da54e640cba5c5c92dee658018a529226b git remote add linus https://git.kernel.org/pub/scm/linux/kernel/gi= t/torvalds/linux.git git fetch --no-tags linus master git checkout 808b49da54e640cba5c5c92dee658018a529226b # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = ARCH=3Dalpha = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> arch/alpha/lib/csum_partial_copy.c:328:1: error: no previous prototype f= or 'csum_and_copy_from_user' [-Werror=3Dmissing-prototypes] 328 | csum_and_copy_from_user(const void __user *src, void *dst, int l= en, | ^~~~~~~~~~~~~~~~~~~~~~~ arch/alpha/lib/csum_partial_copy.c:375:1: error: no previous prototype f= or 'csum_partial_copy_nocheck' [-Werror=3Dmissing-prototypes] 375 | csum_partial_copy_nocheck(const void *src, void *dst, int len, _= _wsum sum) | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/csum_and_copy_from_user +328 arch/alpha/lib/csum_partial_copy.c 326 = 327 __wsum > 328 csum_and_copy_from_user(const void __user *src, void *dst, int len, 329 __wsum sum, int *errp) 330 { 331 unsigned long checksum =3D (__force u32) sum; 332 unsigned long soff =3D 7 & (unsigned long) src; 333 unsigned long doff =3D 7 & (unsigned long) dst; 334 = 335 if (len) { 336 if (!access_ok(src, len)) { 337 if (errp) *errp =3D -EFAULT; 338 memset(dst, 0, len); 339 return sum; 340 } 341 if (!doff) { 342 if (!soff) 343 checksum =3D csum_partial_cfu_aligned( 344 (const unsigned long __user *) src, 345 (unsigned long *) dst, 346 len-8, checksum, errp); 347 else 348 checksum =3D csum_partial_cfu_dest_aligned( 349 (const unsigned long __user *) src, 350 (unsigned long *) dst, 351 soff, len-8, checksum, errp); 352 } else { 353 unsigned long partial_dest; 354 ldq_u(partial_dest, dst); 355 if (!soff) 356 checksum =3D csum_partial_cfu_src_aligned( 357 (const unsigned long __user *) src, 358 (unsigned long *) dst, 359 doff, len-8, checksum, 360 partial_dest, errp); 361 else 362 checksum =3D csum_partial_cfu_unaligned( 363 (const unsigned long __user *) src, 364 (unsigned long *) dst, 365 soff, doff, len-8, checksum, 366 partial_dest, errp); 367 } 368 checksum =3D from64to16 (checksum); 369 } 370 return (__force __wsum)checksum; 371 } 372 EXPORT_SYMBOL(csum_and_copy_from_user); 373 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============4812517916091176308== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 ZdOIyAA00c+xKutRGprZ7vkPqKhZLJPeAAA= --===============4812517916091176308==--