Hi Yang,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.12-rc3 next-20241015]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Yang-Li/csky-fix-csky_cmpxchg_fixup-not-working/20241008-134806
base:   linus/master
patch link:    
https://lore.kernel.org/r/20241008054615.43062-1-yang.li85200%40gmail.com
patch subject: [PATCH] csky: fix csky_cmpxchg_fixup not working
config: csky-allnoconfig 
(https://download.01.org/0day-ci/archive/20241016/[email protected]/config)
compiler: csky-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20241016/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All error/warnings (new ones prefixed by >>):

   arch/csky/mm/fault.c: In function 'csky_cmpxchg_fixup':
>> arch/csky/mm/fault.c:48:39: warning: comparison between pointer and integer
      48 |         if (instruction_pointer(regs) == &csky_cmpxchg_stw)
         |                                       ^~
>> arch/csky/mm/fault.c:49:47: error: passing argument 2 of 
>> 'instruction_pointer_set' makes integer from pointer without a cast 
>> [-Wint-conversion]
      49 |                 instruction_pointer_set(regs, &csky_cmpxchg_ldw);
         |                                               ^~~~~~~~~~~~~~~~~
         |                                               |
         |                                               long unsigned int *
   In file included from arch/csky/include/asm/processor.h:8,
                    from arch/csky/include/asm/thread_info.h:10,
                    from include/linux/thread_info.h:60,
                    from include/asm-generic/current.h:6,
                    from ./arch/csky/include/generated/asm/current.h:1,
                    from include/linux/mutex.h:14,
                    from include/linux/notifier.h:14,
                    from include/linux/kprobes.h:21,
                    from arch/csky/mm/fault.c:5:
   arch/csky/include/asm/ptrace.h:29:58: note: expected 'long unsigned int' but 
argument is of type 'long unsigned int *'
      29 |                                            unsigned long val)
         |                                            ~~~~~~~~~~~~~~^~~


vim +/instruction_pointer_set +49 arch/csky/mm/fault.c

    34  
    35  #ifdef CONFIG_CPU_HAS_LDSTEX
    36  static inline void csky_cmpxchg_fixup(struct pt_regs *regs)
    37  {
    38          return;
    39  }
    40  #else
    41  extern unsigned long csky_cmpxchg_ldw;
    42  extern unsigned long csky_cmpxchg_stw;
    43  static inline void csky_cmpxchg_fixup(struct pt_regs *regs)
    44  {
    45          if (trap_no(regs) != VEC_TLBMODIFIED)
    46                  return;
    47  
  > 48          if (instruction_pointer(regs) == &csky_cmpxchg_stw)
  > 49                  instruction_pointer_set(regs, &csky_cmpxchg_ldw);
    50          return;
    51  }
    52  #endif
    53  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to