Re: [PATCH v3] cgroup: Avoid compiler warnings with no subsystems

From: Tejun Heo
Date: Mon Aug 30 2021 - 14:10:42 EST


On Fri, Aug 27, 2021 at 05:02:55PM -0700, Kees Cook wrote:
> As done before in commit cb4a31675270 ("cgroup: use bitmask to filter
> for_each_subsys"), avoid compiler warnings for the pathological case of
> having no subsystems (i.e. CGROUP_SUBSYS_COUNT == 0). This condition is
> hit for the arm multi_v7_defconfig config under -Wzero-length-bounds:
>
> In file included from ./arch/arm/include/generated/asm/rwonce.h:1,
> from include/linux/compiler.h:264,
> from include/uapi/linux/swab.h:6,
> from include/linux/swab.h:5,
> from arch/arm/include/asm/opcodes.h:86,
> from arch/arm/include/asm/bug.h:7,
> from include/linux/bug.h:5,
> from include/linux/thread_info.h:13,
> from include/asm-generic/current.h:5,
> from ./arch/arm/include/generated/asm/current.h:1,
> from include/linux/sched.h:12,
> from include/linux/cgroup.h:12,
> from kernel/cgroup/cgroup-internal.h:5,
> from kernel/cgroup/cgroup.c:31:
> kernel/cgroup/cgroup.c: In function 'of_css':
> kernel/cgroup/cgroup.c:651:42: warning: array subscript '<unknown>' is outside the bounds of an
> interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
> 651 | return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
>
> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Zefan Li <lizefan.x@xxxxxxxxxxxxx>
> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: cgroups@xxxxxxxxxxxxxxx
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>

Applied to cgroup/for-5.15.

Thanks.

--
tejun