cgroup: Avoid -Wstringop-overflow warnings
authorGustavo A. R. Silva <gustavoars@kernel.org>
Thu, 15 Jun 2023 01:18:22 +0000 (19:18 -0600)
committerTejun Heo <tj@kernel.org>
Wed, 21 Jun 2023 20:41:44 +0000 (10:41 -1000)
Address the following -Wstringop-overflow warnings seen when
built with ARM architecture and aspeed_g4_defconfig configuration
(notice that under this configuration CGROUP_SUBSYS_COUNT == 0):
kernel/cgroup/cgroup.c:1208:16: warning: 'find_existing_css_set' accessing 4 bytes in a region of size 0 [-Wstringop-overflow=]
kernel/cgroup/cgroup.c:1258:15: warning: 'css_set_hash' accessing 4 bytes in a region of size 0 [-Wstringop-overflow=]
kernel/cgroup/cgroup.c:6089:18: warning: 'css_set_hash' accessing 4 bytes in a region of size 0 [-Wstringop-overflow=]
kernel/cgroup/cgroup.c:6153:18: warning: 'css_set_hash' accessing 4 bytes in a region of size 0 [-Wstringop-overflow=]

These changes are based on commit d20d30ebb199 ("cgroup: Avoid compiler
warnings with no subsystems").

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/cgroup.c

index 065bebb..1404e8e 100644 (file)
@@ -1198,6 +1198,9 @@ static struct css_set *find_css_set(struct css_set *old_cset,
        unsigned long key;
        int ssid;
 
+       if (!CGROUP_HAS_SUBSYS_CONFIG)
+               return NULL;
+
        lockdep_assert_held(&cgroup_mutex);
 
        /* First see if we already have a cgroup group that matches
@@ -6017,6 +6020,9 @@ int __init cgroup_init(void)
        struct cgroup_subsys *ss;
        int ssid;
 
+       if (!CGROUP_HAS_SUBSYS_CONFIG)
+               return -EINVAL;
+
        BUILD_BUG_ON(CGROUP_SUBSYS_COUNT > 16);
        BUG_ON(cgroup_init_cftypes(NULL, cgroup_base_files));
        BUG_ON(cgroup_init_cftypes(NULL, cgroup_psi_files));