diff options
| author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-06-08 15:18:34 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-06-14 18:41:49 +0200 |
| commit | c0c84962e297927ba57fd6ddc2bb000c9d149655 (patch) | |
| tree | 53ae800e565589ad5410ee177753b0e719389c04 /include/uapi/linux/virtio_config.h | |
| parent | 2e9d662a0492e5ffbcbe6fb37d6601529cd0944c (diff) | |
mm/huge_memory: Fix xarray node memory leak
commit 69a37a8ba1b408a1c7616494aa7018e4b3844cbe upstream.
If xas_split_alloc() fails to allocate the necessary nodes to complete the
xarray entry split, it sets the xa_state to -ENOMEM, which xas_nomem()
then interprets as "Please allocate more memory", not as "Please free
any unnecessary memory" (which was the intended outcome). It's confusing
to use xas_nomem() to free memory in this context, so call xas_destroy()
instead.
Reported-by: syzbot+9e27a75a8c24f3fe75c1@syzkaller.appspotmail.com
Fixes: 6b24ca4a1a8d ("mm: Use multi-index entries in the page cache")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/uapi/linux/virtio_config.h')
0 files changed, 0 insertions, 0 deletions
