2023-01-16 15:55:04

by Jens Axboe

[permalink] [raw]
Subject: Re: [regression] Bug 216932 - io_uring with libvirt cause kernel NULL pointer dereference since 6.1.5

On 1/16/23 8:44 AM, Jens Axboe wrote:
> On 1/16/23 7:49 AM, Greg Kroah-Hartman wrote:
>> On Mon, Jan 16, 2023 at 07:13:40AM -0700, Jens Axboe wrote:
>>> On 1/16/23 6:42 AM, Jens Axboe wrote:
>>>> On 1/16/23 6:17?AM, Linux kernel regression tracking (Thorsten Leemhuis) wrote:
>>>>> Hi, this is your Linux kernel regression tracker.
>>>>>
>>>>> I noticed a regression report in bugzilla.kernel.org. As many (most?)
>>>>> kernel developer don't keep an eye on it, I decided to forward it by
>>>>> mail. Quoting from https://bugzilla.kernel.org/show_bug.cgi?id=216932 :
>>>>
>>>> Looks like:
>>>>
>>>> commit 6d47e0f6a535701134d950db65eb8fe1edf0b575
>>>> Author: Jens Axboe <[email protected]>
>>>> Date: Wed Jan 4 08:52:06 2023 -0700
>>>>
>>>> block: don't allow splitting of a REQ_NOWAIT bio
>>>>
>>>> got picked up by stable, but not the required prep patch:
>>>>
>>>>
>>>> commit 613b14884b8595e20b9fac4126bf627313827fbe
>>>> Author: Jens Axboe <[email protected]>
>>>> Date: Wed Jan 4 08:51:19 2023 -0700
>>>>
>>>> block: handle bio_split_to_limits() NULL return
>>>>
>>>> Greg/team, can you pick the latter too? It'll pick cleanly for
>>>> 6.1-stable, not sure how far back the other patch has gone yet.
>>>
>>> Looked back, and 5.15 has it too, but the cherry-pick won't work
>>> on that kernel.
>>>
>>> Here's one for 5.15-stable that I verified crashes before this one,
>>> and works with it. Haven't done an allmodconfig yet...
>>
>> All now queued up, thanks!
>
> Thanks Greg! This one was my fault, as it was a set of 2 patches and
> I only marked 2/2 for stable. But how is that best handled? 1/2 could've
> been marked stable as well, but I don't think that would have prevented
> 2/2 applying fine and 1/2 failing and hence not getting queued up until
> I would've done a backport.
>
> What's the recommended way to describe the dependency that you only
> want 2/2 applied when 1/2 is in as well?

What I'm asking is if we have something like Depends-on or similar
that would explain this dependency. Then patch 2/2 could have:

Depends-on: 613b14884b85 ("block: handle bio_split_to_limits() NULL return")

and then it'd be clear that either both get added, or none of them.

--
Jens Axboe



2023-02-03 09:19:54

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [regression] Bug 216932 - io_uring with libvirt cause kernel NULL pointer dereference since 6.1.5

On Mon, Jan 16, 2023 at 08:50:20AM -0700, Jens Axboe wrote:
> On 1/16/23 8:44 AM, Jens Axboe wrote:
> > On 1/16/23 7:49 AM, Greg Kroah-Hartman wrote:
> >> On Mon, Jan 16, 2023 at 07:13:40AM -0700, Jens Axboe wrote:
> >>> On 1/16/23 6:42 AM, Jens Axboe wrote:
> >>>> On 1/16/23 6:17?AM, Linux kernel regression tracking (Thorsten Leemhuis) wrote:
> >>>>> Hi, this is your Linux kernel regression tracker.
> >>>>>
> >>>>> I noticed a regression report in bugzilla.kernel.org. As many (most?)
> >>>>> kernel developer don't keep an eye on it, I decided to forward it by
> >>>>> mail. Quoting from https://bugzilla.kernel.org/show_bug.cgi?id=216932 :
> >>>>
> >>>> Looks like:
> >>>>
> >>>> commit 6d47e0f6a535701134d950db65eb8fe1edf0b575
> >>>> Author: Jens Axboe <[email protected]>
> >>>> Date: Wed Jan 4 08:52:06 2023 -0700
> >>>>
> >>>> block: don't allow splitting of a REQ_NOWAIT bio
> >>>>
> >>>> got picked up by stable, but not the required prep patch:
> >>>>
> >>>>
> >>>> commit 613b14884b8595e20b9fac4126bf627313827fbe
> >>>> Author: Jens Axboe <[email protected]>
> >>>> Date: Wed Jan 4 08:51:19 2023 -0700
> >>>>
> >>>> block: handle bio_split_to_limits() NULL return
> >>>>
> >>>> Greg/team, can you pick the latter too? It'll pick cleanly for
> >>>> 6.1-stable, not sure how far back the other patch has gone yet.
> >>>
> >>> Looked back, and 5.15 has it too, but the cherry-pick won't work
> >>> on that kernel.
> >>>
> >>> Here's one for 5.15-stable that I verified crashes before this one,
> >>> and works with it. Haven't done an allmodconfig yet...
> >>
> >> All now queued up, thanks!
> >
> > Thanks Greg! This one was my fault, as it was a set of 2 patches and
> > I only marked 2/2 for stable. But how is that best handled? 1/2 could've
> > been marked stable as well, but I don't think that would have prevented
> > 2/2 applying fine and 1/2 failing and hence not getting queued up until
> > I would've done a backport.
> >
> > What's the recommended way to describe the dependency that you only
> > want 2/2 applied when 1/2 is in as well?
>
> What I'm asking is if we have something like Depends-on or similar
> that would explain this dependency. Then patch 2/2 could have:
>
> Depends-on: 613b14884b85 ("block: handle bio_split_to_limits() NULL return")
>
> and then it'd be clear that either both get added, or none of them.

