[paulmckrcu:non-rcu/next 39/40] include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers)
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
tree: https://github.com/paulmckrcu/linux non-rcu/next head: e39a12053df0951120ff6283177e0d5179feda45 commit: c3d1cae06fc1ad9b6948fa0ca8a93415607ea8b1 [39/40] hrtimer: Mark the hrtimer_sleeper structure's ->task field __private config: arc-randconfig-r132-20260813 (https://download.01.org/0day-ci/archive/20260813/[email protected]/config) compiler: arc-linux-gcc (GCC) 13.4.0 sparse: v0.6.5-rc1 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/[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]/ sparse warnings: (new ones prefixed by >>) kernel/time/sleep_timeout.c: note: in included file (through include/linux/alarmtimer.h, include/linux/posix-timers.h, include/linux/sched/signal.h): >> include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers) @@ expected struct task_struct * @@ got struct task_struct [noderef] * @@ include/linux/hrtimer.h:355:16: sparse: expected struct task_struct * include/linux/hrtimer.h:355:16: sparse: got struct task_struct [noderef] * >> include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers) @@ expected struct task_struct * @@ got struct task_struct [noderef] * @@ include/linux/hrtimer.h:355:16: sparse: expected struct task_struct * include/linux/hrtimer.h:355:16: sparse: got struct task_struct [noderef] * -- kernel/time/hrtimer.c: note: in included file: >> include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers) @@ expected struct task_struct * @@ got struct task_struct [noderef] * @@ include/linux/hrtimer.h:355:16: sparse: expected struct task_struct * include/linux/hrtimer.h:355:16: sparse: got struct task_struct [noderef] * >> include/linux/hrtimer.h:359:9: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct task_struct [noderef] *volatile @@ got struct task_struct *t @@ include/linux/hrtimer.h:359:9: sparse: expected struct task_struct [noderef] *volatile include/linux/hrtimer.h:359:9: sparse: got struct task_struct *t >> include/linux/hrtimer.h:359:9: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct task_struct [noderef] *volatile @@ got struct task_struct *t @@ include/linux/hrtimer.h:359:9: sparse: expected struct task_struct [noderef] *volatile include/linux/hrtimer.h:359:9: sparse: got struct task_struct *t >> include/linux/hrtimer.h:359:9: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct task_struct [noderef] *volatile @@ got struct task_struct *t @@ include/linux/hrtimer.h:359:9: sparse: expected struct task_struct [noderef] *volatile include/linux/hrtimer.h:359:9: sparse: got struct task_struct *t >> include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers) @@ expected struct task_struct * @@ got struct task_struct [noderef] * @@ include/linux/hrtimer.h:355:16: sparse: expected struct task_struct * include/linux/hrtimer.h:355:16: sparse: got struct task_struct [noderef] * >> include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers) @@ expected struct task_struct * @@ got struct task_struct [noderef] * @@ include/linux/hrtimer.h:355:16: sparse: expected struct task_struct * include/linux/hrtimer.h:355:16: sparse: got struct task_struct [noderef] * >> include/linux/hrtimer.h:355:16: sparse: sparse: incorrect type in return expression (different modifiers) @@ expected struct task_struct * @@ got struct task_struct [noderef] * @@ include/linux/hrtimer.h:355:16: sparse: expected struct task_struct * include/linux/hrtimer.h:355:16: sparse: got struct task_struct [noderef] * vim +355 include/linux/hrtimer.h 341 342 extern int nanosleep_copyout(struct restart_block *, struct timespec64 *); 343 extern long hrtimer_nanosleep(ktime_t rqtp, const enum hrtimer_mode mode, 344 const clockid_t clockid); 345 346 extern int schedule_hrtimeout_range(ktime_t *expires, u64 delta, 347 const enum hrtimer_mode mode); 348 extern int schedule_hrtimeout_range_clock(ktime_t *expires, 349 u64 delta, 350 const enum hrtimer_mode mode, 351 clockid_t clock_id); 352 extern int schedule_hrtimeout(ktime_t *expires, const enum hrtimer_mode mode); 353 static inline struct task_struct *hrtimer_sleeper_task_get(struct hrtimer_sleeper *sl) 354 { > 355 return READ_ONCE(ACCESS_PRIVATE(sl, task)); 356 } 357 static inline void hrtimer_sleeper_task_set(struct hrtimer_sleeper *sl, struct task_struct *t) 358 { > 359 WRITE_ONCE(ACCESS_PRIVATE(sl, task), t); 360 } 361 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki