Re: [PATCH resend] slub: Add back check for free nonslab objects
From: Kefeng Wang <hidden>
Date: 2021-09-27 03:06:47
Also in:
lkml
From: Kefeng Wang <hidden>
Date: 2021-09-27 03:06:47
Also in:
lkml
On 2021/9/27 10:42, Matthew Wilcox wrote:
On Mon, Sep 27, 2021 at 10:15:38AM +0800, Kefeng Wang wrote:quoted
Commit ("0937502af7c9 slub: Add check for kfree() of non slab objects.") add the ability, which should be needed in any configs to catch the invalid free, they even could be potential issue, eg, memory corruption, use after free and double-free, so replace VM_BUG_ON_PAGE to WARN_ON, and add dump_page() to help use to debug the issue.Is dump_page() really the best way to catch such a thing? I would have thought that printing the address of 'object' would be more helpful.
With no vmcore, dump_page() do help us to find a memory corruption issue. We could add 'object ' address print too.
quoted
@@ -3522,7 +3522,8 @@ static inline void free_nonslab_page(struct page *page, void *object) { unsigned int order = compound_order(page); - VM_BUG_ON_PAGE(!PageCompound(page), page); + if (WARN_ON(!PageCompound(page))) + dump_page(page, "invalid free nonslab page");.