* Re: [PATCH] slub: Add back check for free nonslab objects
2021-09-27 2:09 [PATCH] slub: Add back check for free nonslab objects Kefeng Wang
@ 2021-09-27 2:08 ` Kefeng Wang
0 siblings, 0 replies; 2+ messages in thread
From: Kefeng Wang @ 2021-09-27 2:08 UTC (permalink / raw)
To: shakeelb, vbabka, Christoph Lameter, Pekka Enberg,
David Rientjes, Joonsoo Kim, Andrew Morton, linux-mm,
linux-kernel
sorry,wrong patch, please ignore
On 2021/9/27 10:09, Kefeng Wang wrote:
> After commit ("f227f0faf63b slub: fix unreclaimable slab stat for bulk
> free"), the check for free nonslab page is replaced by VM_BUG_ON_PAGE,
> which only check with CONFIG_DEBUG_VM enabled, but this config may
> impact performance, so it only for debug.
>
> 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.
>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> ---
> mm/slub.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index 3095b889fab4..1bfe09098485 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -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);
> kfree_hook(object);
> mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B, -(PAGE_SIZE << order));
> __free_pages(page, order);
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH] slub: Add back check for free nonslab objects
@ 2021-09-27 2:09 Kefeng Wang
2021-09-27 2:08 ` Kefeng Wang
0 siblings, 1 reply; 2+ messages in thread
From: Kefeng Wang @ 2021-09-27 2:09 UTC (permalink / raw)
To: shakeelb, vbabka, Christoph Lameter, Pekka Enberg,
David Rientjes, Joonsoo Kim, Andrew Morton, linux-mm,
linux-kernel
Cc: Kefeng Wang
After commit ("f227f0faf63b slub: fix unreclaimable slab stat for bulk
free"), the check for free nonslab page is replaced by VM_BUG_ON_PAGE,
which only check with CONFIG_DEBUG_VM enabled, but this config may
impact performance, so it only for debug.
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.
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
mm/slub.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/slub.c b/mm/slub.c
index 3095b889fab4..1bfe09098485 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -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);
kfree_hook(object);
mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B, -(PAGE_SIZE << order));
__free_pages(page, order);
--
2.26.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-09-27 2:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-27 2:09 [PATCH] slub: Add back check for free nonslab objects Kefeng Wang
2021-09-27 2:08 ` Kefeng Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).