在 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: <sta...@vger.kernel.org> # 6.10+
> Cc: Chunhai Guo <guochun...@vivo.com>
> Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>
>
Reviewed-by: Chunhai Guo <guochun...@vivo.com>

Thanks,

Chunhai Guo

Reply via email to