2013-04-15 14:16:57

by jonghwan Choi

[permalink] [raw]
Subject: [PATCH 3.8-stable] sched/debug: Fix sd->*_idx limit range avoiding overflow

From: libin <[email protected]>

This patch looks like it should be in the 3.8-stable tree, should we apply
it?

------------------

From: "libin <[email protected]>"

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 <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Jonghwan Choi <[email protected]>
---
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 26058d0..112a32a 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4948,7 +4948,7 @@ static void sd_free_ctl_entry(struct ctl_table **tablep)
}

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,
--
1.7.10.4


2013-04-16 01:53:33

by Li Bin

[permalink] [raw]
Subject: Re: [PATCH 3.8-stable] sched/debug: Fix sd->*_idx limit range avoiding overflow

On 2013/4/15 22:15, Jonghwan Choi wrote:
> From: libin <[email protected]>
>
> This patch looks like it should be in the 3.8-stable tree, should we apply
> it?
>

yes, I think this patch should be applied to the 3.8-stable tree. Thanks.
Libin

> ------------------
>
> From: "libin <[email protected]>"
>
> 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 <[email protected]>
> Cc: <[email protected]>
> Cc: <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Link: http://lkml.kernel.org/r/[email protected]
> Signed-off-by: Ingo Molnar <[email protected]>
> Signed-off-by: Jonghwan Choi <[email protected]>
> ---
> kernel/sched/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 26058d0..112a32a 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -4948,7 +4948,7 @@ static void sd_free_ctl_entry(struct ctl_table **tablep)
> }
>
> 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,
>

2013-04-16 09:15:11

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH 3.8-stable] sched/debug: Fix sd->*_idx limit range avoiding overflow


* libin <[email protected]> wrote:

> On 2013/4/15 22:15, Jonghwan Choi wrote:
> > From: libin <[email protected]>
> >
> > This patch looks like it should be in the 3.8-stable tree, should we apply
> > it?
> >
>
> yes, I think this patch should be applied to the 3.8-stable tree. Thanks.
> Libin

Since this is a debug interface only accessible to root it's not strictly
necessary - but I have no objection to including it in -stable.

Thanks,

Ingo