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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> 2022年6月18日 19:37,Pavel Machek <pavel@xxxxxx> 写道:
> 
> 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@xxxxxxxxxxxxxxx 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.

Thanks.

Coly Li



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux