[linux-next:master 5799/6035] arch/mips/include/asm/atomic.h:134:2: note: in expansion of macro 'ATOMIC_OP'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   5c4d1ca9cfa71d9515ce5946cfc6497d22b1108e
commit: c3e3459c92a22be17145cdd9d86a8acc74afa5cf [5799/6035] mm: move vmscan writes and file write accounting to the node
config: mips-mpc30x_defconfig (attached as .config)
compiler: mips-linux-gnu-gcc (Debian 5.3.1-8) 5.3.1 20160205
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout c3e3459c92a22be17145cdd9d86a8acc74afa5cf
        # save the attached .config to linux build tree
        make.cross ARCH=mips 

All warnings (new ones prefixed by >>):

   In file included from include/linux/atomic.h:4:0,
                    from include/linux/spinlock.h:406,
                    from include/linux/wait.h:8,
                    from include/linux/fs.h:5,
                    from include/linux/dax.h:4,
                    from mm/filemap.c:14:
   mm/filemap.c: In function '__delete_from_page_cache':
   arch/mips/include/asm/atomic.h:63:4: warning: array subscript is above array bounds [-Warray-bounds]
       __asm__ __volatile__(          \
       ^
>> arch/mips/include/asm/atomic.h:134:2: note: in expansion of macro 'ATOMIC_OP'
     ATOMIC_OP(op, c_op, asm_op)           \
     ^
>> arch/mips/include/asm/atomic.h:137:1: note: in expansion of macro 'ATOMIC_OPS'
    ATOMIC_OPS(add, +=, addu)
    ^
--
   In file included from include/linux/atomic.h:4:0,
                    from include/linux/spinlock.h:406,
                    from include/linux/wait.h:8,
                    from include/linux/fs.h:5,
                    from mm/shmem.c:24:
   mm/shmem.c: In function 'shmem_add_to_page_cache':
   arch/mips/include/asm/atomic.h:63:4: warning: array subscript is above array bounds [-Warray-bounds]
       __asm__ __volatile__(          \
       ^
>> arch/mips/include/asm/atomic.h:134:2: note: in expansion of macro 'ATOMIC_OP'
     ATOMIC_OP(op, c_op, asm_op)           \
     ^
>> arch/mips/include/asm/atomic.h:137:1: note: in expansion of macro 'ATOMIC_OPS'
    ATOMIC_OPS(add, +=, addu)
    ^

vim +/ATOMIC_OP +134 arch/mips/include/asm/atomic.h

94bfb75a arch/mips/include/asm/atomic.h Markos Chandras   2015-01-26   57  		: "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (v->counter)	      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   58  		: "Ir" (i));						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   59  	} else if (kernel_uses_llsc) {					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   60  		int temp;						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   61  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   62  		do {							      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  @63  			__asm__ __volatile__(				      \
0038df22 arch/mips/include/asm/atomic.h Markos Chandras   2015-01-06   64  			"	.set	"MIPS_ISA_LEVEL"		\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   65  			"	ll	%0, %1		# atomic_" #op "\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   66  			"	" #asm_op " %0, %2			\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   67  			"	sc	%0, %1				\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   68  			"	.set	mips0				\n"   \
94bfb75a arch/mips/include/asm/atomic.h Markos Chandras   2015-01-26   69  			: "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (v->counter)      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   70  			: "Ir" (i));					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   71  		} while (unlikely(!temp));				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   72  	} else {							      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   73  		unsigned long flags;					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   74  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   75  		raw_local_irq_save(flags);				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   76  		v->counter c_op i;					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   77  		raw_local_irq_restore(flags);				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   78  	}								      \
ddb3108e arch/mips/include/asm/atomic.h Maciej W. Rozycki 2014-11-15   79  }
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   80  
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   81  #define ATOMIC_OP_RETURN(op, c_op, asm_op)				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   82  static __inline__ int atomic_##op##_return(int i, atomic_t * v)		      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   83  {									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   84  	int result;							      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   85  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   86  	smp_mb__before_llsc();						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   87  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   88  	if (kernel_uses_llsc && R10000_LLSC_WAR) {			      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   89  		int temp;						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   90  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   91  		__asm__ __volatile__(					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   92  		"	.set	arch=r4000				\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   93  		"1:	ll	%1, %2		# atomic_" #op "_return	\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   94  		"	" #asm_op " %0, %1, %3				\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   95  		"	sc	%0, %2					\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   96  		"	beqzl	%0, 1b					\n"   \
da4c5445 arch/mips/include/asm/atomic.h Peter Zijlstra    2014-09-02   97  		"	" #asm_op " %0, %1, %3				\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26   98  		"	.set	mips0					\n"   \
b0984c43 arch/mips/include/asm/atomic.h Maciej W. Rozycki 2014-11-15   99  		: "=&r" (result), "=&r" (temp),				      \
94bfb75a arch/mips/include/asm/atomic.h Markos Chandras   2015-01-26  100  		  "+" GCC_OFF_SMALL_ASM() (v->counter)			      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  101  		: "Ir" (i));						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  102  	} else if (kernel_uses_llsc) {					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  103  		int temp;						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  104  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  105  		do {							      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  106  			__asm__ __volatile__(				      \
0038df22 arch/mips/include/asm/atomic.h Markos Chandras   2015-01-06  107  			"	.set	"MIPS_ISA_LEVEL"		\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  108  			"	ll	%1, %2	# atomic_" #op "_return	\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  109  			"	" #asm_op " %0, %1, %3			\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  110  			"	sc	%0, %2				\n"   \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  111  			"	.set	mips0				\n"   \
b0984c43 arch/mips/include/asm/atomic.h Maciej W. Rozycki 2014-11-15  112  			: "=&r" (result), "=&r" (temp),			      \
94bfb75a arch/mips/include/asm/atomic.h Markos Chandras   2015-01-26  113  			  "+" GCC_OFF_SMALL_ASM() (v->counter)		      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  114  			: "Ir" (i));					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  115  		} while (unlikely(!result));				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  116  									      \
da4c5445 arch/mips/include/asm/atomic.h Peter Zijlstra    2014-09-02  117  		result = temp; result c_op i;				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  118  	} else {							      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  119  		unsigned long flags;					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  120  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  121  		raw_local_irq_save(flags);				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  122  		result = v->counter;					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  123  		result c_op i;						      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  124  		v->counter = result;					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  125  		raw_local_irq_restore(flags);				      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  126  	}								      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  127  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  128  	smp_llsc_mb();							      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  129  									      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  130  	return result;							      \
^1da177e include/asm-mips/atomic.h      Linus Torvalds    2005-04-16  131  }
^1da177e include/asm-mips/atomic.h      Linus Torvalds    2005-04-16  132  
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  133  #define ATOMIC_OPS(op, c_op, asm_op)					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26 @134  	ATOMIC_OP(op, c_op, asm_op)					      \
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  135  	ATOMIC_OP_RETURN(op, c_op, asm_op)
^1da177e include/asm-mips/atomic.h      Linus Torvalds    2005-04-16  136  
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26 @137  ATOMIC_OPS(add, +=, addu)
ef31563e arch/mips/include/asm/atomic.h Peter Zijlstra    2014-03-26  138  ATOMIC_OPS(sub, -=, subu)
0004a9df include/asm-mips/atomic.h      Ralf Baechle      2006-10-31  139  
27782f27 arch/mips/include/asm/atomic.h Peter Zijlstra    2014-04-23  140  ATOMIC_OP(and, &=, and)

:::::: The code at line 134 was first introduced by commit
:::::: ef31563e950c60bb41b97c2b61c32de874f3c949 locking,arch,mips: Fold atomic_ops

:::::: TO: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]