[PATCH] erofs: fix out-of-bound access when z_erofs_gbuf_growsize() partially fails
Gao Xiang
hsiangkao at linux.alibaba.com
Tue Aug 20 19:27:13 AEST 2024
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?
Thanks,
Gao Xiang
>
> Thanks,
>
> Chunhai Guo
>
More information about the Linux-erofs
mailing list