[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