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: v2.6.39-400.9.0~823^2~169 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=606aa5fbe76c213f5a8bb5b12c95f6b34d111e8d;p=users%2Fjedix%2Flinux-maple.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 1c41ba215419..449ccc9c0a4f 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -307,7 +307,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; }