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: firefly_0821_release~7541^2~2315 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f450df800450e9c7ec8c53bdb72d6c4ef5f17d4e;p=firefly-linux-kernel-4.4.55.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; }