public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* [tglx-devel:timers/posix 58/61] kernel/signal.c:2097:48: error: no member named 'list' in 'struct kernel_siginfo'
@ 2023-06-06 13:50 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-06-06 13:50 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: llvm, 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: riscv-randconfig-r036-20230605 (https://download.01.org/0day-ci/archive/20230606/202306062137.desNbLij-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # 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=clang ~/bin/make.cross W=1 O=build_dir ARCH=riscv olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=riscv 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/202306062137.desNbLij-lkp@intel.com/

All errors (new ones prefixed by >>):

>> kernel/signal.c:2097:48: error: no member named 'list' in 'struct kernel_siginfo'
    2097 |                 if (WARN_ON_ONCE(!list_empty(&tmr->sigq.info.list)))
         |                                               ~~~~~~~~~~~~~~ ^
   include/asm-generic/bug.h:110:25: note: expanded from macro 'WARN_ON_ONCE'
     110 |         int __ret_warn_on = !!(condition);                      \
         |                                ^~~~~~~~~
   1 error generated.


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 13:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-06 13:50 [tglx-devel:timers/posix 58/61] kernel/signal.c:2097:48: error: no member named 'list' in 'struct kernel_siginfo' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox