All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: Kees Cook <keescook@chromium.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	Joe Perches <joe@perches.com>, Jakub Kicinski <kuba@kernel.org>,
	alsa-devel@alsa-project.org,
	linux-atm-general@lists.sourceforge.net,
	reiserfs-devel@vger.kernel.org, linux-iio@vger.kernel.org,
	linux-wireless <linux-wireless@vger.kernel.org>,
	linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	samba-technical@lists.samba.org, linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org,
	usb-storage@lists.one-eyed-alien.net, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-rdma@vger.kernel.org, oss-drivers@netronome.com,
	bridge@lists.linux-foundation.org,
	linux-security-module@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, linux-acpi@vger.kernel.org,
	coreteam@netfilter.org, intel-wired-lan@lists.osuosl.org,
	linux-input@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	tipc-discussion@lists.sourceforge.net,
	linux-ext4@vger.kernel.org, linux-media@vger.kernel.org,
	linux-watchdog@vger.kernel.org, selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-geode@lists.infradead.org,
	linux-can@vger.kernel.org, linux-block@vger.kernel.org,
	linux-gpio@vger.kernel.org, op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org, ceph-devel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>,
	linux-nfs@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-mmc@vger.kernel.org,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-sctp@vger.kernel.org, linux-usb@vger.kernel.org,
	netfilter-devel@vger.kernel.org,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE" 
	<linux-crypto@vger.kernel.org>,
	patches@opensource.cirrus.com, linux-integrity@vger.kernel.org,
	target-devel@vger.kernel.org, linux-hardening@vger.kernel.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	linux-mmc@vger.kernel.org, coreteam@netfilter.org,
	intel-wired-lan@lists.osuosl.org, linux-input@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	linux-mmc@vger.kernel.org, coreteam@netfilter.org,
	intel-wired-lan@lists.osuosl.org, linux-input@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers via Virtualization <virtualization@lists.linux-foundation.org>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	linux-mmc@vger.kernel.org, coreteam@netfilter.org,
	intel-wired-lan@lists.osuosl.org, linux-input@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	linux-mmc@vger.kernel.org, linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	coreteam@netfilter.org, intel-wired-lan@lists.osuosl.org,
	linux-input@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers
_______________________________________________
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: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	linux-mmc@vger.kernel.org, linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	Linux Memory Management List <linux-mm@kvack.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, linux-watchdog@vger.kernel.org,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	coreteam@netfilter.org, intel-wired-lan@lists.osuosl.org,
	linux-input@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, drbd-dev@tron.linbit.com,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-nfs@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	nouveau@lists.freedesktop.org,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [dm-devel] [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel


WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	linux-mmc@vger.kernel.org, linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	coreteam@netfilter.org, intel-wired-lan@lists.osuosl.org,
	linux-input@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-gfx] [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers
_______________________________________________
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: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	linux-mmc@vger.kernel.org, linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	coreteam@netfilter.org, intel-wired-lan@lists.osuosl.org,
	linux-input@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	linux-mmc@vger.kernel.org, coreteam@netfilter.org,
	intel-wired-lan@lists.osuosl.org, linux-input@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

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

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers



WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: alsa-devel@alsa-project.org, bridge@lists.linux-foundation.org,
	target-devel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, samba-technical@lists.samba.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	linux-fbdev@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-ide@vger.kernel.org, dm-devel@redhat.com,
	keyrings@vger.kernel.org, linux-mtd@lists.infradead.org,
	GR-everest-linux-l2@marvell.com, wcn36xx@lists.infradead.org,
	linux-i3c@lists.infradead.org,
	linux1394-devel@lists.sourceforge.net,
	linux-afs@lists.infradead.org, drbd-dev@lists.linbit.com,
	devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-rdma@vger.kernel.org,
	oss-drivers@netronome.com,
	linux-atm-general@lists.sourceforge.net,
	ceph-devel@vger.kernel.org,
	amd-gfx list <amd-gfx@lists.freedesktop.org>,
	linux-stm32@st-md-mailman.stormreply.com,
	cluster-devel@redhat.com, usb-storage@lists.one-eyed-alien.net,
	linux-mmc@vger.kernel.org, coreteam@netfilter.org,
	intel-wired-lan@lists.osuosl.org, linux-input@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
	linux-ext4@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netfilter-devel@vger.kernel.org, linux-media@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	selinux@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	intel-gfx@lists.freedesktop.org, linux-sctp@vger.kernel.org,
	reiserfs-devel@vger.kernel.org, linux-geode@lists.infradead.org,
	linux-block@vger.kernel.org, linux-gpio@vger.kernel.org,
	op-tee@lists.trustedfirmware.org,
	linux-mediatek@lists.infradead.org,
	xen-devel@lists.xenproject.org, nouveau@lists.freedesktop.org,
	linux-hams@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	linux-can@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-hwmon@vger.kernel.org,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>,
	linux-watchdog@vger.kernel.org, GR-Linux-NIC-Dev@marvell.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-decnet-user@lists.sourceforge.net,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	linux-security-module@vger.kernel.org, linux-usb@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>,
	patches@opensource.cirrus.com, Joe Perches <joe@perches.com>,
	linux-integrity@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [Bridge] [Intel-wired-lan] [PATCH 000/141] Fix fall-through warnings for Clang
Date: Wed, 25 Nov 2020 04:24:27 -0800	[thread overview]
Message-ID: <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com> (raw)
In-Reply-To: <a841536fe65bb33f1c72ce2455a6eb47a0107565.camel@HansenPartnership.com>

On Tue, Nov 24, 2020 at 11:05 PM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> On Tue, 2020-11-24 at 13:32 -0800, Kees Cook wrote:
> > We already enable -Wimplicit-fallthrough globally, so that's not the
> > discussion. The issue is that Clang is (correctly) even more strict
> > than GCC for this, so these are the remaining ones to fix for full
> > Clang coverage too.
> >
> > People have spent more time debating this already than it would have
> > taken to apply the patches. :)
>
> You mean we've already spent 90% of the effort to come this far so we
> might as well go the remaining 10% because then at least we get some
> return? It's certainly a clinching argument in defence procurement ...

So developers and distributions using Clang can't have
-Wimplicit-fallthrough enabled because GCC is less strict (which has
been shown in this thread to lead to bugs)?  We'd like to have nice
things too, you know.

I even agree that most of the churn comes from

case 0:
  ++x;
default:
  break;

which I have a patch for: https://reviews.llvm.org/D91895.  I agree
that can never lead to bugs.  But that's not the sole case of this
series, just most of them.

