* [tglx-devel:timers/posix 10/19] kernel/time/posix-timers.c:423:9: error: 'new_timer_id' undeclared; did you mean 'new_timer'?
@ 2025-02-22 20:47 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-02-22 20:47 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timers/posix
head: 9d4caab4067bd0c9023b7e98205b0747dece9f66
commit: ee35cb454088487035734ec7320ec5974a69651e [10/19] posix-timers: Rework the timer valid mechanism
config: arc-randconfig-002-20250223 (https://download.01.org/0day-ci/archive/20250223/202502230433.CF74INaB-lkp@intel.com/config)
compiler: arc-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250223/202502230433.CF74INaB-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502230433.CF74INaB-lkp@intel.com/
All errors (new ones prefixed by >>):
kernel/time/posix-timers.c: In function 'posix_timer_add':
kernel/time/posix-timers.c:105:42: error: initialization of 'struct list_head *' from incompatible pointer type 'struct hlist_head *' [-Werror=incompatible-pointer-types]
105 | struct list_head *head = &posix_timers_hashtable[hash(sig, id)];
| ^
kernel/time/posix-timers.c:110:53: error: passing argument 1 of 'posix_timer_hashed' from incompatible pointer type [-Werror=incompatible-pointer-types]
110 | hashed = posix_timer_hashed(head, sig, id);
| ^~~~
| |
| struct list_head *
kernel/time/posix-timers.c:69:51: note: expected 'struct hlist_head *' but argument is of type 'struct list_head *'
69 | static bool posix_timer_hashed(struct hlist_head *head, struct signal_struct *sig, timer_t id)
| ~~~~~~~~~~~~~~~~~~~^~~~
kernel/time/posix-timers.c:123:41: error: passing argument 1 of 'posix_timer_hashed' from incompatible pointer type [-Werror=incompatible-pointer-types]
123 | if (!posix_timer_hashed(head, sig, id)) {
| ^~~~
| |
| struct list_head *
kernel/time/posix-timers.c:69:51: note: expected 'struct hlist_head *' but argument is of type 'struct list_head *'
69 | static bool posix_timer_hashed(struct hlist_head *head, struct signal_struct *sig, timer_t id)
| ~~~~~~~~~~~~~~~~~~~^~~~
kernel/time/posix-timers.c:132:60: error: passing argument 2 of 'hlist_add_head_rcu' from incompatible pointer type [-Werror=incompatible-pointer-types]
132 | hlist_add_head_rcu(&timer->t_hash, head);
| ^~~~
| |
| struct list_head *
In file included from include/linux/dcache.h:8,
from include/linux/fs.h:8,
from include/linux/compat.h:17,
from kernel/time/posix-timers.c:12:
include/linux/rculist.h:634:60: note: expected 'struct hlist_head *' but argument is of type 'struct list_head *'
634 | struct hlist_head *h)
| ~~~~~~~~~~~~~~~~~~~^
kernel/time/posix-timers.c: In function 'do_timer_create':
>> kernel/time/posix-timers.c:423:9: error: 'new_timer_id' undeclared (first use in this function); did you mean 'new_timer'?
423 | new_timer_id = posix_timer_add(new_timer);
| ^~~~~~~~~~~~
| new_timer
kernel/time/posix-timers.c:423:9: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
vim +423 kernel/time/posix-timers.c
838394fbf98997 kernel/posix-timers.c Thomas Gleixner 2011-02-01 399
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 400 /* Create a POSIX.1b interval timer. */
2482097c6c0f01 kernel/time/posix-timers.c Al Viro 2017-06-07 401 static int do_timer_create(clockid_t which_clock, struct sigevent *event,
2482097c6c0f01 kernel/time/posix-timers.c Al Viro 2017-06-07 402 timer_t __user *created_timer_id)
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 403 {
d3ba5a9a345b12 kernel/time/posix-timers.c Christoph Hellwig 2017-05-26 404 const struct k_clock *kc = clockid_to_kclock(which_clock);
2cd499e38ec241 kernel/posix-timers.c Oleg Nesterov 2008-09-22 405 struct k_itimer *new_timer;
ee35cb45408848 kernel/time/posix-timers.c Thomas Gleixner 2025-02-18 406 int error;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 407
838394fbf98997 kernel/posix-timers.c Thomas Gleixner 2011-02-01 408 if (!kc)
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 409 return -EINVAL;
838394fbf98997 kernel/posix-timers.c Thomas Gleixner 2011-02-01 410 if (!kc->timer_create)
838394fbf98997 kernel/posix-timers.c Thomas Gleixner 2011-02-01 411 return -EOPNOTSUPP;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 412
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 413 new_timer = alloc_posix_timer();
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 414 if (unlikely(!new_timer))
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 415 return -EAGAIN;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 416
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 417 spin_lock_init(&new_timer->it_lock);
ae88967d71f1b4 kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 418
ae88967d71f1b4 kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 419 /*
ae88967d71f1b4 kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 420 * Add the timer to the hash table. The timer is not yet valid
e577c6d8698192 kernel/time/posix-timers.c Eric Dumazet 2025-02-19 421 * after insertion, but has a unique ID allocated.
ae88967d71f1b4 kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 422 */
5ed67f05f66c41 kernel/posix-timers.c Pavel Emelyanov 2013-03-11 @423 new_timer_id = posix_timer_add(new_timer);
5ed67f05f66c41 kernel/posix-timers.c Pavel Emelyanov 2013-03-11 424 if (new_timer_id < 0) {
5d916a0988eed5 kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 425 posixtimer_free_timer(new_timer);
8cc96ca2c75f6d kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 426 return new_timer_id;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 427 }
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 428
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 429 new_timer->it_clock = which_clock;
d97bb75ddd2f38 kernel/time/posix-timers.c Thomas Gleixner 2017-05-30 430 new_timer->kclock = kc;
78c9c4dfbf8c04 kernel/time/posix-timers.c Thomas Gleixner 2018-06-26 431 new_timer->it_overrun = -1LL;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 432
2482097c6c0f01 kernel/time/posix-timers.c Al Viro 2017-06-07 433 if (event) {
36b2f046000b35 kernel/posix-timers.c Oleg Nesterov 2008-09-22 434 rcu_read_lock();
2482097c6c0f01 kernel/time/posix-timers.c Al Viro 2017-06-07 435 new_timer->it_pid = get_pid(good_sigevent(event));
36b2f046000b35 kernel/posix-timers.c Oleg Nesterov 2008-09-22 436 rcu_read_unlock();
899921025b406a kernel/posix-timers.c Oleg Nesterov 2008-12-01 437 if (!new_timer->it_pid) {
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 438 error = -EINVAL;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 439 goto out;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 440 }
2482097c6c0f01 kernel/time/posix-timers.c Al Viro 2017-06-07 441 new_timer->it_sigev_notify = event->sigev_notify;
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 442 new_timer->sigq.info.si_signo = event->sigev_signo;
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 443 new_timer->sigq.info.si_value = event->sigev_value;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 444 } else {
2482097c6c0f01 kernel/time/posix-timers.c Al Viro 2017-06-07 445 new_timer->it_sigev_notify = SIGEV_SIGNAL;
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 446 new_timer->sigq.info.si_signo = SIGALRM;
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 447 memset(&new_timer->sigq.info.si_value, 0, sizeof(sigval_t));
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 448 new_timer->sigq.info.si_value.sival_int = new_timer->it_id;
899921025b406a kernel/posix-timers.c Oleg Nesterov 2008-12-01 449 new_timer->it_pid = get_pid(task_tgid(current));
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 450 }
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 451
ef1c5bcd6daa67 kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 452 if (new_timer->it_sigev_notify & SIGEV_THREAD_ID)
ef1c5bcd6daa67 kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 453 new_timer->it_pid_type = PIDTYPE_PID;
ef1c5bcd6daa67 kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 454 else
ef1c5bcd6daa67 kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 455 new_timer->it_pid_type = PIDTYPE_TGID;
ef1c5bcd6daa67 kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 456
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 457 new_timer->sigq.info.si_tid = new_timer->it_id;
6017a158beb13b kernel/time/posix-timers.c Thomas Gleixner 2024-11-05 458 new_timer->sigq.info.si_code = SI_TIMER;
717835d94d3e3d kernel/posix-timers.c Oleg Nesterov 2008-09-22 459
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 460 if (copy_to_user(created_timer_id, &new_timer_id, sizeof (new_timer_id))) {
2b08de0073a569 kernel/posix-timers.c Andrey Vagin 2010-07-20 461 error = -EFAULT;
2b08de0073a569 kernel/posix-timers.c Andrey Vagin 2010-07-20 462 goto out;
2b08de0073a569 kernel/posix-timers.c Andrey Vagin 2010-07-20 463 }
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 464 /*
ee35cb45408848 kernel/time/posix-timers.c Thomas Gleixner 2025-02-18 465 * After successful copy out, the timer ID is visible to user space
ee35cb45408848 kernel/time/posix-timers.c Thomas Gleixner 2025-02-18 466 * now but not yet valid because new_timer::it_valid is still false.
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 467 *
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 468 * Complete the initialization with the clock specific create
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 469 * callback.
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 470 */
838394fbf98997 kernel/posix-timers.c Thomas Gleixner 2011-02-01 471 error = kc->timer_create(new_timer);
45e0fffc8a7778 kernel/posix-timers.c Andrey Vagin 2010-05-24 472 if (error)
45e0fffc8a7778 kernel/posix-timers.c Andrey Vagin 2010-05-24 473 goto out;
45e0fffc8a7778 kernel/posix-timers.c Andrey Vagin 2010-05-24 474
36b2f046000b35 kernel/posix-timers.c Oleg Nesterov 2008-09-22 475 spin_lock_irq(¤t->sighand->siglock);
ee35cb45408848 kernel/time/posix-timers.c Thomas Gleixner 2025-02-18 476 /* Set the valid marker so it's visible for syscall operations. */
ee35cb45408848 kernel/time/posix-timers.c Thomas Gleixner 2025-02-18 477 WRITE_ONCE(new_timer->it_valid, true);
52dea0a15cc888 kernel/time/posix-timers.c Thomas Gleixner 2024-06-10 478 hlist_add_head(&new_timer->list, ¤t->signal->posix_timers);
36b2f046000b35 kernel/posix-timers.c Oleg Nesterov 2008-09-22 479 spin_unlock_irq(¤t->sighand->siglock);
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 480 /*
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 481 * After unlocking sighand::siglock @new_timer is subject to
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 482 * concurrent removal and cannot be touched anymore
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 483 */
52f090b164b59c kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 484 return 0;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 485 out:
8cc96ca2c75f6d kernel/time/posix-timers.c Thomas Gleixner 2023-04-25 486 posix_timer_unhash_and_free(new_timer);
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 487 return error;
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 488 }
^1da177e4c3f41 kernel/posix-timers.c Linus Torvalds 2005-04-16 489
:::::: The code at line 423 was first introduced by commit
:::::: 5ed67f05f66c41e39880a6d61358438a25f9fee5 posix timers: Allocate timer id per process (v2)
:::::: TO: Pavel Emelyanov <xemul@parallels.com>
:::::: CC: Thomas Gleixner <tglx@linutronix.de>
--
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:[~2025-02-22 20:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-22 20:47 [tglx-devel:timers/posix 10/19] kernel/time/posix-timers.c:423:9: error: 'new_timer_id' undeclared; did you mean 'new_timer'? 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.