From ecccd1248d6e6986130ffcc3b0d003cb46a485c0 Mon Sep 17 00:00:00 2001 From: Zlatko Calusic Date: Fri, 28 Dec 2012 03:16:38 +0100 Subject: mm: fix null pointer dereference in wait_iff_congested() An unintended consequence of commit 4ae0a48b5efc ("mm: modify pgdat_balanced() so that it also handles order-0") is that wait_iff_congested() can now be called with NULL 'struct zone *' producing kernel oops like this: BUG: unable to handle kernel NULL pointer dereference IP: [] wait_iff_congested+0x59/0x140 This trivial patch fixes it. Reported-by: Zhouping Liu Reported-and-tested-by: Sedat Dilek Cc: Andrew Morton Cc: Mel Gorman Cc: Hugh Dickins Signed-off-by: Zlatko Calusic Signed-off-by: Linus Torvalds --- mm/vmscan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mm') diff --git a/mm/vmscan.c b/mm/vmscan.c index 23291b9ae871..16b42af393ac 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2775,7 +2775,7 @@ loop_again: if (total_scanned && (sc.priority < DEF_PRIORITY - 2)) { if (has_under_min_watermark_zone) count_vm_event(KSWAPD_SKIP_CONGESTION_WAIT); - else + else if (unbalanced_zone) wait_iff_congested(unbalanced_zone, BLK_RW_ASYNC, HZ/10); } -- cgit v1.2.3-58-ga151