* [tglx-devel:timers/posix 58/61] kernel/signal.c:2097:61: error: 'kernel_siginfo_t' {aka 'struct kernel_siginfo'} has no member named 'list'
@ 2023-06-06 3:26 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-06-06 3:26 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: 16a20adb1e0ae19ad42041a7d1b5583e4705ca0c
commit: 3ef2ce19cb1200cb49c61f9b3cef58c4b8a3a10d [58/61] signal: Add list to track ignored posix timers
config: csky-defconfig (https://download.01.org/0day-ci/archive/20230606/202306061112.tUSPDz2k-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/commit/?id=3ef2ce19cb1200cb49c61f9b3cef58c4b8a3a10d
git remote add tglx-devel https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git
git fetch --no-tags tglx-devel timers/posix
git checkout 3ef2ce19cb1200cb49c61f9b3cef58c4b8a3a10d
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=csky olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=csky SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306061112.tUSPDz2k-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:7,
from arch/csky/include/asm/bug.h:18,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/preempt.h:5,
from ./arch/csky/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:56,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:15,
from kernel/signal.c:14:
kernel/signal.c: In function 'posixtimer_sig_unignore':
>> kernel/signal.c:2097:61: error: 'kernel_siginfo_t' {aka 'struct kernel_siginfo'} has no member named 'list'
2097 | if (WARN_ON_ONCE(!list_empty(&tmr->sigq.info.list)))
| ^
include/linux/once_lite.h:28:41: note: in definition of macro 'DO_ONCE_LITE_IF'
28 | bool __ret_do_once = !!(condition); \
| ^~~~~~~~~
kernel/signal.c:2097:21: note: in expansion of macro 'WARN_ON_ONCE'
2097 | if (WARN_ON_ONCE(!list_empty(&tmr->sigq.info.list)))
| ^~~~~~~~~~~~
vim +2097 kernel/signal.c
2067
2068 static void posixtimer_sig_unignore(struct task_struct *tsk, int sig)
2069 {
2070 struct hlist_head *head = &tsk->signal->ignored_posix_timers;
2071 struct hlist_node *tmp;
2072 struct k_itimer *tmr;
2073
2074 if (likely(hlist_empty(head)))
2075 return;
2076
2077 /*
2078 * Rearming a timer with sighand lock held is not possible due to
2079 * lock ordering vs. tmr::it_lock. Just stick the sigqueue back and
2080 * let the signal delivery path deal with it whether it needs to be
2081 * rearmed or not. This cannot be decided here w/o dropping sighand
2082 * lock and creating a loop retry horror show.
2083 */
2084 hlist_for_each_entry_safe(tmr, tmp , head, ignored_list) {
2085 struct task_struct *target;
2086
2087 /*
2088 * tmr::sigq.info.si_signo is immutable, so accessing it
2089 * without holding tmr::it_lock is safe.
2090 */
2091 if (tmr->sigq.info.si_signo != sig)
2092 continue;
2093
2094 hlist_del_init(&tmr->ignored_list);
2095
2096 /* This should never happen and leaks a reference count */
> 2097 if (WARN_ON_ONCE(!list_empty(&tmr->sigq.info.list)))
2098 continue;
2099
2100 /*
2101 * Get the target for the signal. If target is a thread and
2102 * has exited by now, drop the reference count.
2103 */
2104 target = posixtimer_get_target(tmr);
2105 if (target)
2106 posixtimer_queue_sigqueue(&tmr->sigq, target, tmr->it_pid_type);
2107 else
2108 posixtimer_putref(tmr);
2109 }
2110 }
2111 #else /* CONFIG_POSIX_TIMERS */
2112 static inline void posixtimer_sig_ignore(struct task_struct *tsk, struct sigqueue *q) { }
2113 static inline void posixtimer_sig_unignore(struct task_struct *tsk, int sig) { }
2114 #endif /* !CONFIG_POSIX_TIMERS */
2115
--
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:[~2023-06-06 3:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-06 3:26 [tglx-devel:timers/posix 58/61] kernel/signal.c:2097:61: error: 'kernel_siginfo_t' {aka 'struct kernel_siginfo'} has no member named 'list' 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.