aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorHillf Danton2013-03-08 14:43:28 -0600
committerGreg Kroah-Hartman2013-03-14 13:26:25 -0500
commit87b07931632bc4a4c032a49b2fb00701ecef6320 (patch)
treed851f5fc5bc925f9fa485d6ecf07432c6f175614 /mm
parent3479cfd6f589c4d49494c046fabdbfdcb5c4c8e6 (diff)
downloadkernel-audio-87b07931632bc4a4c032a49b2fb00701ecef6320.tar.gz
kernel-audio-87b07931632bc4a4c032a49b2fb00701ecef6320.tar.xz
kernel-audio-87b07931632bc4a4c032a49b2fb00701ecef6320.zip
mm/mempolicy.c: fix wrong sp_node insertion
commit 5ca3957510b9fc2a14d3647db518014842f9a2b4 upstream. n->end is accessed in sp_insert(). Thus it should be update before calling sp_insert(). This mistake may make kernel panic. Signed-off-by: Hillf Danton <dhillf@gmail.com> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Sasha Levin <sasha.levin@oracle.com> Cc: Hugh Dickins <hughd@google.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/mempolicy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index e2df1c1fb41f..3df6d12e8ff8 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2386,8 +2386,8 @@ restart:
2386 *mpol_new = *n->policy; 2386 *mpol_new = *n->policy;
2387 atomic_set(&mpol_new->refcnt, 1); 2387 atomic_set(&mpol_new->refcnt, 1);
2388 sp_node_init(n_new, n->end, end, mpol_new); 2388 sp_node_init(n_new, n->end, end, mpol_new);
2389 sp_insert(sp, n_new);
2390 n->end = start; 2389 n->end = start;
2390 sp_insert(sp, n_new);
2391 n_new = NULL; 2391 n_new = NULL;
2392 mpol_new = NULL; 2392 mpol_new = NULL;
2393 break; 2393 break;