As per the documentation, you can put this on the cc: stable line in the
changelog text like:
cc: stable <[email protected]> # 613b14884b85

thanks,

greg k-h

2023-02-03 14:26:02

by Jens Axboe

[permalink] [raw]
Subject: Re: [regression] Bug 216932 - io_uring with libvirt cause kernel NULL pointer dereference since 6.1.5

On 2/3/23 2:17 AM, Greg Kroah-Hartman wrote:
> On Mon, Jan 16, 2023 at 08:50:20AM -0700, Jens Axboe wrote:
>> On 1/16/23 8:44 AM, Jens Axboe wrote:
>>> On 1/16/23 7:49 AM, Greg Kroah-Hartman wrote:
>>>> On Mon, Jan 16, 2023 at 07:13:40AM -0700, Jens Axboe wrote:
>>>>> On 1/16/23 6:42 AM, Jens Axboe wrote:
>>>>>> On 1/16/23 6:17?AM, Linux kernel regression tracking (Thorsten Leemhuis) wrote:
>>>>>>> Hi, this is your Linux kernel regression tracker.
>>>>>>>
>>>>>>> I noticed a regression report in bugzilla.kernel.org. As many (most?)
>>>>>>> kernel developer don't keep an eye on it, I decided to forward it by
>>>>>>> mail. Quoting from https://bugzilla.kernel.org/show_bug.cgi?id=216932 :
>>>>>>
>>>>>> Looks like:
>>>>>>
>>>>>> commit 6d47e0f6a535701134d950db65eb8fe1edf0b575
>>>>>> Author: Jens Axboe <[email protected]>
>>>>>> Date: Wed Jan 4 08:52:06 2023 -0700
>>>>>>
>>>>>> block: don't allow splitting of a REQ_NOWAIT bio
>>>>>>
>>>>>> got picked up by stable, but not the required prep patch:
>>>>>>
>>>>>>
>>>>>> commit 613b14884b8595e20b9fac4126bf627313827fbe
>>>>>> Author: Jens Axboe <[email protected]>
>>>>>> Date: Wed Jan 4 08:51:19 2023 -0700
>>>>>>
>>>>>> block: handle bio_split_to_limits() NULL return
>>>>>>
>>>>>> Greg/team, can you pick the latter too? It'll pick cleanly for
>>>>>> 6.1-stable, not sure how far back the other patch has gone yet.
>>>>>
>>>>> Looked back, and 5.15 has it too, but the cherry-pick won't work
>>>>> on that kernel.
>>>>>
>>>>> Here's one for 5.15-stable that I verified crashes before this one,
>>>>> and works with it. Haven't done an allmodconfig yet...
>>>>
>>>> All now queued up, thanks!
>>>
>>> Thanks Greg! This one was my fault, as it was a set of 2 patches and
>>> I only marked 2/2 for stable. But how is that best handled? 1/2 could've
>>> been marked stable as well, but I don't think that would have prevented
>>> 2/2 applying fine and 1/2 failing and hence not getting queued up until
>>> I would've done a backport.
>>>
>>> What's the recommended way to describe the dependency that you only
>>> want 2/2 applied when 1/2 is in as well?
>>
>> What I'm asking is if we have something like Depends-on or similar
>> that would explain this dependency. Then patch 2/2 could have:
>>
>> Depends-on: 613b14884b85 ("block: handle bio_split_to_limits() NULL return")
>>
>> and then it'd be clear that either both get added, or none of them.
>
> As per the documentation, you can put this on the cc: stable line in the
> changelog text like:
> cc: stable <[email protected]> # 613b14884b85

Gotcha, will try and remember that :-)

--
Jens Axboe