In the Linux kernel, the following vulnerability has been resolved: erofs: skip sufficiently large global buffers when resizing z_erofs_gbuf_nrpages is advanced only after every global buffer has been grown. If a resize fails after some buffers were enlarged, a retry revisits those enlarged buffers. Retrying the same size then returns -ENOMEM because alloc_pages_bulk() has no pages to add and the unchanged return value is treated as a failure. Retrying an intermediate size allocates a temporary pointer array smaller than gbuf->nrpages and copies more existing pointers than the array can hold. Skip buffers that already satisfy the request. Once all remaining buffers have caught up, advancing z_erofs_gbuf_nrpages again describes the guaranteed minimum size across the pool.
https://git.kernel.org/stable/c/a7d097cf01301c5da37927c8f26123d006f0fd8a
https://git.kernel.org/stable/c/7f4a89d4f0d6acaf4b756c31de48f2109a257b70
https://git.kernel.org/stable/c/7267557ce98ccd07faaf3bc86382448950cc4ff6