From: Dan Carpenter Date: Wed, 21 Sep 2011 18:55:04 +0000 (+0200) Subject: PM / Suspend: Off by one in pm_suspend() X-Git-Tag: v3.1.1~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ca9b9d7bf6fc89a8a72c6aa37c683d02b7782b0b;p=thirdparty%2Fkernel%2Fstable.git PM / Suspend: Off by one in pm_suspend() commit 528f7ce6e439edeac38f6b3f8561f1be129b5e91 upstream. In enter_state() we use "state" as an offset for the pm_states[] array. The pm_states[] array only has PM_SUSPEND_MAX elements so this test is off by one. Signed-off-by: Dan Carpenter Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c index b6b71ad2208fd..d3caa76349875 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -315,7 +315,7 @@ int enter_state(suspend_state_t state) */ int pm_suspend(suspend_state_t state) { - if (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX) + if (state > PM_SUSPEND_ON && state < PM_SUSPEND_MAX) return enter_state(state); return -EINVAL; }