lkml.org 
[lkml]   [2010]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[05/45] sched: Fix string comparison in /proc/sched_features
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

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

    From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

    commit 7740191cd909b75d75685fb08a5d1f54b8a9d28b upstream.

    Fix incorrect handling of the following case:

    INTERACTIVE
    INTERACTIVE_SOMETHING_ELSE

    The comparison only checks up to each element's length.

    Changelog since v1:
    - Embellish using some Rostedtisms.
    [ mingo: ^^ == smaller and cleaner ]

    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Tony Lindgren <tony@atomide.com>
    LKML-Reference: <20100913214700.GB16118@Krystal>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    kernel/sched.c | 7 +++----
    1 file changed, 3 insertions(+), 4 deletions(-)

    --- a/kernel/sched.c
    +++ b/kernel/sched.c
    @@ -741,7 +741,7 @@ sched_feat_write(struct file *filp, cons
    size_t cnt, loff_t *ppos)
    {
    char buf[64];
    - char *cmp = buf;
    + char *cmp;
    int neg = 0;
    int i;

    @@ -752,6 +752,7 @@ sched_feat_write(struct file *filp, cons
    return -EFAULT;

    buf[cnt] = 0;
    + cmp = strstrip(buf);

    if (strncmp(buf, "NO_", 3) == 0) {
    neg = 1;
    @@ -759,9 +760,7 @@ sched_feat_write(struct file *filp, cons
    }

    for (i = 0; sched_feat_names[i]; i++) {
    - int len = strlen(sched_feat_names[i]);
    -
    - if (strncmp(cmp, sched_feat_names[i], len) == 0) {
    + if (strcmp(cmp, sched_feat_names[i]) == 0) {
    if (neg)
    sysctl_sched_features &= ~(1UL << i);
    else



    \
     
     \ /
      Last update: 2010-11-19 22:57    [W:4.190 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site