BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Alexander Lobakin <[email protected]>
CC: Yury Norov <[email protected]>
CC: Andy Shevchenko <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   3245cb65fd91cd514801bf91f5a3066d562f0ac4
commit: 0e862838f290147ea9c16db852d8d494b552d38d bitops: unify non-atomic 
bitops prototypes across architectures
date:   3 months ago
:::::: branch date: 2 days ago
:::::: commit date: 3 months ago
config: m68k-randconfig-m031-20220914 
(https://download.01.org/0day-ci/archive/20220916/[email protected]/config)
compiler: m68k-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
arch/m68k/include/asm/bitops.h:216 arch___test_and_set_bit() warn: signedness 
bug returning '(-128)'
arch/m68k/include/asm/bitops.h:269 arch___test_and_clear_bit() warn: signedness 
bug returning '(-128)'

vim +216 arch/m68k/include/asm/bitops.h

171d809df1896c Greg Ungerer      2011-05-17  212  
0e862838f29014 Alexander Lobakin 2022-06-24  213  static __always_inline bool
0e862838f29014 Alexander Lobakin 2022-06-24  214  
arch___test_and_set_bit(unsigned long nr, volatile unsigned long *addr)
0e862838f29014 Alexander Lobakin 2022-06-24  215  {
0e862838f29014 Alexander Lobakin 2022-06-24 @216        return 
test_and_set_bit(nr, addr);
0e862838f29014 Alexander Lobakin 2022-06-24  217  }
171d809df1896c Greg Ungerer      2011-05-17  218  
171d809df1896c Greg Ungerer      2011-05-17  219  static inline int 
bclr_reg_test_and_clear_bit(int nr,
171d809df1896c Greg Ungerer      2011-05-17  220                                
              volatile unsigned long *vaddr)
171d809df1896c Greg Ungerer      2011-05-17  221  {
171d809df1896c Greg Ungerer      2011-05-17  222        char *p = (char *)vaddr 
+ (nr ^ 31) / 8;
171d809df1896c Greg Ungerer      2011-05-17  223        char retval;
171d809df1896c Greg Ungerer      2011-05-17  224  
171d809df1896c Greg Ungerer      2011-05-17  225        __asm__ __volatile__ 
("bclr %2,(%1); sne %0"
171d809df1896c Greg Ungerer      2011-05-17  226                : "=d" (retval)
171d809df1896c Greg Ungerer      2011-05-17  227                : "a" (p), "di" 
(nr & 7)
171d809df1896c Greg Ungerer      2011-05-17  228                : "memory");
171d809df1896c Greg Ungerer      2011-05-17  229        return retval;
171d809df1896c Greg Ungerer      2011-05-17  230  }
171d809df1896c Greg Ungerer      2011-05-17  231  
171d809df1896c Greg Ungerer      2011-05-17  232  static inline int 
bclr_mem_test_and_clear_bit(int nr,
171d809df1896c Greg Ungerer      2011-05-17  233                                
              volatile unsigned long *vaddr)
171d809df1896c Greg Ungerer      2011-05-17  234  {
171d809df1896c Greg Ungerer      2011-05-17  235        char *p = (char *)vaddr 
+ (nr ^ 31) / 8;
171d809df1896c Greg Ungerer      2011-05-17  236        char retval;
171d809df1896c Greg Ungerer      2011-05-17  237  
171d809df1896c Greg Ungerer      2011-05-17  238        __asm__ __volatile__ 
("bclr %2,%1; sne %0"
171d809df1896c Greg Ungerer      2011-05-17  239                : "=d" 
(retval), "+m" (*p)
171d809df1896c Greg Ungerer      2011-05-17  240                : "di" (nr & 
7));
171d809df1896c Greg Ungerer      2011-05-17  241        return retval;
171d809df1896c Greg Ungerer      2011-05-17  242  }
171d809df1896c Greg Ungerer      2011-05-17  243  
171d809df1896c Greg Ungerer      2011-05-17  244  static inline int 
bfclr_mem_test_and_clear_bit(int nr,
171d809df1896c Greg Ungerer      2011-05-17  245                                
               volatile unsigned long *vaddr)
171d809df1896c Greg Ungerer      2011-05-17  246  {
171d809df1896c Greg Ungerer      2011-05-17  247        char retval;
171d809df1896c Greg Ungerer      2011-05-17  248  
171d809df1896c Greg Ungerer      2011-05-17  249        __asm__ __volatile__ 
("bfclr %2{%1:#1}; sne %0"
171d809df1896c Greg Ungerer      2011-05-17  250                : "=d" (retval)
171d809df1896c Greg Ungerer      2011-05-17  251                : "d" (nr ^ 
31), "o" (*vaddr)
171d809df1896c Greg Ungerer      2011-05-17  252                : "memory");
171d809df1896c Greg Ungerer      2011-05-17  253        return retval;
171d809df1896c Greg Ungerer      2011-05-17  254  }
171d809df1896c Greg Ungerer      2011-05-17  255  
171d809df1896c Greg Ungerer      2011-05-17  256  #if defined(CONFIG_COLDFIRE)
171d809df1896c Greg Ungerer      2011-05-17  257  #define       
test_and_clear_bit(nr, vaddr)   bclr_reg_test_and_clear_bit(nr, vaddr)
171d809df1896c Greg Ungerer      2011-05-17  258  #elif 
defined(CONFIG_CPU_HAS_NO_BITFIELDS)
171d809df1896c Greg Ungerer      2011-05-17  259  #define       
test_and_clear_bit(nr, vaddr)   bclr_mem_test_and_clear_bit(nr, vaddr)
171d809df1896c Greg Ungerer      2011-05-17  260  #else
171d809df1896c Greg Ungerer      2011-05-17  261  #define 
test_and_clear_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
171d809df1896c Greg Ungerer      2011-05-17  262                                
        bclr_mem_test_and_clear_bit(nr, vaddr) : \
171d809df1896c Greg Ungerer      2011-05-17  263                                
        bfclr_mem_test_and_clear_bit(nr, vaddr))
171d809df1896c Greg Ungerer      2011-05-17  264  #endif
171d809df1896c Greg Ungerer      2011-05-17  265  
0e862838f29014 Alexander Lobakin 2022-06-24  266  static __always_inline bool
0e862838f29014 Alexander Lobakin 2022-06-24  267  
arch___test_and_clear_bit(unsigned long nr, volatile unsigned long *addr)
0e862838f29014 Alexander Lobakin 2022-06-24  268  {
0e862838f29014 Alexander Lobakin 2022-06-24 @269        return 
test_and_clear_bit(nr, addr);
0e862838f29014 Alexander Lobakin 2022-06-24  270  }
171d809df1896c Greg Ungerer      2011-05-17  271  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to