[PATCH] vmpressure: fix divide-by-0 in vmpressure_work_fn

From: Hugh Dickins
Date: Sat Sep 07 2013 - 01:59:48 EST


Hit divide-by-0 in vmpressure_work_fn(): checking vmpr->scanned before
taking the lock is not enough, we must check scanned afterwards too.

Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---

mm/vmpressure.c | 3 +++
1 file changed, 3 insertions(+)

--- 3.11/mm/vmpressure.c 2013-09-02 13:46:10.000000000 -0700
+++ linux/mm/vmpressure.c 2013-09-06 22:43:03.596003080 -0700
@@ -187,6 +187,9 @@ static void vmpressure_work_fn(struct wo
vmpr->reclaimed = 0;
spin_unlock(&vmpr->sr_lock);

+ if (!scanned)
+ return;
+
do {
if (vmpressure_event(vmpr, scanned, reclaimed))
break;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/