All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android-4.19-r 1/1] arch/arm/mm/copypage-v4wb.c:47:9: error: parameter references not allowed in naked functions
@ 2021-05-12 11:33 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-12 11:33 UTC (permalink / raw)
  To: kbuild-all

[-- 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 --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-05-12 11:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-12 11:33 [android-common:android-4.19-r 1/1] arch/arm/mm/copypage-v4wb.c:47:9: error: parameter references not allowed in naked functions kernel test robot

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.