From: Sasha Levin <sashal@kernel.org>
To: Eric Biggers <ebiggers@kernel.org>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org
Subject: Re: AUTOSEL process
Date: Mon, 27 Feb 2023 17:35:30 -0500 [thread overview]
Message-ID: <Y/0wMiOwoeLcFefc@sashalap> (raw)
In-Reply-To: <Y/0i5pGYjrVw59Kk@gmail.com>
On Mon, Feb 27, 2023 at 09:38:46PM +0000, Eric Biggers wrote:
>On Mon, Feb 27, 2023 at 03:39:14PM -0500, Sasha Levin wrote:
>> > > So to summarize, that buggy commit was backported even though:
>> > >
>> > > * There were no indications that it was a bug fix (and thus potentially
>> > > suitable for stable) in the first place.
>> > > * On the AUTOSEL thread, someone told you the commit is broken.
>> > > * There was already a thread that reported a regression caused by the commit.
>> > > Easily findable via lore search.
>> > > * There was also already a pending patch that Fixes the commit. Again easily
>> > > findable via lore search.
>> > >
>> > > So it seems a *lot* of things went wrong, no? Why? If so many things can go
>> > > wrong, it's not just a "mistake" but rather the process is the problem...
>> >
>> > BTW, another cause of this is that the commit (66f99628eb24) was AUTOSEL'd after
>> > only being in mainline for 4 days, and *released* in all LTS kernels after only
>> > being in mainline for 12 days. Surely that's a timeline befitting a critical
>> > security vulnerability, not some random neural-network-selected commit that
>> > wasn't even fixing anything?
>>
>> I would love to have a mechanism that tells me with 100% confidence if a
>> given commit fixes a bug or not, could you provide me with one?
>
>Just because you can't be 100% certain whether a commit is a fix doesn't mean
>you should be rushing to backport random commits that have no indications they
>are fixing anything.
The difference in opinion here is that I don't think it's rushing: the
stable kernel rules say a commit must be in a released kernel, while the
AUTOSEL timelines make it so a commit must have been in two released
kernels.
Should we extend it? Maybe, I just don't think we have enough data to
make a decision either way.
>> w.r.t timelines, this is something that was discussed on the mailing
>> list a few years ago where we decided that giving AUTOSEL commits 7 days
>> of soaking time is sufficient, if anything changed we can have this
>> discussion again.
>
>Nothing has changed, but that doesn't mean that your process is actually
>working. 7 days might be appropriate for something that looks like a security
>fix, but not for a random commit with no indications it is fixing anything.
How do we know if this is working or not though? How do you quantify the
amount of useful commits?
How do you know if a certain fix has security implications? Or even if
it actually fixes anything? For every "security" commit tagged for
stable I could probably list a "security" commit with no tags whatsoever.
>BTW, based on that example it's not even 7 days between AUTOSEL and patch
>applied, but actually 7 days from AUTOSEL to *release*. So e.g. if someone
>takes just a 1 week vacation, in that time a commit they would have NAK'ed can
>be AUTOSEL'ed and pushed out across all LTS kernels...
Right, and same as above: what's "enough"?
>> Note, however, that it's not enough to keep pointing at a tiny set and
>> using it to suggest that the entire process is broken. How many AUTOSEL
>> commits introduced a regression? How many -stable tagged ones did? How
>> many bugs did AUTOSEL commits fix?
>
>So basically you don't accept feedback from individual people, as individual
>people don't have enough data?
I'd love to improve the process, but for that we need to figure out
criteria for what we consider good or bad, collect data, and make
decisions based on that data.
What I'm getting from this thread is a few anecdotal examples and
statements that the process isn't working at all.
I took Jon's stablefixes script which he used for his previous articles
around stable kernel regressions (here:
https://lwn.net/Articles/812231/) and tried running it on the 5.15
stable tree (just a random pick). I've proceeded with ignoring the
non-user-visible regressions as Jon defined in his article (basically
issues that were introduced and fixed in the same releases) and ended up
with 604 commits that caused a user visible regression.
Out of those 604 commits:
- 170 had an explicit stable tag.
- 434 did not have a stable tag.
Looking at the commits in the 5.15 tree:
With stable tag:
$ git log --oneline -i --grep "cc.*stable" v5.15..stable/linux-5.15.y | wc -l
3676
Without stable tag (-96 commits which are version bumps):
$ git log --oneline --invert-grep -i --grep "cc.*stable" v5.15..stable/linux-5.15.y | wc -l
10649
Regression rate for commits with stable tag: 170 / 3676 = 4.62%
Regression rate for commits without a stable tag: 434 / 10553 = 4.11%
Is the analysis flawed somehow? Probably, and I'd happy take feedback on
how/what I can do better, but this type of analysis is what I look for
to know if the process is working well or not.
--
Thanks,
Sasha
next prev parent reply other threads:[~2023-02-27 22:40 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20230226034256.771769-1-sashal@kernel.org>
2023-02-26 3:42 ` [PATCH AUTOSEL 6.1 07/21] fs: Use CHECK_DATA_CORRUPTION() when kernel bugs are detected Sasha Levin
2023-02-26 3:42 ` [PATCH AUTOSEL 6.1 12/21] fs/super.c: stop calling fscrypt_destroy_keyring() from __put_super() Sasha Levin
2023-02-26 4:07 ` Eric Biggers
2023-02-26 5:30 ` Eric Biggers
2023-02-26 19:24 ` Eric Biggers
2023-02-26 19:33 ` Slade Watkins
2023-02-27 14:18 ` Sasha Levin
2023-02-27 17:47 ` AUTOSEL process Eric Biggers
2023-02-27 18:06 ` Eric Biggers
2023-02-27 20:39 ` Sasha Levin
2023-02-27 21:38 ` Eric Biggers
2023-02-27 22:35 ` Sasha Levin [this message]
2023-02-27 22:59 ` Matthew Wilcox
2023-02-28 0:52 ` Sasha Levin
2023-02-28 1:25 ` Eric Biggers
2023-02-28 4:25 ` Willy Tarreau
2023-03-30 0:08 ` Eric Biggers
2023-03-30 14:05 ` Sasha Levin
2023-03-30 17:22 ` Eric Biggers
2023-03-30 17:50 ` Sasha Levin
2023-02-28 0:32 ` Eric Biggers
2023-02-28 1:53 ` Sasha Levin
2023-02-28 3:41 ` Eric Biggers
2023-02-28 10:41 ` Amir Goldstein
2023-02-28 11:28 ` Greg KH
2023-03-01 2:05 ` Slade Watkins
2023-03-01 5:13 ` Eric Biggers
2023-03-01 6:09 ` Greg KH
2023-03-01 7:22 ` Eric Biggers
2023-03-01 7:40 ` Willy Tarreau
2023-03-01 8:31 ` Eric Biggers
2023-03-01 8:43 ` Greg KH
2023-03-01 6:06 ` Greg KH
2023-03-01 7:05 ` Eric Biggers
2023-03-01 10:31 ` Thorsten Leemhuis
2023-03-01 13:26 ` Mark Brown
2023-02-28 17:03 ` Sasha Levin
2023-03-10 23:07 ` Eric Biggers
2023-03-11 13:41 ` Sasha Levin
2023-03-11 15:54 ` James Bottomley
2023-03-11 18:07 ` Sasha Levin
2023-03-12 19:03 ` Theodore Ts'o
2023-03-07 21:18 ` Pavel Machek
2023-03-07 21:45 ` Eric Biggers
2023-03-11 6:25 ` Matthew Wilcox
2023-03-11 8:11 ` Willy Tarreau
2023-03-11 11:45 ` Pavel Machek
2023-03-11 12:29 ` Greg KH
2023-03-21 12:41 ` Maciej W. Rozycki
2023-03-11 14:06 ` Sasha Levin
2023-03-11 16:16 ` Theodore Ts'o
2023-03-11 17:48 ` Eric Biggers
2023-03-11 18:26 ` Sasha Levin
2023-03-11 18:54 ` Eric Biggers
2023-03-11 19:01 ` Eric Biggers
2023-03-11 21:14 ` Sasha Levin
2023-03-12 8:04 ` Amir Goldstein
2023-03-12 16:00 ` Sasha Levin
2023-03-13 17:41 ` Greg KH
2023-03-13 18:54 ` Eric Biggers
2023-03-14 18:26 ` Greg KH
2023-03-11 20:17 ` Eric Biggers
2023-03-11 21:02 ` Sasha Levin
2023-03-12 4:23 ` Willy Tarreau
2023-03-11 18:33 ` Willy Tarreau
2023-03-11 19:24 ` Eric Biggers
2023-03-11 19:46 ` Eric Biggers
2023-03-11 20:19 ` Willy Tarreau
2023-03-11 20:59 ` Sasha Levin
2023-03-11 20:11 ` Willy Tarreau
2023-03-11 20:53 ` Eric Biggers
2023-03-12 4:32 ` Willy Tarreau
2023-03-12 5:21 ` Eric Biggers
2023-03-12 5:48 ` Willy Tarreau
2023-03-12 7:42 ` Amir Goldstein
2023-03-12 13:34 ` Mark Brown
2023-03-12 15:57 ` Sasha Levin
2023-03-12 13:55 ` Mark Brown
2023-03-11 22:38 ` David Laight
2023-03-12 4:41 ` Willy Tarreau
2023-03-12 5:09 ` Theodore Ts'o
2023-03-14 14:12 ` Jan Kara
2023-03-13 3:37 ` Bagas Sanjaya
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=Y/0wMiOwoeLcFefc@sashalap \
--to=sashal@kernel.org \
--cc=ebiggers@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).