Re: [PATCH 5.17 000/772] 5.17.14-rc1 review

Coly Li
2022-06-20T15:16:58Z

> 2022年6月20日 18:10，Greg Kroah-Hartman <gregkh@linuxfoundation.org> 写道：
>
> On Sat, Jun 18, 2022 at 07:57:01PM +0800, Coly Li wrote:
>>
>>
>>> 2022年6月18日 19:37，Pavel Machek <pavel@ucw.cz> 写道：
>>>
>>> Hi!
>>>
>>>>>> Fixes: bc082a55d25c ("bcache: fix inaccurate io state for detached
>>>>> ...
>>>>>
>>>>>> +++ b/drivers/md/bcache/request.c
>>>>>> @@ -1107,6 +1107,12 @@ static void detached_dev_do_request(struct
>>>>>> bcache_device *d, struct bio *bio,
>>>>>> * which would call closure_get(&dc->disk.cl)
>>>>>> */
>>>>>> ddip = kzalloc(sizeof(struct detached_dev_io_private), GFP_NOIO);
>>>>>> + if (!ddip) {
>>>>>> + bio->bi_status = BLK_STS_RESOURCE;
>>>>>> + bio->bi_end_io(bio);
>>>>>> + return;
>>>>>> + }
>>>>>> +
>>>>>> ddip->d = d;
>>>>>> /* Count on the bcache device */
>>>>>> ddip->orig_bdev = orig_bdev;
>>>>>>
>>>>>
>>>>> So... for patch to make any difference, memory allocation has to fail
>>>>> and ddip has to be NULL.
>>>>>
>>>>> Before the patch, it would oops in "ddip->d = d;". With the patch, you
>>>>> do some kind of error handling. Even if it is buggy, it should not do
>>>>> more harm than immediate oops.
>>>>
>>>> I just receive this single email and don’t have any idea for the context and what the problem is. Where can I see the whole conversation?
>>>>
>>>
>>> Discussion happened on stable@vger.kernel.org mailing lists, archives
>>> should be easily available. Copy went to lkml, too.
>>
>> Hi Pavel and Greg,
>>
>> Thanks for the hint, I see the context. I cannot tell the direct reason of the kfence regression, but it is worthy to have this patch in,
>> - commit 7d6b902ea0e0 ("bcache: memset on stack variables in bch_btree_check() and bch_sectors_dirty_init()”)
>>
>> I am not sure whether it is directly related to the kfence issue, it corrects potential unexpected stack state in some condition. Hope it may help a bit.
>
> Added where?
>
> confused,

I will post the patch to stable list for specific version. Thanks.

Coly Li