[PATCH] erofs: fix out-of-bound access when z_erofs_gbuf_growsize() partially fails
Chunhai Guo
guochunhai at vivo.com
Tue Aug 20 19:31:08 AEST 2024
在 2024/8/20 17:27, Gao Xiang 写道:
> Hi Chunhai,
>
> On 2024/8/20 17:25, Chunhai Guo wrote:
>> 在 2024/8/20 16:42, Gao Xiang 写道:
>>> If z_erofs_gbuf_growsize() partially fails on a global buffer due to
>>> memory allocation failure or fault injection (as reported by syzbot
>>> [1]),
>>> new pages need to be freed by comparing to the existing pages to avoid
>>> memory leaks.
>>>
>>> However, the old gbuf->pages[] array may not be large enough, which can
>>> lead to null-ptr-deref or out-of-bound access.
>>>
>>> Fix this by checking against gbuf->nrpages in advance.
>>>
>>> Fixes: d6db47e571dc ("erofs: do not use pagepool in
>>> z_erofs_gbuf_growsize()")
>>> Cc: <stable at vger.kernel.org> # 6.10+
>>> Cc: Chunhai Guo <guochunhai at vivo.com>
>>> Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
>>>
>> Reviewed-by: Chunhai Guo <guochunhai at vivo.com>
>
> I've sent a patch to add links and reported-by.
>
> I assume I can add your reviewed-by to that version too?
Yes. That is right.
Thanks,
>
> Thanks,
> Gao Xiang
>
>>
>> Thanks,
>>
>> Chunhai Guo
>>
More information about the Linux-erofs
mailing list