Patchwork [3.5.y.z,extended,stable] Patch "mm: bugfix: set current->reclaim_state to NULL while" has been added to staging queue

mail settings
Submitter Herton Ronaldo Krzesinski
Date Dec. 6, 2012, 3:24 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/204122/
State New
Headers show


Herton Ronaldo Krzesinski - Dec. 6, 2012, 3:24 a.m.
This is a note to let you know that I have just added a patch titled

    mm: bugfix: set current->reclaim_state to NULL while

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see



From 7115a7b18b958293129fd2ea2d8848e4b1ecbc48 Mon Sep 17 00:00:00 2001
From: Takamori Yamaguchi <>
Date: Thu, 8 Nov 2012 15:53:39 -0800
Subject: [PATCH] mm: bugfix: set current->reclaim_state to NULL while
 returning from kswapd()
X-Extended-Stable: 3.5

commit b0a8cc58e6b9aaae3045752059e5e6260c0b94bc upstream.

In kswapd(), set current->reclaim_state to NULL before returning, as
current->reclaim_state holds reference to variable on kswapd()'s stack.

In rare cases, while returning from kswapd() during memory offlining,
__free_slab() and freepages() can access the dangling pointer of

Signed-off-by: Takamori Yamaguchi <>
Signed-off-by: Aaditya Kumar <>
Acked-by: David Rientjes <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
Signed-off-by: Herton Ronaldo Krzesinski <>
 mm/vmscan.c |    2 ++
 1 file changed, 2 insertions(+)



diff --git a/mm/vmscan.c b/mm/vmscan.c
index f0f8ebb..cdfdfc5 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2835,6 +2835,8 @@  static int kswapd(void *p)
+	current->reclaim_state = NULL;
 	return 0;