From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [android-common:android-4.19-r 1/1] arch/arm/mm/copypage-v4wb.c:47:9: error: parameter references not allowed in naked functions
Date: Wed, 12 May 2021 19:33:10 +0800 [thread overview]
Message-ID: <202105121903.BGGpVKWI-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 18905 bytes --]
Hi Nathan,
First bad commit (maybe != root cause):
tree: https://android.googlesource.com/kernel/common android-4.19-r
head: f0719dcb3a6ebfd657bff0df566e70f6fd18e3c9
commit: f0719dcb3a6ebfd657bff0df566e70f6fd18e3c9 [1/1] BACKPORT: ARM: 8900/1: UNWINDER_FRAME_POINTER implementation for Clang
config: arm-randconfig-r005-20210512 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a0fed635fe1701470062495a6ffee1c608f3f1bc)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-4.19-r
git checkout f0719dcb3a6ebfd657bff0df566e70f6fd18e3c9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/arm/mm/copypage-v4wb.c:11:
In file included from include/linux/highmem.h:5:
In file included from include/linux/fs.h:6:
In file included from include/linux/wait_bit.h:8:
In file included from include/linux/wait.h:7:
In file included from include/linux/list.h:9:
In file included from include/linux/kernel.h:11:
In file included from include/linux/bitops.h:19:
In file included from arch/arm/include/asm/bitops.h:268:
In file included from include/asm-generic/bitops/le.h:6:
In file included from arch/arm/include/uapi/asm/byteorder.h:22:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from arch/arm/mm/copypage-v4wb.c:11:
In file included from include/linux/highmem.h:5:
In file included from include/linux/fs.h:6:
In file included from include/linux/wait_bit.h:8:
In file included from include/linux/wait.h:9:
In file included from include/linux/spinlock.h:51:
In file included from include/linux/preempt.h:81:
In file included from ./arch/arm/include/generated/asm/preempt.h:1:
In file included from include/asm-generic/preempt.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from arch/arm/mm/copypage-v4wb.c:11:
In file included from include/linux/highmem.h:5:
In file included from include/linux/fs.h:8:
In file included from include/linux/dcache.h:7:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:44:
In file included from include/linux/cpumask.h:12:
include/linux/bitmap.h:359:36: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return find_first_bit(src, nbits) == nbits;
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
include/linux/bitmap.h:367:41: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return find_first_zero_bit(src, nbits) == nbits;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
In file included from arch/arm/mm/copypage-v4wb.c:11:
In file included from include/linux/highmem.h:5:
In file included from include/linux/fs.h:237:
In file included from include/linux/quota.h:40:
In file included from include/linux/percpu_counter.h:16:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:988:44: warning: comparison of integers of different signs: 'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from arch/arm/mm/copypage-v4wb.c:11:
In file included from include/linux/highmem.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
include/linux/page-flags.h:163:21: warning: comparison of integers of different signs: 'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
>> arch/arm/mm/copypage-v4wb.c:47:9: error: parameter references not allowed in naked functions
: "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64));
^
arch/arm/mm/copypage-v4wb.c:25:13: note: attribute is here
static void __naked
^
include/linux/compiler_types.h:247:34: note: expanded from macro '__naked'
#define __naked __attribute__((naked)) notrace
^
7 warnings and 1 error generated.
--
In file included from drivers/dma/ti/omap-dma.c:8:
In file included from include/linux/delay.h:22:
In file included from include/linux/kernel.h:11:
In file included from include/linux/bitops.h:19:
In file included from arch/arm/include/asm/bitops.h:268:
In file included from include/asm-generic/bitops/le.h:6:
In file included from arch/arm/include/uapi/asm/byteorder.h:22:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from drivers/dma/ti/omap-dma.c:9:
In file included from include/linux/dmaengine.h:20:
In file included from include/linux/device.h:16:
In file included from include/linux/kobject.h:20:
In file included from include/linux/sysfs.h:16:
In file included from include/linux/kernfs.h:13:
In file included from include/linux/mutex.h:14:
In file included from ./arch/arm/include/generated/asm/current.h:1:
In file included from include/asm-generic/current.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from drivers/dma/ti/omap-dma.c:9:
In file included from include/linux/dmaengine.h:20:
In file included from include/linux/device.h:16:
In file included from include/linux/kobject.h:20:
In file included from include/linux/sysfs.h:16:
In file included from include/linux/kernfs.h:14:
In file included from include/linux/idr.h:15:
In file included from include/linux/radix-tree.h:28:
In file included from include/linux/rcupdate.h:44:
In file included from include/linux/cpumask.h:12:
include/linux/bitmap.h:359:36: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return find_first_bit(src, nbits) == nbits;
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
include/linux/bitmap.h:367:41: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return find_first_zero_bit(src, nbits) == nbits;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
In file included from drivers/dma/ti/omap-dma.c:9:
In file included from include/linux/dmaengine.h:20:
In file included from include/linux/device.h:16:
In file included from include/linux/kobject.h:20:
In file included from include/linux/sysfs.h:16:
In file included from include/linux/kernfs.h:14:
In file included from include/linux/idr.h:16:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:988:44: warning: comparison of integers of different signs: 'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/dma/ti/omap-dma.c:9:
In file included from include/linux/dmaengine.h:24:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
include/linux/page-flags.h:163:21: warning: comparison of integers of different signs: 'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/dma/ti/omap-dma.c:235:17: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < d->sglen; i++) {
~ ^ ~~~~~~~~
drivers/dma/ti/omap-dma.c:1527:16: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < od->dma_requests; i++) {
~ ^ ~~~~~~~~~~~~~~~~
>> drivers/dma/ti/omap-dma.c:1626:34: warning: unused variable 'omap_dma_match' [-Wunused-const-variable]
static const struct of_device_id omap_dma_match[] = {
^
10 warnings generated.
/usr/bin/as: unrecognized option '-EL'
clang-13: error: assembler command failed with exit code 1 (use -v to see invocation)
--
In file included from drivers/regulator/stm32-vrefbuf.c:9:
In file included from include/linux/bitfield.h:19:
In file included from arch/arm/include/uapi/asm/byteorder.h:22:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from drivers/regulator/stm32-vrefbuf.c:10:
In file included from include/linux/clk.h:17:
In file included from include/linux/notifier.h:14:
In file included from include/linux/mutex.h:14:
In file included from ./arch/arm/include/generated/asm/current.h:1:
In file included from include/asm-generic/current.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from drivers/regulator/stm32-vrefbuf.c:10:
In file included from include/linux/clk.h:17:
In file included from include/linux/notifier.h:16:
In file included from include/linux/srcu.h:33:
In file included from include/linux/rcupdate.h:44:
In file included from include/linux/cpumask.h:12:
include/linux/bitmap.h:359:36: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return find_first_bit(src, nbits) == nbits;
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
include/linux/bitmap.h:367:41: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return find_first_zero_bit(src, nbits) == nbits;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
In file included from drivers/regulator/stm32-vrefbuf.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/kmod.h:22:
In file included from include/linux/umh.h:4:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:988:44: warning: comparison of integers of different signs: 'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
>> drivers/regulator/stm32-vrefbuf.c:183:34: warning: unused variable 'stm32_vrefbuf_of_match' [-Wunused-const-variable]
static const struct of_device_id stm32_vrefbuf_of_match[] = {
^
7 warnings generated.
/usr/bin/as: unrecognized option '-EL'
clang-13: error: assembler command failed with exit code 1 (use -v to see invocation)
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for WIRELESS_EXT
Depends on NET && WIRELESS
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WEXT_CORE
Depends on NET && WIRELESS && (CFG80211_WEXT || WIRELESS_EXT
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WEXT_PROC
Depends on NET && WIRELESS && PROC_FS && WEXT_CORE
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WEXT_PRIV
Depends on NET && WIRELESS
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WEXT_SPY
Depends on NET && WIRELESS
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
vim +47 arch/arm/mm/copypage-v4wb.c
d73e60b7144a86b Russell King 2008-10-31 12
d73e60b7144a86b Russell King 2008-10-31 13 /*
063b0a4207e43ac Russell King 2008-10-31 14 * ARMv4 optimised copy_user_highpage
d73e60b7144a86b Russell King 2008-10-31 15 *
d73e60b7144a86b Russell King 2008-10-31 16 * We flush the destination cache lines just before we write the data into the
d73e60b7144a86b Russell King 2008-10-31 17 * corresponding address. Since the Dcache is read-allocate, this removes the
d73e60b7144a86b Russell King 2008-10-31 18 * Dcache aliasing issue. The writes will be forwarded to the write buffer,
d73e60b7144a86b Russell King 2008-10-31 19 * and merged as appropriate.
d73e60b7144a86b Russell King 2008-10-31 20 *
d73e60b7144a86b Russell King 2008-10-31 21 * Note: We rely on all ARMv4 processors implementing the "invalidate D line"
d73e60b7144a86b Russell King 2008-10-31 22 * instruction. If your processor does not supply this, you have to write your
063b0a4207e43ac Russell King 2008-10-31 23 * own copy_user_highpage that does the right thing.
d73e60b7144a86b Russell King 2008-10-31 24 */
446c92b2901bedb Uwe Kleine-König 2009-03-12 25 static void __naked
063b0a4207e43ac Russell King 2008-10-31 26 v4wb_copy_user_page(void *kto, const void *kfrom)
d73e60b7144a86b Russell King 2008-10-31 27 {
d73e60b7144a86b Russell King 2008-10-31 28 asm("\
d73e60b7144a86b Russell King 2008-10-31 29 stmfd sp!, {r4, lr} @ 2\n\
9a40ac86152c9cf Khem Raj 2010-06-04 30 mov r2, %2 @ 1\n\
d73e60b7144a86b Russell King 2008-10-31 31 ldmia r1!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 32 1: mcr p15, 0, r0, c7, c6, 1 @ 1 invalidate D line\n\
d73e60b7144a86b Russell King 2008-10-31 33 stmia r0!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 34 ldmia r1!, {r3, r4, ip, lr} @ 4+1\n\
d73e60b7144a86b Russell King 2008-10-31 35 stmia r0!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 36 ldmia r1!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 37 mcr p15, 0, r0, c7, c6, 1 @ 1 invalidate D line\n\
d73e60b7144a86b Russell King 2008-10-31 38 stmia r0!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 39 ldmia r1!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 40 subs r2, r2, #1 @ 1\n\
d73e60b7144a86b Russell King 2008-10-31 41 stmia r0!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 42 ldmneia r1!, {r3, r4, ip, lr} @ 4\n\
d73e60b7144a86b Russell King 2008-10-31 43 bne 1b @ 1\n\
d73e60b7144a86b Russell King 2008-10-31 44 mcr p15, 0, r1, c7, c10, 4 @ 1 drain WB\n\
d73e60b7144a86b Russell King 2008-10-31 45 ldmfd sp!, {r4, pc} @ 3"
d73e60b7144a86b Russell King 2008-10-31 46 :
9a40ac86152c9cf Khem Raj 2010-06-04 @47 : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64));
d73e60b7144a86b Russell King 2008-10-31 48 }
d73e60b7144a86b Russell King 2008-10-31 49
:::::: The code at line 47 was first introduced by commit
:::::: 9a40ac86152c9cffd3dca482a15ddf9a8c5716b3 ARM: 6164/1: Add kto and kfrom to input operands list.
:::::: TO: Khem Raj <raj.khem@gmail.com>
:::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 27228 bytes --]
reply other threads:[~2021-05-12 11:33 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202105121903.BGGpVKWI-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.