All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.