Timur Tabi
2024-Mar-04 03:02 UTC
[PATCH] nouveau/dmem: handle kcalloc() allocation failure
On Sun, Mar 3, 2024 at 4:46?AM Duoming Zhou <duoming at zju.edu.cn> wrote:> > The kcalloc() in nouveau_dmem_evict_chunk() will return null if > the physical memory has run out. As a result, if we dereference > src_pfns, dst_pfns or dma_addrs, the null pointer dereference bugs > will happen. > > This patch uses stack variables to replace the kcalloc().Won't this blow the stack? And why not just test the return value of kcalloc?
Jani Nikula
2024-Mar-04 12:14 UTC
[PATCH] nouveau/dmem: handle kcalloc() allocation failure
On Sun, 03 Mar 2024, Timur Tabi <timur at kernel.org> wrote:> On Sun, Mar 3, 2024 at 4:46?AM Duoming Zhou <duoming at zju.edu.cn> wrote: >> >> The kcalloc() in nouveau_dmem_evict_chunk() will return null if >> the physical memory has run out. As a result, if we dereference >> src_pfns, dst_pfns or dma_addrs, the null pointer dereference bugs >> will happen. >> >> This patch uses stack variables to replace the kcalloc(). > > Won't this blow the stack? And why not just test the return value of > kcalloc?VLAs should not be used in the kernel anymore. Building this results in a warning due to -Wvla. See 0bb95f80a38f ("Makefile: Globally enable VLA warning"). Error checking and propagation is the way to go. BR, Jani. -- Jani Nikula, Intel