All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: linux-kernel@vger.kernel.org, Martin Sebor <msebor@gcc.gnu.org>,
	Tejun Heo <tj@kernel.org>, Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
	x86@kernel.org, "Ning Sun" <ning.sun@intel.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Simon Kelley" <simon@thekelleys.org.uk>,
	"James Smart" <james.smart@broadcom.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Anders Larsen" <al@alarsen.net>,
	"Serge Hallyn" <serge@hallyn.com>,
	"Imre Deak" <imre.deak@intel.com>,
	linux-arm-kernel@lists.infradead.org,
	tboot-devel@lists.sourceforge.net,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	ath11k@lists.infradead.org, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, linux-scsi@vger.kernel.org,
	cgroups@vger.kernel.org, linux-security-module@vger.kernel.org,
	"Roman Gushchin" <guro@fb.com>,
	"Christian Brauner" <christian.brauner@ubuntu.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Andrii Nakryiko" <andriin@fb.com>, "Odin Ugedal" <odin@uged.al>,
	"Cong Wang" <xiyou.wangcong@gmail.com>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Bhaskar Chowdhury" <unixbhaskar@gmail.com>
Subject: [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings
Date: Mon, 22 Mar 2021 17:02:44 +0100	[thread overview]
Message-ID: <20210322160253.4032422-7-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

When cgroups are enabled, but every single subsystem is turned off,
CGROUP_SUBSYS_COUNT is zero, and the cgrp->subsys[] array has no
members.

gcc-11 points out that this leads to an invalid access in any function
that might access this array:

kernel/cgroup/cgroup.c: In function 'cgroup_addrm_files':
kernel/cgroup/cgroup.c:460:58: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
kernel/cgroup/cgroup.c:460:24: note: in expansion of macro 'rcu_dereference_check'
  460 |                 return rcu_dereference_check(cgrp->subsys[ss->id],
      |                        ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cgroup.h:28,
                 from kernel/cgroup/cgroup-internal.h:5,
                 from kernel/cgroup/cgroup.c:31:
include/linux/cgroup-defs.h:422:43: note: while referencing 'subsys'
  422 |         struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

I'm not sure what is expected to happen for such a configuration,
presumably these functions are never calls in that case. Adding a
sanity check in each function we get the warning for manages to shut
up the warnings and do nothing instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm grouping this together with the -Wstringop-overread warnings,
since the underlying logic in gcc seems to be the same.
---
 kernel/cgroup/cgroup.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 9153b20e5cc6..3477f1dc7872 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -456,7 +456,7 @@ static u16 cgroup_ss_mask(struct cgroup *cgrp)
 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 					      struct cgroup_subsys *ss)
 {
-	if (ss)
+	if (ss && (CGROUP_SUBSYS_COUNT > 0))
 		return rcu_dereference_check(cgrp->subsys[ss->id],
 					lockdep_is_held(&cgroup_mutex));
 	else
@@ -534,6 +534,9 @@ struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	do {
 		css = cgroup_css(cgrp, ss);
 
@@ -561,6 +564,9 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	rcu_read_lock();
 
 	do {
@@ -630,7 +636,7 @@ struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
 	 * the matching css from the cgroup's subsys table is guaranteed to
 	 * be and stay valid until the enclosing operation is complete.
 	 */
-	if (cft->ss)
+	if (cft->ss && CGROUP_SUBSYS_COUNT > 0)
 		return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
 	else
 		return &cgrp->self;
@@ -2343,6 +2349,9 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset,
 	struct css_set *cset = tset->cur_cset;
 	struct task_struct *task = tset->cur_task;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	while (&cset->mg_node != tset->csets) {
 		if (!task)
 			task = list_first_entry(&cset->mg_tasks,
@@ -4523,7 +4532,7 @@ void css_task_iter_start(struct cgroup_subsys_state *css, unsigned int flags,
 	it->ss = css->ss;
 	it->flags = flags;
 
-	if (it->ss)
+	if (it->ss && CGROUP_SUBSYS_COUNT > 0)
 		it->cset_pos = &css->cgroup->e_csets[css->ss->id];
 	else
 		it->cset_pos = &css->cgroup->cset_links;
-- 
2.29.2


WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: linux-kernel@vger.kernel.org, Martin Sebor <msebor@gcc.gnu.org>,
	Tejun Heo <tj@kernel.org>, Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
	x86@kernel.org, "Ning Sun" <ning.sun@intel.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Simon Kelley" <simon@thekelleys.org.uk>,
	"James Smart" <james.smart@broadcom.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Anders Larsen" <al@alarsen.net>,
	"Serge Hallyn" <serge@hallyn.com>,
	"Imre Deak" <imre.deak@intel.com>,
	linux-arm-kernel@lists.infradead.org,
	tboot-devel@lists.sourceforge.net,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	ath11k@lists.infradead.org, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, linux-scsi@vger.kernel.org,
	cgroups@vger.kernel.org, linux-security-module@vger.kernel.org,
	"Roman Gushchin" <guro@fb.com>,
	"Christian Brauner" <christian.brauner@ubuntu.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Andrii Nakryiko" <andriin@fb.com>, "Odin Ugedal" <odin@uged.al>,
	"Cong Wang" <xiyou.wangcong@gmail.com>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Bhaskar Chowdhury" <unixbhaskar@gmail.com>
Subject: [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings
Date: Mon, 22 Mar 2021 17:02:44 +0100	[thread overview]
Message-ID: <20210322160253.4032422-7-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

When cgroups are enabled, but every single subsystem is turned off,
CGROUP_SUBSYS_COUNT is zero, and the cgrp->subsys[] array has no
members.

gcc-11 points out that this leads to an invalid access in any function
that might access this array:

kernel/cgroup/cgroup.c: In function 'cgroup_addrm_files':
kernel/cgroup/cgroup.c:460:58: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
kernel/cgroup/cgroup.c:460:24: note: in expansion of macro 'rcu_dereference_check'
  460 |                 return rcu_dereference_check(cgrp->subsys[ss->id],
      |                        ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cgroup.h:28,
                 from kernel/cgroup/cgroup-internal.h:5,
                 from kernel/cgroup/cgroup.c:31:
include/linux/cgroup-defs.h:422:43: note: while referencing 'subsys'
  422 |         struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

I'm not sure what is expected to happen for such a configuration,
presumably these functions are never calls in that case. Adding a
sanity check in each function we get the warning for manages to shut
up the warnings and do nothing instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm grouping this together with the -Wstringop-overread warnings,
since the underlying logic in gcc seems to be the same.
---
 kernel/cgroup/cgroup.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 9153b20e5cc6..3477f1dc7872 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -456,7 +456,7 @@ static u16 cgroup_ss_mask(struct cgroup *cgrp)
 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 					      struct cgroup_subsys *ss)
 {
-	if (ss)
+	if (ss && (CGROUP_SUBSYS_COUNT > 0))
 		return rcu_dereference_check(cgrp->subsys[ss->id],
 					lockdep_is_held(&cgroup_mutex));
 	else
@@ -534,6 +534,9 @@ struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	do {
 		css = cgroup_css(cgrp, ss);
 
@@ -561,6 +564,9 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	rcu_read_lock();
 
 	do {
@@ -630,7 +636,7 @@ struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
 	 * the matching css from the cgroup's subsys table is guaranteed to
 	 * be and stay valid until the enclosing operation is complete.
 	 */
-	if (cft->ss)
+	if (cft->ss && CGROUP_SUBSYS_COUNT > 0)
 		return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
 	else
 		return &cgrp->self;
@@ -2343,6 +2349,9 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset,
 	struct css_set *cset = tset->cur_cset;
 	struct task_struct *task = tset->cur_task;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	while (&cset->mg_node != tset->csets) {
 		if (!task)
 			task = list_first_entry(&cset->mg_tasks,
@@ -4523,7 +4532,7 @@ void css_task_iter_start(struct cgroup_subsys_state *css, unsigned int flags,
 	it->ss = css->ss;
 	it->flags = flags;
 
-	if (it->ss)
+	if (it->ss && CGROUP_SUBSYS_COUNT > 0)
 		it->cset_pos = &css->cgroup->e_csets[css->ss->id];
 	else
 		it->cset_pos = &css->cgroup->cset_links;
-- 
2.29.2


-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: linux-kernel@vger.kernel.org, Martin Sebor <msebor@gcc.gnu.org>,
	Tejun Heo <tj@kernel.org>, Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
	x86@kernel.org, "Ning Sun" <ning.sun@intel.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Simon Kelley" <simon@thekelleys.org.uk>,
	"James Smart" <james.smart@broadcom.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Anders Larsen" <al@alarsen.net>,
	"Serge Hallyn" <serge@hallyn.com>,
	"Imre Deak" <imre.deak@intel.com>,
	linux-arm-kernel@lists.infradead.org,
	tboot-devel@lists.sourceforge.net,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	ath11k@lists.infradead.org, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, linux-scsi@vger.kernel.org,
	cgroups@vger.kernel.org, linux-security-module@vger.kernel.org,
	"Roman Gushchin" <guro@fb.com>,
	"Christian Brauner" <christian.brauner@ubuntu.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Andrii Nakryiko" <andriin@fb.com>, "Odin Ugedal" <odin@uged.al>,
	"Cong Wang" <xiyou.wangcong@gmail.com>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Bhaskar Chowdhury" <unixbhaskar@gmail.com>
Subject: [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings
Date: Mon, 22 Mar 2021 17:02:44 +0100	[thread overview]
Message-ID: <20210322160253.4032422-7-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

When cgroups are enabled, but every single subsystem is turned off,
CGROUP_SUBSYS_COUNT is zero, and the cgrp->subsys[] array has no
members.

gcc-11 points out that this leads to an invalid access in any function
that might access this array:

kernel/cgroup/cgroup.c: In function 'cgroup_addrm_files':
kernel/cgroup/cgroup.c:460:58: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
kernel/cgroup/cgroup.c:460:24: note: in expansion of macro 'rcu_dereference_check'
  460 |                 return rcu_dereference_check(cgrp->subsys[ss->id],
      |                        ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cgroup.h:28,
                 from kernel/cgroup/cgroup-internal.h:5,
                 from kernel/cgroup/cgroup.c:31:
include/linux/cgroup-defs.h:422:43: note: while referencing 'subsys'
  422 |         struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

I'm not sure what is expected to happen for such a configuration,
presumably these functions are never calls in that case. Adding a
sanity check in each function we get the warning for manages to shut
up the warnings and do nothing instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm grouping this together with the -Wstringop-overread warnings,
since the underlying logic in gcc seems to be the same.
---
 kernel/cgroup/cgroup.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 9153b20e5cc6..3477f1dc7872 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -456,7 +456,7 @@ static u16 cgroup_ss_mask(struct cgroup *cgrp)
 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 					      struct cgroup_subsys *ss)
 {
-	if (ss)
+	if (ss && (CGROUP_SUBSYS_COUNT > 0))
 		return rcu_dereference_check(cgrp->subsys[ss->id],
 					lockdep_is_held(&cgroup_mutex));
 	else
@@ -534,6 +534,9 @@ struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	do {
 		css = cgroup_css(cgrp, ss);
 
@@ -561,6 +564,9 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	rcu_read_lock();
 
 	do {
@@ -630,7 +636,7 @@ struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
 	 * the matching css from the cgroup's subsys table is guaranteed to
 	 * be and stay valid until the enclosing operation is complete.
 	 */
-	if (cft->ss)
+	if (cft->ss && CGROUP_SUBSYS_COUNT > 0)
 		return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
 	else
 		return &cgrp->self;
@@ -2343,6 +2349,9 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset,
 	struct css_set *cset = tset->cur_cset;
 	struct task_struct *task = tset->cur_task;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	while (&cset->mg_node != tset->csets) {
 		if (!task)
 			task = list_first_entry(&cset->mg_tasks,
@@ -4523,7 +4532,7 @@ void css_task_iter_start(struct cgroup_subsys_state *css, unsigned int flags,
 	it->ss = css->ss;
 	it->flags = flags;
 
-	if (it->ss)
+	if (it->ss && CGROUP_SUBSYS_COUNT > 0)
 		it->cset_pos = &css->cgroup->e_csets[css->ss->id];
 	else
 		it->cset_pos = &css->cgroup->cset_links;
-- 
2.29.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: linux-kernel@vger.kernel.org, Martin Sebor <msebor@gcc.gnu.org>,
	Tejun Heo <tj@kernel.org>, Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Cc: "Alexei Starovoitov" <ast@kernel.org>,
	dri-devel@lists.freedesktop.org,
	"Cong Wang" <xiyou.wangcong@gmail.com>,
	"Christian Brauner" <christian.brauner@ubuntu.com>,
	"Odin Ugedal" <odin@uged.al>,
	linux-scsi@vger.kernel.org, x86@kernel.org,
	"James Smart" <james.smart@broadcom.com>,
	tboot-devel@lists.sourceforge.net,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Andrii Nakryiko" <andriin@fb.com>,
	ath11k@lists.infradead.org, "Serge Hallyn" <serge@hallyn.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Ning Sun" <ning.sun@intel.com>, "Anders Larsen" <al@alarsen.net>,
	"Bhaskar Chowdhury" <unixbhaskar@gmail.com>,
	cgroups@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	"Michal Koutný" <mkoutny@suse.com>,
	"Simon Kelley" <simon@thekelleys.org.uk>,
	intel-gfx@lists.freedesktop.org, "Roman Gushchin" <guro@fb.com>
Subject: [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings
Date: Mon, 22 Mar 2021 17:02:44 +0100	[thread overview]
Message-ID: <20210322160253.4032422-7-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

When cgroups are enabled, but every single subsystem is turned off,
CGROUP_SUBSYS_COUNT is zero, and the cgrp->subsys[] array has no
members.

gcc-11 points out that this leads to an invalid access in any function
that might access this array:

kernel/cgroup/cgroup.c: In function 'cgroup_addrm_files':
kernel/cgroup/cgroup.c:460:58: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
kernel/cgroup/cgroup.c:460:24: note: in expansion of macro 'rcu_dereference_check'
  460 |                 return rcu_dereference_check(cgrp->subsys[ss->id],
      |                        ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cgroup.h:28,
                 from kernel/cgroup/cgroup-internal.h:5,
                 from kernel/cgroup/cgroup.c:31:
include/linux/cgroup-defs.h:422:43: note: while referencing 'subsys'
  422 |         struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

I'm not sure what is expected to happen for such a configuration,
presumably these functions are never calls in that case. Adding a
sanity check in each function we get the warning for manages to shut
up the warnings and do nothing instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm grouping this together with the -Wstringop-overread warnings,
since the underlying logic in gcc seems to be the same.
---
 kernel/cgroup/cgroup.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 9153b20e5cc6..3477f1dc7872 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -456,7 +456,7 @@ static u16 cgroup_ss_mask(struct cgroup *cgrp)
 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 					      struct cgroup_subsys *ss)
 {
-	if (ss)
+	if (ss && (CGROUP_SUBSYS_COUNT > 0))
 		return rcu_dereference_check(cgrp->subsys[ss->id],
 					lockdep_is_held(&cgroup_mutex));
 	else
@@ -534,6 +534,9 @@ struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	do {
 		css = cgroup_css(cgrp, ss);
 
@@ -561,6 +564,9 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	rcu_read_lock();
 
 	do {
@@ -630,7 +636,7 @@ struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
 	 * the matching css from the cgroup's subsys table is guaranteed to
 	 * be and stay valid until the enclosing operation is complete.
 	 */
-	if (cft->ss)
+	if (cft->ss && CGROUP_SUBSYS_COUNT > 0)
 		return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
 	else
 		return &cgrp->self;
@@ -2343,6 +2349,9 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset,
 	struct css_set *cset = tset->cur_cset;
 	struct task_struct *task = tset->cur_task;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	while (&cset->mg_node != tset->csets) {
 		if (!task)
 			task = list_first_entry(&cset->mg_tasks,
@@ -4523,7 +4532,7 @@ void css_task_iter_start(struct cgroup_subsys_state *css, unsigned int flags,
 	it->ss = css->ss;
 	it->flags = flags;
 
-	if (it->ss)
+	if (it->ss && CGROUP_SUBSYS_COUNT > 0)
 		it->cset_pos = &css->cgroup->e_csets[css->ss->id];
 	else
 		it->cset_pos = &css->cgroup->cset_links;
-- 
2.29.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: linux-kernel@vger.kernel.org, Martin Sebor <msebor@gcc.gnu.org>,
	Tejun Heo <tj@kernel.org>, Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Cc: "Alexei Starovoitov" <ast@kernel.org>,
	dri-devel@lists.freedesktop.org,
	"Cong Wang" <xiyou.wangcong@gmail.com>,
	"Christian Brauner" <christian.brauner@ubuntu.com>,
	"Odin Ugedal" <odin@uged.al>,
	linux-scsi@vger.kernel.org, x86@kernel.org,
	"James Smart" <james.smart@broadcom.com>,
	tboot-devel@lists.sourceforge.net,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Andrii Nakryiko" <andriin@fb.com>,
	ath11k@lists.infradead.org, "Serge Hallyn" <serge@hallyn.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Ning Sun" <ning.sun@intel.com>, "Anders Larsen" <al@alarsen.net>,
	"Bhaskar Chowdhury" <unixbhaskar@gmail.com>,
	cgroups@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	"Michal Koutný" <mkoutny@suse.com>,
	"Simon Kelley" <simon@thekelleys.org.uk>,
	intel-gfx@lists.freedesktop.org, "Roman Gushchin" <guro@fb.com>
Subject: [Intel-gfx] [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings
Date: Mon, 22 Mar 2021 17:02:44 +0100	[thread overview]
Message-ID: <20210322160253.4032422-7-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

When cgroups are enabled, but every single subsystem is turned off,
CGROUP_SUBSYS_COUNT is zero, and the cgrp->subsys[] array has no
members.

gcc-11 points out that this leads to an invalid access in any function
that might access this array:

kernel/cgroup/cgroup.c: In function 'cgroup_addrm_files':
kernel/cgroup/cgroup.c:460:58: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
kernel/cgroup/cgroup.c:460:24: note: in expansion of macro 'rcu_dereference_check'
  460 |                 return rcu_dereference_check(cgrp->subsys[ss->id],
      |                        ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cgroup.h:28,
                 from kernel/cgroup/cgroup-internal.h:5,
                 from kernel/cgroup/cgroup.c:31:
include/linux/cgroup-defs.h:422:43: note: while referencing 'subsys'
  422 |         struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

I'm not sure what is expected to happen for such a configuration,
presumably these functions are never calls in that case. Adding a
sanity check in each function we get the warning for manages to shut
up the warnings and do nothing instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm grouping this together with the -Wstringop-overread warnings,
since the underlying logic in gcc seems to be the same.
---
 kernel/cgroup/cgroup.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 9153b20e5cc6..3477f1dc7872 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -456,7 +456,7 @@ static u16 cgroup_ss_mask(struct cgroup *cgrp)
 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 					      struct cgroup_subsys *ss)
 {
-	if (ss)
+	if (ss && (CGROUP_SUBSYS_COUNT > 0))
 		return rcu_dereference_check(cgrp->subsys[ss->id],
 					lockdep_is_held(&cgroup_mutex));
 	else
@@ -534,6 +534,9 @@ struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	do {
 		css = cgroup_css(cgrp, ss);
 
@@ -561,6 +564,9 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	rcu_read_lock();
 
 	do {
@@ -630,7 +636,7 @@ struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
 	 * the matching css from the cgroup's subsys table is guaranteed to
 	 * be and stay valid until the enclosing operation is complete.
 	 */
-	if (cft->ss)
+	if (cft->ss && CGROUP_SUBSYS_COUNT > 0)
 		return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
 	else
 		return &cgrp->self;
@@ -2343,6 +2349,9 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset,
 	struct css_set *cset = tset->cur_cset;
 	struct task_struct *task = tset->cur_task;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	while (&cset->mg_node != tset->csets) {
 		if (!task)
 			task = list_first_entry(&cset->mg_tasks,
@@ -4523,7 +4532,7 @@ void css_task_iter_start(struct cgroup_subsys_state *css, unsigned int flags,
 	it->ss = css->ss;
 	it->flags = flags;
 
-	if (it->ss)
+	if (it->ss && CGROUP_SUBSYS_COUNT > 0)
 		it->cset_pos = &css->cgroup->e_csets[css->ss->id];
 	else
 		it->cset_pos = &css->cgroup->cset_links;
-- 
2.29.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Martin Sebor <msebor-/MQLu3FmUzdAfugRpC6u6w@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Zefan Li <lizefan.x-EC8Uxl6Npydl57MIdRCFDg@public.gmane.org>,
	Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	Ning Sun <ning.sun-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jani Nikula <jani.nikula-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Kalle Valo <kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Simon Kelley
	<simon-xn1N/tgparsycpQjotevgVpr/1R2p/CL@public.gmane.org>,
	James Smart <james.smart-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	"James E.J. Bottomley"
	<jejb-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org>,
	Anders Larsen <al-V9/YLgxv/GvR7s880joybQ@public.gmane.org>,
	Serge Hallyn <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>,
	Imre Deak <imre.deak-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	tboot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	ath11k-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-security-module-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Roman Gushchin <guro-b10kYP2dOMg@public.gmane.org>,
	Christian Brauner <christian.brauner>
Subject: [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings
Date: Mon, 22 Mar 2021 17:02:44 +0100	[thread overview]
Message-ID: <20210322160253.4032422-7-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>

When cgroups are enabled, but every single subsystem is turned off,
CGROUP_SUBSYS_COUNT is zero, and the cgrp->subsys[] array has no
members.

gcc-11 points out that this leads to an invalid access in any function
that might access this array:

kernel/cgroup/cgroup.c: In function 'cgroup_addrm_files':
kernel/cgroup/cgroup.c:460:58: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'struct cgroup_subsys_state *[0]' [-Wzero-length-bounds]
kernel/cgroup/cgroup.c:460:24: note: in expansion of macro 'rcu_dereference_check'
  460 |                 return rcu_dereference_check(cgrp->subsys[ss->id],
      |                        ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/cgroup.h:28,
                 from kernel/cgroup/cgroup-internal.h:5,
                 from kernel/cgroup/cgroup.c:31:
include/linux/cgroup-defs.h:422:43: note: while referencing 'subsys'
  422 |         struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

I'm not sure what is expected to happen for such a configuration,
presumably these functions are never calls in that case. Adding a
sanity check in each function we get the warning for manages to shut
up the warnings and do nothing instead.

Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
---
I'm grouping this together with the -Wstringop-overread warnings,
since the underlying logic in gcc seems to be the same.
---
 kernel/cgroup/cgroup.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 9153b20e5cc6..3477f1dc7872 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -456,7 +456,7 @@ static u16 cgroup_ss_mask(struct cgroup *cgrp)
 static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp,
 					      struct cgroup_subsys *ss)
 {
-	if (ss)
+	if (ss && (CGROUP_SUBSYS_COUNT > 0))
 		return rcu_dereference_check(cgrp->subsys[ss->id],
 					lockdep_is_held(&cgroup_mutex));
 	else
@@ -534,6 +534,9 @@ struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	do {
 		css = cgroup_css(cgrp, ss);
 
@@ -561,6 +564,9 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp,
 {
 	struct cgroup_subsys_state *css;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	rcu_read_lock();
 
 	do {
@@ -630,7 +636,7 @@ struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
 	 * the matching css from the cgroup's subsys table is guaranteed to
 	 * be and stay valid until the enclosing operation is complete.
 	 */
-	if (cft->ss)
+	if (cft->ss && CGROUP_SUBSYS_COUNT > 0)
 		return rcu_dereference_raw(cgrp->subsys[cft->ss->id]);
 	else
 		return &cgrp->self;
@@ -2343,6 +2349,9 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset,
 	struct css_set *cset = tset->cur_cset;
 	struct task_struct *task = tset->cur_task;
 
+	if (CGROUP_SUBSYS_COUNT == 0)
+		return NULL;
+
 	while (&cset->mg_node != tset->csets) {
 		if (!task)
 			task = list_first_entry(&cset->mg_tasks,
@@ -4523,7 +4532,7 @@ void css_task_iter_start(struct cgroup_subsys_state *css, unsigned int flags,
 	it->ss = css->ss;
 	it->flags = flags;
 
-	if (it->ss)
+	if (it->ss && CGROUP_SUBSYS_COUNT > 0)
 		it->cset_pos = &css->cgroup->e_csets[css->ss->id];
 	else
 		it->cset_pos = &css->cgroup->cset_links;
-- 
2.29.2


  parent reply	other threads:[~2021-03-22 16:05 UTC|newest]

Thread overview: 197+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 16:02 [PATCH 00/11] treewide: address gcc-11 -Wstringop-overread warnings Arnd Bergmann
2021-03-22 16:02 ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann
2021-03-22 16:02 ` [PATCH 01/11] x86: compressed: avoid gcc-11 -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 23:30   ` [tip: x86/boot] x86/boot/compressed: Avoid " tip-bot2 for Arnd Bergmann
2021-03-22 16:02 ` [PATCH 02/11] x86: tboot: avoid Wstringop-overread-warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 20:29   ` Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 20:29     ` [Intel-gfx] " Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 21:39     ` Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 21:39       ` [Intel-gfx] " Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 22:07     ` Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:07       ` [Intel-gfx] " Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:49       ` Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 22:49         ` [Intel-gfx] " Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 23:13       ` Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-22 23:13         ` [Intel-gfx] " Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-24  9:11       ` David Laight
2021-03-24  9:11         ` David Laight
2021-03-24  9:11         ` [Intel-gfx] " David Laight
2021-03-24  9:11         ` David Laight
2021-03-24  9:11         ` David Laight
2021-03-24  9:11         ` David Laight
2021-03-24 10:39         ` David Laight
2021-03-24 10:39           ` David Laight
2021-03-24 10:39           ` [Intel-gfx] " David Laight
2021-03-24 10:39           ` David Laight
2021-03-24 10:39           ` David Laight
2021-03-24 10:39           ` David Laight
2021-03-22 23:30   ` [tip: x86/boot] x86/boot/tboot: Avoid Wstringop-overread-warning tip-bot2 for Arnd Bergmann
2021-03-22 16:02 ` [PATCH 03/11] security: commoncap: fix -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:31   ` Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-22 16:31     ` [Intel-gfx] " Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-24 20:50   ` James Morris
2021-03-24 20:50     ` James Morris
2021-03-24 20:50     ` [Intel-gfx] " James Morris
2021-03-24 20:50     ` James Morris
2021-03-24 20:50     ` James Morris
2021-03-24 20:50     ` James Morris
2021-03-22 16:02 ` [PATCH 04/11] ath11: Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-09-28  9:04   ` Kalle Valo
2021-09-28  9:04   ` Kalle Valo
2021-09-28  9:04     ` Kalle Valo
2021-09-28  9:04   ` Kalle Valo
2021-09-28  9:04     ` Kalle Valo
2021-09-28  9:04     ` [Intel-gfx] " Kalle Valo
2021-03-22 16:02 ` [PATCH 05/11] qnx: avoid -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann [this message]
2021-03-22 16:02   ` [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-30  8:41   ` Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  8:41     ` [Intel-gfx] " Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  9:00     ` Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30  9:00       ` [Intel-gfx] " Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30 14:44       ` Michal Koutný
2021-03-30 14:44         ` Michal Koutný
2021-03-30 14:44         ` [Intel-gfx] " Michal Koutný
2021-03-30 14:44         ` Michal Koutný
2021-03-30 14:44         ` Michal Koutný
2021-03-30 14:44         ` Michal Koutný
2021-03-22 16:02 ` [PATCH 07/11] ARM: sharpsl_param: work around -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` [PATCH 08/11] atmel: avoid gcc -Wstringop-overflow warning Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` [PATCH 09/11] scsi: lpfc: fix gcc -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` [PATCH 10/11] drm/i915: avoid stringop-overread warning on pri_latency Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-24 15:30   ` Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 15:30     ` [Intel-gfx] " Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 17:22     ` Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
2021-03-24 17:22       ` [Intel-gfx] " Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
2021-03-22 16:02 ` [PATCH 11/11] [RFC] drm/i915/dp: fix array overflow warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-25  8:05   ` Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  8:05     ` [Intel-gfx] " Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  9:53     ` Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25  9:53       ` [Intel-gfx] " Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25 14:49       ` Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-25 14:49         ` [Intel-gfx] " Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-30 10:56   ` Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-30 10:56     ` [Intel-gfx] " Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-22 19:10 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for treewide: address gcc-11 -Wstringop-overread warnings Patchwork
2021-03-22 19:12 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-03-22 19:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-03-23 15:30 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for treewide: address gcc-11 -Wstringop-overread warnings (rev2) Patchwork
2021-03-25 22:35 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for treewide: address gcc-11 -Wstringop-overread warnings (rev3) Patchwork
2021-03-30 11:50 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for treewide: address gcc-11 -Wstringop-overread warnings (rev4) Patchwork
2021-04-06  4:53 ` [PATCH 00/11] treewide: address gcc-11 -Wstringop-overread warnings Martin K. Petersen
2021-04-06  4:53   ` [Intel-gfx] " Martin K. Petersen
2021-04-06  4:53   ` Martin K. Petersen
2021-04-06  4:53   ` Martin K. Petersen
2021-04-06  4:53   ` Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210322160253.4032422-7-arnd@kernel.org \
    --to=arnd@kernel.org \
    --cc=al@alarsen.net \
    --cc=andriin@fb.com \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=ath11k@lists.infradead.org \
    --cc=cgroups@vger.kernel.org \
    --cc=christian.brauner@ubuntu.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=james.smart@broadcom.com \
    --cc=jani.nikula@linux.intel.com \
    --cc=jejb@linux.ibm.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lizefan.x@bytedance.com \
    --cc=mkoutny@suse.com \
    --cc=msebor@gcc.gnu.org \
    --cc=netdev@vger.kernel.org \
    --cc=ning.sun@intel.com \
    --cc=odin@uged.al \
    --cc=serge@hallyn.com \
    --cc=simon@thekelleys.org.uk \
    --cc=tboot-devel@lists.sourceforge.net \
    --cc=tj@kernel.org \
    --cc=unixbhaskar@gmail.com \
    --cc=x86@kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.