lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sun, 31 Oct 2021 03:47:57 +0800
From:   kernel test robot <>
To:     Christoph Hellwig <>
Cc:,,, Jens Axboe <>
Subject: [axboe-block:for-5.16/block 136/175] kernel/sched/core.c:6346:23:
 error: no member named 'plug' in 'struct task_struct'

tree: for-5.16/block
head:   ef1661ba6d2e9c8eecd13ee04067bdcc59f7aac6
commit: 008f75a20e7072d0840ec323c39b42206f3fa8a0 [136/175] block: cleanup the flush plug helpers
config: arm-randconfig-c002-20211028 (attached as .config)
compiler: clang version 14.0.0 ( d321548c3ce987f4f21350ba1c81fdb5d4354224)
reproduce (this is a W=1 build):
        wget -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        git remote add axboe-block
        git fetch --no-tags axboe-block for-5.16/block
        git checkout 008f75a20e7072d0840ec323c39b42206f3fa8a0
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <>

Note: the axboe-block/for-5.16/block HEAD ef1661ba6d2e9c8eecd13ee04067bdcc59f7aac6 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   kernel/sched/core.c:3482:13: warning: variable 'rq' set but not used [-Wunused-but-set-variable]
           struct rq *rq;
>> kernel/sched/core.c:6346:23: error: no member named 'plug' in 'struct task_struct'
                   blk_flush_plug(tsk->plug, true);
                                  ~~~  ^
   kernel/sched/core.c:6399:35: warning: no previous prototype for function 'schedule_user' [-Wmissing-prototypes]
   asmlinkage __visible void __sched schedule_user(void)
   kernel/sched/core.c:6399:22: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage __visible void __sched schedule_user(void)
   kernel/sched/core.c:8357:15: error: no member named 'plug' in 'struct task_struct'
           if (current->plug)
               ~~~~~~~  ^
   kernel/sched/core.c:8358:27: error: no member named 'plug' in 'struct task_struct'
                   blk_flush_plug(current->plug, true);
                                  ~~~~~~~  ^
   2 warnings and 3 errors generated.
>> fs/fs-writeback.c:1896:17: error: no member named 'plug' in 'struct task_struct'
                           if (current->plug)
                               ~~~~~~~  ^
   fs/fs-writeback.c:1897:29: error: no member named 'plug' in 'struct task_struct'
                                   blk_flush_plug(current->plug, false);
                                                  ~~~~~~~  ^
   fs/fs-writeback.c:2295:27: error: no member named 'plug' in 'struct task_struct'
                   blk_flush_plug(current->plug, true);
                                  ~~~~~~~  ^
   3 errors generated.

vim +6346 kernel/sched/core.c

  6313	static inline void sched_submit_work(struct task_struct *tsk)
  6314	{
  6315		unsigned int task_flags;
  6317		if (task_is_running(tsk))
  6318			return;
  6320		task_flags = tsk->flags;
  6321		/*
  6322		 * If a worker went to sleep, notify and ask workqueue whether
  6323		 * it wants to wake up a task to maintain concurrency.
  6324		 * As this function is called inside the schedule() context,
  6325		 * we disable preemption to avoid it calling schedule() again
  6326		 * in the possible wakeup of a kworker and because wq_worker_sleeping()
  6327		 * requires it.
  6328		 */
  6329		if (task_flags & (PF_WQ_WORKER | PF_IO_WORKER)) {
  6330			preempt_disable();
  6331			if (task_flags & PF_WQ_WORKER)
  6332				wq_worker_sleeping(tsk);
  6333			else
  6334				io_wq_worker_sleeping(tsk);
  6335			preempt_enable_no_resched();
  6336		}
  6338		if (tsk_is_pi_blocked(tsk))
  6339			return;
  6341		/*
  6342		 * If we are going to sleep and we have plugged IO queued,
  6343		 * make sure to submit it to avoid deadlocks.
  6344		 */
  6345		if (blk_needs_flush_plug(tsk))
> 6346			blk_flush_plug(tsk->plug, true);
  6347	}

0-DAY CI Kernel Test Service, Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (29789 bytes)

Powered by blists - more mailing lists