* [android-common:android14-kiwi-6.1 180/180] kernel/time/posix-timers.c:1079 itimer_delete() warn: inconsistent returns '&timer->it_lock'.
@ 2026-07-11 17:53 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-11 17:53 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: cros-kernel-buildreports@googlegroups.com
tree: https://android.googlesource.com/kernel/common android14-kiwi-6.1
head: 1517b793772a02ed13258dd27cd6ac22fe27c5a6
commit: e7aff15ba29ba4b3052786b1636fa5c4aa39e179 [180/180] posix-timers: Prevent RT livelock in itimer_delete()
:::::: branch date: 18 hours ago
:::::: commit date: 3 years ago
config: x86_64-randconfig-161-20260708 (https://download.01.org/0day-ci/archive/20260712/202607120135.SvdJeAa7-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9185-gbcc58b9c
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 <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202607120135.SvdJeAa7-lkp@intel.com/
smatch warnings:
kernel/time/posix-timers.c:1079 itimer_delete() warn: inconsistent returns '&timer->it_lock'.
vim +1079 kernel/time/posix-timers.c
becf8b5d00f4b4 kernel/posix-timers.c Thomas Gleixner 2006-01-09 1038
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1039 /*
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1040 * Delete a timer if it is armed, remove it from the hash and schedule it
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1041 * for RCU freeing.
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1042 */
858119e1593843 kernel/posix-timers.c Arjan van de Ven 2006-01-14 1043 static void itimer_delete(struct k_itimer *timer)
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1044 {
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1045 unsigned long flags;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1046
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1047 /*
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1048 * irqsave is required to make timer_wait_running() work.
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1049 */
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1050 spin_lock_irqsave(&timer->it_lock, flags);
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1051
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1052 retry_delete:
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1053 /*
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1054 * Even if the timer is not longer accessible from other tasks
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1055 * it still might be armed and queued in the underlying timer
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1056 * mechanism. Worse, that timer mechanism might run the expiry
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1057 * function concurrently.
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1058 */
becf8b5d00f4b4 kernel/posix-timers.c Thomas Gleixner 2006-01-09 1059 if (timer_delete_hook(timer) == TIMER_RETRY) {
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1060 /*
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1061 * Timer is expired concurrently, prevent livelocks
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1062 * and pointless spinning on RT.
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1063 *
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1064 * timer_wait_running() drops timer::it_lock, which opens
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1065 * the possibility for another task to delete the timer.
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1066 *
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1067 * That's not possible here because this is invoked from
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1068 * do_exit() only for the last thread of the thread group.
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1069 * So no other task can access and delete that timer.
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1070 */
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1071 if (WARN_ON_ONCE(timer_wait_running(timer, &flags) != timer))
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1072 return;
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1073
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1074 goto retry_delete;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1075 }
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1076 list_del(&timer->list);
4b7a1304267bff kernel/posix-timers.c Oleg Nesterov 2008-07-25 1077
e7aff15ba29ba4 kernel/time/posix-timers.c Thomas Gleixner 2023-06-01 1078 spin_unlock_irqrestore(&timer->it_lock, flags);
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 @1079 release_posix_timer(timer, IT_ID_SET);
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1080 }
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 1081
:::::: The code at line 1079 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-11 17:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-11 17:53 [android-common:android14-kiwi-6.1 180/180] kernel/time/posix-timers.c:1079 itimer_delete() warn: inconsistent returns '&timer->it_lock' 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.