Though, note how the reviewer (C++ spec editor and clang front end
owner) in https://reviews.llvm.org/D91895 even asks in that review how
maybe a new flag would be more appropriate for a watered
down/stylistic variant of the existing behavior.  And if the current
wording of Documentation/process/deprecated.rst around "fallthrough"
is a straightforward rule of thumb, I kind of agree with him.

>
> > This is about robustness and language wrangling. It's a big code-
> > base, and this is the price of our managing technical debt for
> > permanent robustness improvements. (The numbers I ran from Gustavo's
> > earlier patches were that about 10% of the places adjusted were
> > identified as legitimate bugs being fixed. This final series may be
> > lower, but there are still bugs being found from it -- we need to
> > finish this and shut the door on it for good.)
>
> I got my six patches by analyzing the lwn.net report of the fixes that
> was cited which had 21 of which 50% didn't actually change the emitted
> code, and 25% didn't have a user visible effect.
>
> But the broader point I'm making is just because the compiler people
> come up with a shiny new warning doesn't necessarily mean the problem

That's not what this is though; you're attacking a strawman.  I'd
encourage you to bring that up when that actually occurs, unlike this
case since it's actively hindering getting -Wimplicit-fallthrough
enabled for Clang.  This is not a shiny new warning; it's already on
for GCC and has existed in both compilers for multiple releases.

