| From fd9b86d37a600488dbd80fe60cca46b822bff1cd Mon Sep 17 00:00:00 2001 |
| From: libin <huawei.libin@huawei.com> |
| Date: Mon, 8 Apr 2013 14:39:12 +0800 |
| Subject: sched/debug: Fix sd->*_idx limit range avoiding overflow |
| |
| From: libin <huawei.libin@huawei.com> |
| |
| commit fd9b86d37a600488dbd80fe60cca46b822bff1cd upstream. |
| |
| Commit 201c373e8e ("sched/debug: Limit sd->*_idx range on |
| sysctl") was an incomplete bug fix. |
| |
| This patch fixes sd->*_idx limit range to [0 ~ CPU_LOAD_IDX_MAX-1] |
| avoiding array overflow caused by setting sd->*_idx to CPU_LOAD_IDX_MAX |
| on sysctl. |
| |
| Signed-off-by: Libin <huawei.libin@huawei.com> |
| Cc: <jiang.liu@huawei.com> |
| Cc: <guohanjun@huawei.com> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Link: http://lkml.kernel.org/r/51626610.2040607@huawei.com |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Cc: Rui Xiang <rui.xiang@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/sched/core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/kernel/sched/core.c |
| +++ b/kernel/sched/core.c |
| @@ -5434,7 +5434,7 @@ static void sd_free_ctl_entry(struct ctl |
| } |
| |
| static int min_load_idx = 0; |
| -static int max_load_idx = CPU_LOAD_IDX_MAX; |
| +static int max_load_idx = CPU_LOAD_IDX_MAX-1; |
| |
| static void |
| set_table_entry(struct ctl_table *entry, |