From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932390AbcCNWgq (ORCPT ); Mon, 14 Mar 2016 18:36:46 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:58766 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752726AbcCNWgn (ORCPT ); Mon, 14 Mar 2016 18:36:43 -0400 From: Arnd Bergmann To: Tejun Heo , Li Zefan , Johannes Weiner Cc: Arnd Bergmann , Aditya Kali , Aleksa Sarai , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] cgroup: avoid false positive gcc-6 warning Date: Mon, 14 Mar 2016 23:36:05 +0100 Message-Id: <1457994978-1057495-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:VysYPv6OEs5qUyqHJJpBuzbw5KWs18iAHqNIT6sH6VHByLV5Ewe bz0bfDERAfc/wm1Cy6BFzYhwY2ElDLCLKwOqQ1oPvCuwzqoYH1NjNfuFswtQb58/rqOAGq2 M0c+9MhINK8Y4LVGkA+tXaEpVOj2ki9INFYI0UxNDTzgrTchVhTzg8ZT+D4vkBk11qK07Fm irbh2fkXj8IpZI1WZsOyw== X-UI-Out-Filterresults: notjunk:1;V01:K0:VzCAyFl3jRE=:dJgDmCoi+zSjtzh4uXQ2R1 qkd49NOug7imJGdN81sOcSd1uHKDB5RNcCdbbHRPMl+TMZm5l+l5Q7aoR/mwpA/qnuTlMDL9q Nzy5iGlVA2oAMuGRlE+2vwu7fGjJWccwMIuQSKfFog5hABtIBl5ze1jQHIXF6p3jnTVsN+e0f /OvTL6HmEaBhEWPFzYOQh0U3MX7/X36br2BVCr5rNs/thryry40wRVfC5x4Md+yWGhjkzJJPa f5Q64pKN7xfuChhoeYazxJ6FUXpQpdPcYUygaxH/PkLuDbxuO66ZwG5I7GQJeowtshbn7zkO1 NHmX6N/jcvX7LEVyFxYykvutyQICeluPQoxOVZekM9cSies6iSTFNLFEi9kR2NYVHwYOqoKql 5tZAB1cYtZJwc21hYmhNsLSxOme8IxfG+dGdlCuFIkcxPxKrCpdXyJ9RYAOkN/oWZC+kun0ff bnadtzhPMAgeIoUpW4MXrT5txYdZha3IOXDgay/N5G5b5cNCyW7NgJBho532HlQEmQixFqxeM 0j7F9rEw0e9Qb7LR3vxSZfWjOLdm4nsmIYK4vyKxr5p3Fk72IAJD+cgB9YrC5zfUzkfS0CHxR YjRidg4iYsZ76uWqapXgkZ2nLcCullMvECUZgxT+3AVylUVI7VDktQIqq6apJJrDSf0Kk7Cg+ BUCidsZE66NfKCRW4++IhtaUvllgBOpezoix3QuXY0othP5g1eUPUUESLQz4CQ7oiai8= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When all subsystems are disabled, gcc notices that cgroup_subsys_enabled_key is a zero-length array and that any access to it must be out of bounds: In file included from ../include/linux/cgroup.h:19:0, from ../kernel/cgroup.c:31: ../kernel/cgroup.c: In function 'cgroup_add_cftypes': ../kernel/cgroup.c:261:53: error: array subscript is above array bounds [-Werror=array-bounds] return static_key_enabled(cgroup_subsys_enabled_key[ssid]); ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ ../include/linux/jump_label.h:271:40: note: in definition of macro 'static_key_enabled' static_key_count((struct static_key *)x) > 0; \ ^ We should never call the function in this particular case, so this is not a bug. In order to silence the warning, this adds an explicit check for the CGROUP_SUBSYS_COUNT==0 case. Signed-off-by: Arnd Bergmann --- kernel/cgroup.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 155c88470543..3348a36c3694 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -258,6 +258,9 @@ static int cgroup_addrm_files(struct cgroup_subsys_state *css, */ static bool cgroup_ssid_enabled(int ssid) { + if (CGROUP_SUBSYS_COUNT == 0) + return 0; + return static_key_enabled(cgroup_subsys_enabled_key[ssid]); } -- 2.7.0