And I'll also note that warnings are warnings and not errors because
they cannot be proven to be bugs in 100% of cases, but they have led
to bugs in the past.  They require a human to review their intent and
remove ambiguities.  If 97% of cases would end in a break ("Expert C
Programming: Deep C Secrets" - Peter van der Linden), then it starts
to look to me like a language defect; certainly an incorrectly chosen
default.  But the compiler can't know those 3% were intentional,
unless you're explicit for those exceptional cases.

> it's detecting is one that causes us actual problems in the code base.
> I'd really be happier if we had a theory about what classes of CVE or
> bug we could eliminate before we embrace the next new warning.

We don't generally file CVEs and waiting for them to occur might be
too reactive, but I agree that pointing to some additional
documentation in commit messages about how a warning could lead to a
bug would make it clearer to reviewers why being able to enable it
treewide, even if there's no bug in their particular subsystem, is in
the general interest of the commons.

On Mon, Nov 23, 2020 at 7:58 AM James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> We're also complaining about the inability to recruit maintainers:
>
> https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/
>
> And burn out:
>
> http://antirez.com/news/129
>
> The whole crux of your argument seems to be maintainers' time isn't
> important so we should accept all trivial patches ... I'm pushing back
> on that assumption in two places, firstly the valulessness of the time
> and secondly that all trivial patches are valuable.

It's critical to the longevity of any open source project that there
are not single points of failure.  If someone is not expendable or
replaceable (or claims to be) then that's a risk to the project and a
bottleneck.  Not having a replacement in training or some form of
redundancy is short sighted.

If trivial patches are adding too much to your workload, consider
training a co-maintainer or asking for help from one of your reviewers
whom you trust.  I don't doubt it's hard to find maintainers, but
existing maintainers should go out of their way to entrust
co-maintainers especially when they find their workload becomes too
high.  And reviewing/picking up trivial patches is probably a great
way to get started.  If we allow too much knowledge of any one
subsystem to collect with one maintainer, what happens when that
maintainer leaves the community (which, given a finite lifespan, is an
inevitability)?
-- 
Thanks,
~Nick Desaulniers

  reply	other threads:[~2020-11-25 12:25 UTC|newest]

Thread overview: 1306+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20 18:21 [PATCH 000/141] Fix fall-through warnings for Clang Gustavo A. R. Silva
2020-11-20 18:21 ` [Bridge] " Gustavo A. R. Silva
2020-11-20 18:21 ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-20 18:21 ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:21 ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-20 18:21 ` [dm-devel] " Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:21 ` Gustavo A. R. Silva
2020-11-20 18:23 ` [PATCH 001/141] afs: " Gustavo A. R. Silva
2020-11-20 23:18   ` Joe Perches
2020-11-20 23:28     ` Gustavo A. R. Silva
2020-11-20 23:41       ` Joe Perches
2020-11-23 16:10   ` David Howells
2020-11-23 16:51     ` Joe Perches
2020-11-24 13:21     ` David Howells
2020-11-20 18:23 ` [PATCH 002/141] ASoC: codecs: " Gustavo A. R. Silva
2020-11-20 18:23   ` Gustavo A. R. Silva
2020-11-20 18:24 ` [PATCH 003/141] cifs: " Gustavo A. R. Silva
2020-11-20 18:24 ` [PATCH 004/141] drm/amdgpu: " Gustavo A. R. Silva
2020-11-20 18:24   ` Gustavo A. R. Silva
2020-11-20 18:24   ` Gustavo A. R. Silva
2020-11-20 22:42   ` Alex Deucher
2020-11-20 22:42     ` Alex Deucher
2020-11-20 22:42     ` Alex Deucher
2020-11-23 22:42     ` Gustavo A. R. Silva
2020-11-23 22:42       ` Gustavo A. R. Silva
2020-11-23 22:42       ` Gustavo A. R. Silva
2020-11-20 18:24 ` [PATCH 005/141] drm/radeon: " Gustavo A. R. Silva
2020-11-20 18:24   ` Gustavo A. R. Silva
2020-11-20 18:24   ` Gustavo A. R. Silva
2020-11-20 22:43   ` Alex Deucher
2020-11-20 22:43     ` Alex Deucher
2020-11-20 22:43     ` Alex Deucher
2020-11-20 18:25 ` [PATCH 006/141] gfs2: " Gustavo A. R. Silva
2020-11-20 18:25   ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-20 18:25 ` [PATCH 007/141] gpio: " Gustavo A. R. Silva
2020-11-20 18:56   ` Andy Shevchenko
2020-11-20 18:58     ` Gustavo A. R. Silva
2020-11-20 18:25 ` [PATCH 008/141] IB/hfi1: " Gustavo A. R. Silva
2020-11-22 14:30   ` Mike Marciniszyn
2020-11-23 22:44     ` Gustavo A. R. Silva
2020-11-20 18:25 ` [PATCH 009/141] igb: " Gustavo A. R. Silva
2020-11-20 18:25   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:25 ` [PATCH 010/141] ima: " Gustavo A. R. Silva
2020-11-20 18:25 ` [PATCH 011/141] ipv4: " Gustavo A. R. Silva
2020-11-20 18:26 ` [PATCH 012/141] ixgbe: " Gustavo A. R. Silva
2020-11-20 18:26   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:26 ` [PATCH 013/141] media: dvb-frontends: " Gustavo A. R. Silva
2020-11-22 16:31   ` Mauro Carvalho Chehab
2020-11-23 22:44     ` Gustavo A. R. Silva
2020-11-20 18:26 ` [PATCH 014/141] media: usb: dvb-usb-v2: " Gustavo A. R. Silva
2020-11-22 16:31   ` Mauro Carvalho Chehab
2020-11-20 18:26 ` [PATCH 015/141] netfilter: " Gustavo A. R. Silva
2020-11-20 22:47   ` Florian Westphal
2020-11-23 22:45     ` Gustavo A. R. Silva
2020-11-20 18:26 ` [PATCH 016/141] nfsd: " Gustavo A. R. Silva
2020-11-20 18:27   ` Chuck Lever
2020-11-23 22:46     ` Gustavo A. R. Silva
2020-11-20 18:26 ` [PATCH 017/141] nfs: " Gustavo A. R. Silva
2020-11-20 18:26 ` [PATCH 018/141] qed: " Gustavo A. R. Silva
2020-11-20 18:50   ` [EXT] " Igor Russkikh
2020-11-23 22:46     ` Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 019/141] qlcnic: " Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 020/141] scsi: aic7xxx: " Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 021/141] scsi: aic94xx: " Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 022/141] scsi: bfa: " Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 023/141] staging: rtl8723bs: core: " Gustavo A. R. Silva
2020-11-20 18:27   ` Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 024/141] staging: vt6655: " Gustavo A. R. Silva
2020-11-20 18:27   ` Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 025/141] bnxt_en: " Gustavo A. R. Silva
2020-11-20 18:27 ` [PATCH 026/141] ceph: " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 027/141] drbd: " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 028/141] drm/amd/display: " Gustavo A. R. Silva
2020-11-20 18:28   ` Gustavo A. R. Silva
2020-11-20 18:28   ` Gustavo A. R. Silva
2020-11-20 22:45   ` Alex Deucher
2020-11-20 22:45     ` Alex Deucher
2020-11-20 22:45     ` Alex Deucher
2020-11-23 22:47     ` Gustavo A. R. Silva
2020-11-23 22:47       ` Gustavo A. R. Silva
2020-11-23 22:47       ` Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 029/141] e1000: " Gustavo A. R. Silva
2020-11-20 18:28   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 030/141] ext2: " Gustavo A. R. Silva
2020-11-23  9:37   ` Jan Kara
2020-11-23 22:47     ` Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 031/141] ext4: " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 032/141] floppy: " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 033/141] fm10k: " Gustavo A. R. Silva
2020-11-20 18:28   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 000/141] " Joe Perches
2020-11-20 18:28   ` [Bridge] " Joe Perches
2020-11-20 18:28   ` [Cluster-devel] " Joe Perches
2020-11-20 18:28   ` [Intel-wired-lan] " Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` [Intel-gfx] " Joe Perches
2020-11-20 18:28   ` [dm-devel] " Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 18:28   ` Joe Perches
2020-11-20 19:02   ` Gustavo A. R. Silva
2020-11-20 19:02     ` [Bridge] " Gustavo A. R. Silva
2020-11-20 19:02     ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-20 19:02     ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-20 19:02     ` [dm-devel] " Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 19:02     ` Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 034/141] IB/mlx4: " Gustavo A. R. Silva
2020-11-20 18:28 ` [PATCH 035/141] IB/qedr: " Gustavo A. R. Silva
2020-11-22 20:12   ` [EXT] " Michal Kalderon
2020-11-23 22:48     ` Gustavo A. R. Silva
2020-11-20 18:29 ` [PATCH 036/141] ice: " Gustavo A. R. Silva
2020-11-20 18:29   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:30 ` [PATCH 037/141] Input: pcspkr - " Gustavo A. R. Silva
2020-11-23  6:15   ` Dmitry Torokhov
2020-11-23 22:48     ` Gustavo A. R. Silva
2020-11-20 18:30 ` [PATCH 038/141] isofs: " Gustavo A. R. Silva
2020-11-20 18:30 ` [PATCH 039/141] ixgbevf: " Gustavo A. R. Silva
2020-11-20 18:30   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 18:30 ` [PATCH 040/141] kprobes/x86: " Gustavo A. R. Silva
2020-11-20 18:30 ` [PATCH 041/141] mm: " Gustavo A. R. Silva
2020-11-20 18:30 ` [PATCH 042/141] net: 3c509: " Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 043/141] net: cassini: " Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 044/141] net/mlx4: " Gustavo A. R. Silva
2020-11-22  8:36   ` Tariq Toukan
2020-11-23 22:49     ` Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 045/141] net: mscc: ocelot: " Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 046/141] netxen_nic: " Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 047/141] nfp: " Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 048/141] perf/x86: " Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 049/141] pinctrl: " Gustavo A. R. Silva
2020-11-20 19:04   ` Geert Uytterhoeven
2020-11-23 22:49     ` Gustavo A. R. Silva
2020-11-20 18:31 ` [PATCH 050/141] RDMA/mlx5: " Gustavo A. R. Silva
2020-11-23  8:33   ` Leon Romanovsky
2020-11-23 22:50     ` Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 051/141] reiserfs: " Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 052/141] security: keys: " Gustavo A. R. Silva
2020-11-23 22:54   ` Jarkko Sakkinen
2020-11-24 14:30     ` Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 053/141] selinux: " Gustavo A. R. Silva
2020-11-23 23:31   ` Paul Moore
2020-11-24 14:30     ` Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 054/141] target: " Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 055/141] uprobes/x86: " Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 056/141] vxge: " Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 057/141] watchdog: " Gustavo A. R. Silva
2020-11-21 18:49   ` Guenter Roeck
2020-11-23 22:50     ` Gustavo A. R. Silva
2020-11-20 18:32 ` [PATCH 058/141] xen-blkfront: " Gustavo A. R. Silva
2020-11-20 21:36   ` boris.ostrovsky
2020-11-23 22:53     ` Gustavo A. R. Silva
2020-11-23 10:28   ` Roger Pau Monné
2020-11-20 18:33 ` [PATCH 059/141] regulator: as3722: " Gustavo A. R. Silva
2020-11-20 18:33 ` [PATCH 060/141] habanalabs: " Gustavo A. R. Silva
2020-11-21 12:34   ` Oded Gabbay
2020-11-23 22:54     ` Gustavo A. R. Silva
2020-11-20 18:33 ` [PATCH 061/141] tee: " Gustavo A. R. Silva
2020-11-22  9:26   ` Jens Wiklander
2020-11-23 22:55     ` Gustavo A. R. Silva
2020-11-20 18:33 ` [PATCH 062/141] HID: usbhid: " Gustavo A. R. Silva
2020-11-25 13:02   ` Jiri Kosina
2020-11-20 18:33 ` [PATCH 063/141] HID: input: " Gustavo A. R. Silva
2020-11-25 13:04   ` Jiri Kosina
2020-11-25 13:34     ` David Laight
2020-11-20 18:33 ` [PATCH 064/141] ACPI: " Gustavo A. R. Silva
2020-11-23 11:43   ` Rafael J. Wysocki
2020-11-20 18:33 ` [PATCH 065/141] airo: " Gustavo A. R. Silva
2020-11-20 18:33 ` [PATCH 066/141] ALSA: hdspm: " Gustavo A. R. Silva
2020-11-20 18:33   ` Gustavo A. R. Silva
2020-11-21  8:30   ` Takashi Iwai
2020-11-21  8:30     ` Takashi Iwai
2020-11-23 22:56     ` Gustavo A. R. Silva
2020-11-23 22:56       ` Gustavo A. R. Silva
2020-11-20 18:34 ` [PATCH 067/141] ALSA: pcsp: " Gustavo A. R. Silva
2020-11-20 18:34   ` Gustavo A. R. Silva
2020-11-21  8:30   ` Takashi Iwai
2020-11-21  8:30     ` Takashi Iwai
2020-11-20 18:34 ` [PATCH 068/141] ALSA: sb: " Gustavo A. R. Silva
2020-11-20 18:34   ` Gustavo A. R. Silva
2020-11-21  8:29   ` Takashi Iwai
2020-11-21  8:29     ` Takashi Iwai
2020-11-20 18:34 ` [PATCH 069/141] ath5k: " Gustavo A. R. Silva
2020-11-20 18:34 ` [PATCH 070/141] atm: fore200e: " Gustavo A. R. Silva
2020-11-20 18:34 ` [PATCH 071/141] braille_console: " Gustavo A. R. Silva
2020-11-20 18:34 ` [PATCH 072/141] can: peak_usb: " Gustavo A. R. Silva
2020-11-21 13:17   ` Marc Kleine-Budde
2020-11-21 19:50     ` Joe Perches
2020-11-21 23:04       ` Marc Kleine-Budde
2020-11-22  2:46         ` Joe Perches
2020-11-20 18:34 ` [PATCH 073/141] carl9170: " Gustavo A. R. Silva
2020-11-20 18:34 ` [PATCH 074/141] cfg80211: " Gustavo A. R. Silva
2020-11-20 18:34 ` [PATCH 075/141] crypto: ccree - " Gustavo A. R. Silva
2020-11-22  7:54   ` Gilad Ben-Yossef
2020-11-23 22:57     ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 076/141] decnet: " Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 077/141] dm raid: " Gustavo A. R. Silva
2020-11-20 18:35   ` [dm-devel] " Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 078/141] drm/amd/pm: " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 22:46   ` Alex Deucher
2020-11-20 22:46     ` Alex Deucher
2020-11-20 22:46     ` Alex Deucher
2020-11-20 18:35 ` [PATCH 079/141] drm: " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-22 22:03   ` Sam Ravnborg
2020-11-22 22:03     ` Sam Ravnborg
2020-11-23 22:57     ` Gustavo A. R. Silva
2020-11-23 22:57       ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 080/141] drm/i915/gem: " Gustavo A. R. Silva
2020-11-20 18:35   ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 081/141] drm/nouveau/clk: " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 082/141] drm/nouveau: " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 083/141] drm/nouveau/therm: " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 084/141] drm/via: " Gustavo A. R. Silva
2020-11-20 18:35   ` Gustavo A. R. Silva
2020-11-22 22:03   ` Sam Ravnborg
2020-11-22 22:03     ` Sam Ravnborg
2020-11-24 14:34     ` Gustavo A. R. Silva
2020-11-24 14:34       ` Gustavo A. R. Silva
2020-11-20 18:35 ` [PATCH 085/141] firewire: core: " Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 086/141] hwmon: (corsair-cpro) " Gustavo A. R. Silva
2020-11-21 18:50   ` Guenter Roeck
2020-11-21 20:00     ` Joe Perches
2020-11-22  0:58       ` Guenter Roeck
2020-11-24 14:35     ` Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 087/141] hwmon: (max6621) " Gustavo A. R. Silva
2020-11-21 18:50   ` Guenter Roeck
2020-11-20 18:36 ` [PATCH 088/141] i3c: master: cdns: " Gustavo A. R. Silva
2020-11-20 18:36   ` Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 089/141] ide: " Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 090/141] iio: adc: cpcap: " Gustavo A. R. Silva
2020-11-21 15:05   ` Jonathan Cameron
2020-11-23 22:59     ` Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 091/141] iwlwifi: iwl-drv: " Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 092/141] libata: " Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 093/141] mac80211: " Gustavo A. R. Silva
2020-11-20 18:36 ` [PATCH 094/141] media: atomisp: " Gustavo A. R. Silva
2020-11-20 18:36   ` Gustavo A. R. Silva
2020-11-22 16:32   ` Mauro Carvalho Chehab
2020-11-22 16:32     ` Mauro Carvalho Chehab
2020-11-20 18:36 ` [PATCH 095/141] media: dvb_frontend: " Gustavo A. R. Silva
2020-11-22 16:32   ` Mauro Carvalho Chehab
2020-11-20 18:37 ` [PATCH 096/141] media: rcar_jpu: " Gustavo A. R. Silva
2020-11-22 16:33   ` Mauro Carvalho Chehab
2020-11-20 18:37 ` [PATCH 097/141] media: saa7134: " Gustavo A. R. Silva
2020-11-22 16:32   ` Mauro Carvalho Chehab
2020-11-20 18:37 ` [PATCH 098/141] mmc: sdhci-of-arasan: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-23  7:00   ` Michal Simek
2020-11-23  7:00     ` Michal Simek
2020-11-23 22:59     ` Gustavo A. R. Silva
2020-11-23 22:59       ` Gustavo A. R. Silva
2020-11-24 14:25   ` Ulf Hansson
2020-11-24 14:25     ` Ulf Hansson
2020-11-24 14:36     ` Gustavo A. R. Silva
2020-11-24 14:36       ` Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 099/141] mt76: mt7615: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 100/141] mtd: cfi: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 101/141] mtd: mtdchar: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 102/141] mtd: onenand: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 103/141] mtd: rawnand: fsmc: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 104/141] mtd: rawnand: stm32_fmc2: " Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-20 18:37   ` Gustavo A. R. Silva
2020-11-23  8:33   ` Miquel Raynal
2020-11-23  8:33     ` Miquel Raynal
2020-11-23  8:33     ` Miquel Raynal
2020-11-20 18:37 ` [PATCH 105/141] net: ax25: " Gustavo A. R. Silva
2020-11-20 18:37 ` [PATCH 106/141] net: bridge: " Gustavo A. R. Silva
2020-11-20 18:37   ` [Bridge] " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 107/141] net: core: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 108/141] netfilter: ipt_REJECT: " Gustavo A. R. Silva
2020-11-20 22:49   ` Florian Westphal
2020-11-24 14:37     ` Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 109/141] net: netrom: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 110/141] net/packet: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 111/141] net: plip: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 112/141] net: rose: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 113/141] nl80211: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 114/141] phy: qcom-usb-hs: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 115/141] rds: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 116/141] rt2x00: " Gustavo A. R. Silva
2020-11-20 18:38 ` [PATCH 117/141] rtl8xxxu: " Gustavo A. R. Silva
2020-11-20 21:39   ` Jes Sorensen
2020-11-24 16:09     ` Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 118/141] rtw88: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 119/141] rxrpc: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 120/141] scsi: aacraid: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 121/141] scsi: aha1740: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 122/141] scsi: csiostor: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 123/141] scsi: lpfc: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 124/141] scsi: stex: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 125/141] sctp: " Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 126/141] slimbus: messaging: " Gustavo A. R. Silva
2020-11-20 18:39   ` Gustavo A. R. Silva
2020-11-24 10:48   ` Srinivas Kandagatla
2020-11-24 14:38     ` Gustavo A. R. Silva
2020-11-20 18:39 ` [PATCH 127/141] staging: qlge: " Gustavo A. R. Silva
2020-11-20 18:39   ` Gustavo A. R. Silva
2020-11-25  4:42   ` Benjamin Poirier
2020-11-25  4:42     ` Benjamin Poirier
2020-11-20 18:39 ` [PATCH 128/141] staging: vt6656: " Gustavo A. R. Silva
2020-11-20 18:39   ` Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 129/141] SUNRPC: " Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 130/141] tipc: " Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 131/141] tpm: " Gustavo A. R. Silva
2020-11-23 22:52   ` Jarkko Sakkinen
2020-11-23 22:53     ` Jarkko Sakkinen
2020-11-24 14:40       ` Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 132/141] ubi: " Gustavo A. R. Silva
2020-11-20 18:40   ` Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 133/141] usb: " Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 134/141] video: fbdev: lxfb_ops: " Gustavo A. R. Silva
2020-11-20 18:40   ` Gustavo A. R. Silva
2020-11-22 22:05   ` Sam Ravnborg
2020-11-22 22:05     ` Sam Ravnborg
2020-11-24 14:44     ` Gustavo A. R. Silva
2020-11-24 14:44       ` Gustavo A. R. Silva
2020-11-24 20:58       ` deloptes
2020-11-20 18:40 ` [PATCH 135/141] video: fbdev: pm2fb: " Gustavo A. R. Silva
2020-11-20 18:40   ` Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 136/141] virtio_net: " Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 137/141] wcn36xx: " Gustavo A. R. Silva
2020-11-20 18:40 ` [PATCH 138/141] xen/manage: " Gustavo A. R. Silva
2020-11-20 18:41 ` [PATCH 139/141] xfrm: " Gustavo A. R. Silva
2020-11-20 18:41 ` [PATCH 140/141] zd1201: " Gustavo A. R. Silva
2020-11-20 18:41 ` [PATCH 141/141] Input: libps2 - " Gustavo A. R. Silva
2020-11-23  6:16   ` Dmitry Torokhov
2020-11-24 14:44     ` Gustavo A. R. Silva
2020-11-20 18:53 ` [PATCH 000/141] " Jakub Kicinski
2020-11-20 18:53   ` [Bridge] " Jakub Kicinski
2020-11-20 18:53   ` [Cluster-devel] " Jakub Kicinski
2020-11-20 18:53   ` [Intel-wired-lan] " Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 18:53   ` [Intel-gfx] " Jakub Kicinski
2020-11-20 18:53   ` [dm-devel] " Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 18:53   ` Jakub Kicinski
2020-11-20 19:04   ` Gustavo A. R. Silva
2020-11-20 19:04     ` [Bridge] " Gustavo A. R. Silva
2020-11-20 19:04     ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-20 19:04     ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-20 19:04     ` [dm-devel] " Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:04     ` Gustavo A. R. Silva
2020-11-20 19:30   ` Kees Cook
2020-11-20 19:30     ` [Bridge] " Kees Cook
2020-11-20 19:30     ` [Cluster-devel] " Kees Cook
2020-11-20 19:30     ` [Intel-wired-lan] " Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` [Intel-gfx] " Kees Cook
2020-11-20 19:30     ` [dm-devel] " Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:30     ` Kees Cook
2020-11-20 19:51     ` Jakub Kicinski
2020-11-20 19:51       ` [Bridge] " Jakub Kicinski
2020-11-20 19:51       ` [Cluster-devel] " Jakub Kicinski
2020-11-20 19:51       ` [Intel-wired-lan] " Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 19:51       ` [Intel-gfx] " Jakub Kicinski
2020-11-20 19:51       ` [dm-devel] " Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 19:51       ` Jakub Kicinski
2020-11-20 20:48       ` Kees Cook
2020-11-20 20:48         ` [Bridge] " Kees Cook
2020-11-20 20:48         ` [Cluster-devel] " Kees Cook
2020-11-20 20:48         ` [Intel-wired-lan] " Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` [Intel-gfx] " Kees Cook
2020-11-20 20:48         ` [dm-devel] " Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-20 20:48         ` Kees Cook
2020-11-22 16:17       ` Kees Cook
2020-11-22 16:17         ` [Bridge] " Kees Cook
2020-11-22 16:17         ` [Cluster-devel] " Kees Cook
2020-11-22 16:17         ` [Intel-wired-lan] " Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` [Intel-gfx] " Kees Cook
2020-11-22 16:17         ` [dm-devel] " Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 16:17         ` Kees Cook
2020-11-22 18:21         ` James Bottomley
2020-11-22 18:21           ` [Bridge] " James Bottomley
2020-11-22 18:21           ` [Cluster-devel] " James Bottomley
2020-11-22 18:21           ` [Intel-wired-lan] " James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` [Intel-gfx] " James Bottomley
2020-11-22 18:21           ` [dm-devel] " James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:21           ` James Bottomley
2020-11-22 18:25           ` Joe Perches
2020-11-22 18:25             ` [Bridge] " Joe Perches
2020-11-22 18:25             ` [Cluster-devel] " Joe Perches
2020-11-22 18:25             ` [Intel-wired-lan] " Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` [Intel-gfx] " Joe Perches
2020-11-22 18:25             ` [dm-devel] " Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 18:25             ` Joe Perches
2020-11-22 19:12             ` James Bottomley
2020-11-22 19:12               ` [Bridge] " James Bottomley
2020-11-22 19:12               ` [Cluster-devel] " James Bottomley
2020-11-22 19:12               ` [Intel-wired-lan] " James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` [Intel-gfx] " James Bottomley
2020-11-22 19:12               ` [dm-devel] " James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:12               ` James Bottomley
2020-11-22 19:22               ` Joe Perches
2020-11-22 19:22                 ` [Bridge] " Joe Perches
2020-11-22 19:22                 ` [Cluster-devel] " Joe Perches
2020-11-22 19:22                 ` [Intel-wired-lan] " Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` [Intel-gfx] " Joe Perches
2020-11-22 19:22                 ` [dm-devel] " Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:22                 ` Joe Perches
2020-11-22 19:53                 ` James Bottomley
2020-11-22 19:53                   ` [Bridge] " James Bottomley
2020-11-22 19:53                   ` [Cluster-devel] " James Bottomley
2020-11-22 19:53                   ` [Intel-wired-lan] " James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` [Intel-gfx] " James Bottomley
2020-11-22 19:53                   ` [dm-devel] " James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-22 19:53                   ` James Bottomley
2020-11-23 13:03                   ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-23 13:03                     ` [Bridge] " Gustavo A. R. Silva
2020-11-23 13:03                     ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 13:03                     ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-23 13:03                     ` [dm-devel] " Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 13:03                     ` Gustavo A. R. Silva
2020-11-23 16:31                     ` James Bottomley
2020-11-23 16:31                       ` [Bridge] " James Bottomley
2020-11-23 16:31                       ` [Cluster-devel] " James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` [Intel-gfx] " James Bottomley
2020-11-23 16:31                       ` [dm-devel] " James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-23 16:31                       ` James Bottomley
2020-11-24 21:32                       ` Kees Cook
2020-11-24 21:32                         ` [Bridge] " Kees Cook
2020-11-24 21:32                         ` [Cluster-devel] " Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 21:32                         ` [Intel-gfx] " Kees Cook
2020-11-24 21:32                         ` [dm-devel] " Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 21:32                         ` Kees Cook
2020-11-24 22:24                         ` Finn Thain
2020-11-24 22:24                           ` [Bridge] " Finn Thain
2020-11-24 22:24                           ` [Cluster-devel] " Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 22:24                           ` [Intel-gfx] " Finn Thain
2020-11-24 22:24                           ` [dm-devel] " Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 22:24                           ` Finn Thain
2020-11-24 23:15                           ` Miguel Ojeda
2020-11-24 23:15                             ` [Bridge] " Miguel Ojeda
2020-11-24 23:15                             ` [Cluster-devel] " Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` [Intel-gfx] " Miguel Ojeda
2020-11-24 23:15                             ` [dm-devel] " Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:15                             ` Miguel Ojeda
2020-11-24 23:53                             ` Finn Thain
2020-11-24 23:53                               ` [Bridge] " Finn Thain
2020-11-24 23:53                               ` [Cluster-devel] " Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-24 23:53                               ` [Intel-gfx] " Finn Thain
2020-11-24 23:53                               ` [dm-devel] " Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-24 23:53                               ` Finn Thain
2020-11-25  1:05                               ` Miguel Ojeda
2020-11-25  1:05                                 ` [Bridge] " Miguel Ojeda
2020-11-25  1:05                                 ` [Cluster-devel] " Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` [Intel-gfx] " Miguel Ojeda
2020-11-25  1:05                                 ` [dm-devel] " Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  1:05                                 ` Miguel Ojeda
2020-11-25  7:05                         ` James Bottomley
2020-11-25  7:05                           ` [Bridge] " James Bottomley
2020-11-25  7:05                           ` [Cluster-devel] " James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25  7:05                           ` [Intel-gfx] " James Bottomley
2020-11-25  7:05                           ` [dm-devel] " James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25  7:05                           ` James Bottomley
2020-11-25 12:24                           ` Nick Desaulniers [this message]
2020-11-25 12:24                             ` [Bridge] " Nick Desaulniers
2020-11-25 12:24                             ` [Cluster-devel] " Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers
2020-11-25 12:24                             ` [Intel-gfx] " Nick Desaulniers
2020-11-25 12:24                             ` [dm-devel] " Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers via Virtualization
2020-11-25 12:24                             ` Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers
2020-11-25 12:24                             ` Nick Desaulniers
     [not found]                             ` <CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-11-25 16:24                               ` Jakub Kicinski
2020-11-25 16:24                             ` Jakub Kicinski
2020-11-25 16:24                               ` Jakub Kicinski
2020-11-25 16:24                               ` Jakub Kicinski
2020-11-25 16:24                               ` [Intel-gfx] " Jakub Kicinski
2020-11-25 16:24                               ` [dm-devel] " Jakub Kicinski
2020-11-25 16:24                               ` Jakub Kicinski
2020-11-25 16:24                               ` Jakub Kicinski
2020-11-22 20:35           ` Miguel Ojeda
2020-11-22 20:35             ` [Bridge] " Miguel Ojeda
2020-11-22 20:35             ` [Cluster-devel] " Miguel Ojeda
2020-11-22 20:35             ` [Intel-wired-lan] " Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` [Intel-gfx] " Miguel Ojeda
2020-11-22 20:35             ` [dm-devel] " Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 20:35             ` Miguel Ojeda
2020-11-22 22:36             ` James Bottomley
2020-11-22 22:36               ` [Bridge] " James Bottomley
2020-11-22 22:36               ` [Cluster-devel] " James Bottomley
2020-11-22 22:36               ` [Intel-wired-lan] " James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` [Intel-gfx] " James Bottomley
2020-11-22 22:36               ` [dm-devel] " James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-22 22:36               ` James Bottomley
2020-11-23 14:19               ` Miguel Ojeda
2020-11-23 14:19                 ` [Bridge] " Miguel Ojeda
2020-11-23 14:19                 ` [Cluster-devel] " Miguel Ojeda
2020-11-23 14:19                 ` [Intel-wired-lan] " Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` [Intel-gfx] " Miguel Ojeda
2020-11-23 14:19                 ` [dm-devel] " Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 14:19                 ` Miguel Ojeda
2020-11-23 15:58                 ` James Bottomley
2020-11-23 15:58                   ` [Bridge] " James Bottomley
2020-11-23 15:58                   ` [Cluster-devel] " James Bottomley
2020-11-23 15:58                   ` [Intel-wired-lan] " James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` [Intel-gfx] " James Bottomley
2020-11-23 15:58                   ` [dm-devel] " James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 15:58                   ` James Bottomley
2020-11-23 16:24                   ` Rafael J. Wysocki
2020-11-23 16:24                     ` [Bridge] " Rafael J. Wysocki
2020-11-23 16:24                     ` [Cluster-devel] " Rafael J. Wysocki
2020-11-23 16:24                     ` [Intel-wired-lan] " Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` [Intel-gfx] " Rafael J. Wysocki
2020-11-23 16:24                     ` [dm-devel] " Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:24                     ` Rafael J. Wysocki
2020-11-23 16:32                   ` Joe Perches
2020-11-23 16:32                     ` [Bridge] " Joe Perches
2020-11-23 16:32                     ` [Cluster-devel] " Joe Perches
2020-11-23 16:32                     ` [Intel-wired-lan] " Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` [Intel-gfx] " Joe Perches
2020-11-23 16:32                     ` [dm-devel] " Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 16:32                     ` Joe Perches
2020-11-23 18:56                   ` Miguel Ojeda
2020-11-23 18:56                     ` [Bridge] " Miguel Ojeda
2020-11-23 18:56                     ` [Cluster-devel] " Miguel Ojeda
2020-11-23 18:56                     ` [Intel-wired-lan] " Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` [Intel-gfx] " Miguel Ojeda
2020-11-23 18:56                     ` [dm-devel] " Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 18:56                     ` Miguel Ojeda
2020-11-23 20:37                     ` James Bottomley
2020-11-23 20:37                       ` [Bridge] " James Bottomley
2020-11-23 20:37                       ` [Cluster-devel] " James Bottomley
2020-11-23 20:37                       ` [Intel-wired-lan] " James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` [Intel-gfx] " James Bottomley
2020-11-23 20:37                       ` [dm-devel] " James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-23 20:37                       ` James Bottomley
2020-11-25  0:32                       ` Miguel Ojeda
2020-11-25  0:32                         ` [Bridge] " Miguel Ojeda
2020-11-25  0:32                         ` [Cluster-devel] " Miguel Ojeda
2020-11-25  0:32                         ` [Intel-wired-lan] " Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` [Intel-gfx] " Miguel Ojeda
2020-11-25  0:32                         ` [dm-devel] " Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25  0:32                         ` Miguel Ojeda
2020-11-25 10:38                       ` Andy Shevchenko
2020-11-25 10:38                         ` [Bridge] " Andy Shevchenko
2020-11-25 10:38                         ` [Cluster-devel] " Andy Shevchenko
2020-11-25 10:38                         ` [Intel-wired-lan] " Andy Shevchenko
2020-11-25 10:38                         ` Andy Shevchenko
2020-11-25 10:38                         ` [Intel-gfx] " Andy Shevchenko
2020-11-25 10:38                         ` [dm-devel] " Andy Shevchenko
2020-11-25 10:38                         ` Andy Shevchenko
2020-11-25 10:38                         ` Andy Shevchenko
2020-11-25 10:38                         ` Andy Shevchenko
2020-11-25 10:38                         ` Andy Shevchenko
2020-11-25 10:38                         ` Andy Shevchenko
2020-11-25  9:01                   ` Sean Young
2020-11-25  9:01                     ` [Bridge] " Sean Young
2020-11-25  9:01                     ` [Cluster-devel] " Sean Young
2020-11-25  9:01                     ` [Intel-wired-lan] " Sean Young
2020-11-25  9:01                     ` Sean Young
2020-11-25  9:01                     ` Sean Young
2020-11-25  9:01                     ` [Intel-gfx] " Sean Young
2020-11-25  9:01                     ` [dm-devel] " Sean Young
2020-11-25  9:01                     ` Sean Young
2020-11-25  9:01                     ` Sean Young
2020-11-25  9:01                     ` Sean Young
2020-11-22 22:54             ` Finn Thain
2020-11-22 22:54               ` [Bridge] " Finn Thain
2020-11-22 22:54               ` [Cluster-devel] " Finn Thain
2020-11-22 22:54               ` [Intel-wired-lan] " Finn Thain
2020-11-22 22:54               ` Finn Thain
2020-11-22 22:54               ` Finn Thain
2020-11-22 22:54               ` [Intel-gfx] " Finn Thain
2020-11-22 22:54               ` [dm-devel] " Finn Thain
2020-11-22 22:54               ` Finn Thain
2020-11-22 22:54               ` Finn Thain
2020-11-22 22:54               ` Finn Thain
2020-11-22 22:54               ` Finn Thain
2020-11-22 23:04               ` James Bottomley
2020-11-22 23:04                 ` [Bridge] " James Bottomley
2020-11-22 23:04                 ` [Cluster-devel] " James Bottomley
2020-11-22 23:04                 ` [Intel-wired-lan] " James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-22 23:04                 ` [Intel-gfx] " James Bottomley
2020-11-22 23:04                 ` [dm-devel] " James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-22 23:04                 ` James Bottomley
2020-11-23 14:05               ` Miguel Ojeda
2020-11-23 14:05                 ` [Bridge] " Miguel Ojeda
2020-11-23 14:05                 ` [Cluster-devel] " Miguel Ojeda
2020-11-23 14:05                 ` [Intel-wired-lan] " Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` [Intel-gfx] " Miguel Ojeda
2020-11-23 14:05                 ` [dm-devel] " Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-23 14:05                 ` Miguel Ojeda
2020-11-24  0:58                 ` Finn Thain
2020-11-24  0:58                   ` [Bridge] " Finn Thain
2020-11-24  0:58                   ` [Cluster-devel] " Finn Thain
2020-11-24  0:58                   ` [Intel-wired-lan] " Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  0:58                   ` [Intel-gfx] " Finn Thain
2020-11-24  0:58                   ` [dm-devel] " Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  0:58                   ` Finn Thain
2020-11-24  1:05                   ` Joe Perches
2020-11-24  1:05                     ` [Bridge] " Joe Perches
2020-11-24  1:05                     ` [Cluster-devel] " Joe Perches
2020-11-24  1:05                     ` [Intel-wired-lan] " Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` [Intel-gfx] " Joe Perches
2020-11-24  1:05                     ` [dm-devel] " Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  1:05                     ` Joe Perches
2020-11-24  2:48                     ` Finn Thain
2020-11-24  2:48                       ` [Bridge] " Finn Thain
2020-11-24  2:48                       ` [Cluster-devel] " Finn Thain
2020-11-24  2:48                       ` [Intel-wired-lan] " Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24  2:48                       ` [Intel-gfx] " Finn Thain
2020-11-24  2:48                       ` [dm-devel] " Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24  2:48                       ` Finn Thain
2020-11-24 23:46                   ` Miguel Ojeda
2020-11-24 23:46                     ` [Bridge] " Miguel Ojeda
2020-11-24 23:46                     ` [Cluster-devel] " Miguel Ojeda
2020-11-24 23:46                     ` [Intel-wired-lan] " Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-24 23:46                     ` [Intel-gfx] " Miguel Ojeda
2020-11-24 23:46                     ` [dm-devel] " Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-24 23:46                     ` Miguel Ojeda
2020-11-22 22:10           ` Sam Ravnborg
2020-11-22 22:10             ` [Bridge] " Sam Ravnborg
2020-11-22 22:10             ` [Cluster-devel] " Sam Ravnborg
2020-11-22 22:10             ` [Intel-wired-lan] " Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` [Intel-gfx] " Sam Ravnborg
2020-11-22 22:10             ` [dm-devel] " Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-22 22:10             ` Sam Ravnborg
2020-11-24  1:32         ` Nick Desaulniers
2020-11-24  1:32           ` [Bridge] " Nick Desaulniers
2020-11-24  1:32           ` [Cluster-devel] " Nick Desaulniers
2020-11-24  1:32           ` [Intel-wired-lan] " Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` [Intel-gfx] " Nick Desaulniers
2020-11-24  1:32           ` [dm-devel] " Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers via Virtualization
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
2020-11-24  1:32           ` Nick Desaulniers
     [not found]           ` <CAKwvOdntVfXj2WRR5n6Kw7BfG7FdKpTeHeh5nPu5AzwVMhOHTg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-11-24  1:46             ` Jakub Kicinski
