| From 528f7ce6e439edeac38f6b3f8561f1be129b5e91 Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Wed, 21 Sep 2011 20:55:04 +0200 |
| Subject: PM / Suspend: Off by one in pm_suspend() |
| |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| |
| 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 <dan.carpenter@oracle.com> |
| Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| |
| --- |
| kernel/power/suspend.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- 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; |
| } |