tree:
https://github.com/rgushchin/linux.git freezer_cleanup
head: e2b7f4b08e47dda727cd273144861f2fe3aa77ea
commit: e2b7f4b08e47dda727cd273144861f2fe3aa77ea [1/1] cgroup: inline
cgroup_task_freeze()
config: powerpc64-randconfig-r014-20210510 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
492173d42b32cb91d5d0d72d5ed84fcab80d059a)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
#
https://github.com/rgushchin/linux/commit/e2b7f4b08e47dda727cd273144861f2...
git remote add rgushchin
https://github.com/rgushchin/linux.git
git fetch --no-tags rgushchin freezer_cleanup
git checkout e2b7f4b08e47dda727cd273144861f2fe3aa77ea
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro
'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:100:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/cgroup/cgroup.c:31:
In file included from kernel/cgroup/cgroup-internal.h:5:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro
'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:104:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/cgroup/cgroup.c:31:
In file included from kernel/cgroup/cgroup-internal.h:5:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro
'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:108:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/cgroup/cgroup.c:31:
In file included from kernel/cgroup/cgroup-internal.h:5:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro
'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:112:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/cgroup/cgroup.c:31:
In file included from kernel/cgroup/cgroup-internal.h:5:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro
'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:116:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
> kernel/cgroup/cgroup.c:6270:17: error: use of undeclared
identifier 'task'; did you mean 'tsk'?
if
(unlikely(!(task->flags & PF_KTHREAD) &&
^~~~
tsk
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
kernel/cgroup/cgroup.c:6271:47: error: use of undeclared identifier 'task'; did
you mean 'tsk'?
test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
^~~~
tsk
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
> kernel/cgroup/cgroup.c:6270:17: error: use of undeclared
identifier 'task'; did you mean 'tsk'?
if
(unlikely(!(task->flags & PF_KTHREAD) &&
^~~~
tsk
include/linux/compiler.h:48:68: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:35:19: note: expanded from macro '__branch_check__'
expect, is_constant); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
kernel/cgroup/cgroup.c:6271:47: error: use of undeclared identifier 'task'; did
you mean 'tsk'?
test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
^~~~
tsk
include/linux/compiler.h:48:68: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:35:19: note: expanded from macro '__branch_check__'
expect, is_constant); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
> kernel/cgroup/cgroup.c:6270:17: error: use of undeclared
identifier 'task'; did you mean 'tsk'?
if
(unlikely(!(task->flags & PF_KTHREAD) &&
^~~~
tsk
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
kernel/cgroup/cgroup.c:6271:47: error: use of undeclared identifier 'task'; did
you mean 'tsk'?
test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
^~~~
tsk
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
> kernel/cgroup/cgroup.c:6270:17: error: use of undeclared
identifier 'task'; did you mean 'tsk'?
if
(unlikely(!(task->flags & PF_KTHREAD) &&
^~~~
tsk
include/linux/compiler.h:48:68: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:35:19: note: expanded from macro '__branch_check__'
expect, is_constant); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
kernel/cgroup/cgroup.c:6271:47: error: use of undeclared identifier 'task'; did
you mean 'tsk'?
test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
^~~~
tsk
include/linux/compiler.h:48:68: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:35:19: note: expanded from macro '__branch_check__'
expect, is_constant); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
> kernel/cgroup/cgroup.c:6270:17: error: use of undeclared
identifier 'task'; did you mean 'tsk'?
if
(unlikely(!(task->flags & PF_KTHREAD) &&
^~~~
tsk
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
kernel/cgroup/cgroup.c:6271:47: error: use of undeclared identifier 'task'; did
you mean 'tsk'?
test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
^~~~
tsk
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
> kernel/cgroup/cgroup.c:6270:17: error: use of undeclared
identifier 'task'; did you mean 'tsk'?
if
(unlikely(!(task->flags & PF_KTHREAD) &&
^~~~
tsk
include/linux/compiler.h:48:68: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:35:19: note: expanded from macro '__branch_check__'
expect, is_constant); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
kernel/cgroup/cgroup.c:6271:47: error: use of undeclared identifier 'task'; did
you mean 'tsk'?
test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
^~~~
tsk
include/linux/compiler.h:48:68: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:35:19: note: expanded from macro '__branch_check__'
expect, is_constant); \
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
^
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^
kernel/cgroup/cgroup.c:6255:38: note: 'tsk' declared here
void cgroup_exit(struct task_struct *tsk)
^
6 warnings and 12 errors generated.
vim +6270 kernel/cgroup/cgroup.c
6247
6248 /**
6249 * cgroup_exit - detach cgroup from exiting task
6250 * @tsk: pointer to task_struct of exiting process
6251 *
6252 * Description: Detach cgroup from @tsk.
6253 *
6254 */
6255 void cgroup_exit(struct task_struct *tsk)
6256 {
6257 struct cgroup_subsys *ss;
6258 struct css_set *cset;
6259 int i;
6260
6261 spin_lock_irq(&css_set_lock);
6262
6263 WARN_ON_ONCE(list_empty(&tsk->cg_list));
6264 cset = task_css_set(tsk);
6265 css_set_move_task(tsk, cset, NULL, false);
6266 list_add_tail(&tsk->cg_list, &cset->dying_tasks);
6267 cset->nr_tasks--;
6268
6269 WARN_ON_ONCE(cgroup_task_frozen(tsk));
6270 if (unlikely(!(task->flags & PF_KTHREAD) &&
6271 test_bit(CGRP_FREEZE, &task_dfl_cgroup(task)->flags)))
6272 cgroup_update_frozen(task_dfl_cgroup(tsk));
6273
6274 spin_unlock_irq(&css_set_lock);
6275
6276 /* see cgroup_post_fork() for details */
6277 do_each_subsys_mask(ss, i, have_exit_callback) {
6278 ss->exit(tsk);
6279 } while_each_subsys_mask();
6280 }
6281
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org