2020-11-24  1:46           ` Jakub Kicinski
2020-11-24  1:46             ` [Bridge] " Jakub Kicinski
2020-11-24  1:46             ` [Cluster-devel] " Jakub Kicinski
2020-11-24  1:46             ` [Intel-wired-lan] " Jakub Kicinski
2020-11-24  1:46             ` Jakub Kicinski
2020-11-24  1:46             ` [Intel-gfx] " Jakub Kicinski
2020-11-24  1:46             ` [dm-devel] " Jakub Kicinski
2020-11-24  1:46             ` Jakub Kicinski
2020-11-24  1:46             ` Jakub Kicinski
2020-11-24  1:46             ` Jakub Kicinski
     [not found]             ` <CAKwvOdkxY4pXN4wbYM_B1cLjr8uX6sQ2iS=m=rRGL_TkJQUFZw@mail.gmail.com>
2020-11-24  2:29               ` Joe Perches
2020-11-24 21:25           ` Kees Cook
2020-11-24 21:25             ` [Bridge] " Kees Cook
2020-11-24 21:25             ` [Cluster-devel] " Kees Cook
2020-11-24 21:25             ` [Intel-wired-lan] " Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` [Intel-gfx] " Kees Cook
2020-11-24 21:25             ` [dm-devel] " Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-24 21:25             ` Kees Cook
2020-11-20 22:21 ` Miguel Ojeda
2020-11-20 22:21   ` [Bridge] " Miguel Ojeda
2020-11-20 22:21   ` [Cluster-devel] " Miguel Ojeda
2020-11-20 22:21   ` [Intel-wired-lan] " Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` [Intel-gfx] " Miguel Ojeda
2020-11-20 22:21   ` [dm-devel] " Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-20 22:21   ` Miguel Ojeda
2020-11-23 20:03 ` Jason Gunthorpe
2020-11-23 20:03   ` [Bridge] " Jason Gunthorpe
2020-11-23 20:03   ` [Cluster-devel] " Jason Gunthorpe
2020-11-23 20:03   ` [Intel-wired-lan] " Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-23 20:03   ` [Intel-gfx] " Jason Gunthorpe
2020-11-23 20:03   ` [dm-devel] " Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-23 20:03   ` Jason Gunthorpe
2020-11-24 14:47   ` Gustavo A. R. Silva
2020-11-24 14:47     ` [Bridge] " Gustavo A. R. Silva
2020-11-24 14:47     ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-24 14:47     ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-24 14:47     ` [dm-devel] " Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-23 20:38 ` Mark Brown
2020-11-23 20:38   ` [Bridge] " Mark Brown
2020-11-23 20:38   ` [Cluster-devel] " Mark Brown
2020-11-23 20:38   ` [Intel-wired-lan] " Mark Brown
2020-11-23 20:38   ` Mark Brown
2020-11-23 20:38   ` [Intel-gfx] " Mark Brown
2020-11-23 20:38   ` [dm-devel] " Mark Brown
2020-11-23 20:38   ` Mark Brown
2020-11-23 20:38   ` Mark Brown
2020-11-23 20:38   ` Mark Brown
2020-11-24 14:47   ` Gustavo A. R. Silva
2020-11-24 14:47     ` [Bridge] " Gustavo A. R. Silva
2020-11-24 14:47     ` [Cluster-devel] " Gustavo A. R. Silva
2020-11-24 14:47     ` [Intel-wired-lan] " Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` [Intel-gfx] " Gustavo A. R. Silva
2020-11-24 14:47     ` [dm-devel] " Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva
2020-11-24 14:47     ` Gustavo A. R. Silva

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='CAKwvOdkGBn7nuWTAqrORMeN1G+w3YwBfCqqaRD2nwvoAXKi=Aw@mail.gmail.com' \
    --to=ndesaulniers@google.com \
    --cc=GR-Linux-NIC-Dev@marvell.com \
    --cc=GR-everest-linux-l2@marvell.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=bridge@lists.linux-foundation.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=cluster-devel@redhat.com \
    --cc=coreteam@netfilter.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=dm-devel@redhat.com \
    --cc=drbd-dev@lists.linbit.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavoars@kernel.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=joe@perches.com \
    --cc=keescook@chromium.org \
    --cc=keyrings@vger.kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-atm-general@lists.sourceforge.net \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-decnet-user@lists.sourceforge.net \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-geode@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-hams@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=natechancellor@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=ojeda@kernel.org \
    --cc=op-tee@lists.trustedfirmware.org \
    --cc=oss-drivers@netronome.com \
    --cc=patches@opensource.cirrus.com \
    --cc=rds-devel@oss.oracle.com \
    --cc=reiserfs-devel@vger.kernel.org \
    --cc=samba-technical@lists.samba.org \
    --cc=selinux@vger.kernel.org \
    --cc=target-devel@vger.kernel.org \
    --cc=tipc-discussion@lists.sourceforge.net \
    --cc=usb-storage@lists.one-eyed-alien.net \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wcn36xx@lists.infradead.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /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.