diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 26f83e2f1534..b40b82e33590 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -721,7 +721,7 @@ sched_feat_write(struct file *filp, const char __user *ubuf, | |||
721 | size_t cnt, loff_t *ppos) | 721 | size_t cnt, loff_t *ppos) |
722 | { | 722 | { |
723 | char buf[64]; | 723 | char buf[64]; |
724 | char *cmp = buf; | 724 | char *cmp; |
725 | int neg = 0; | 725 | int neg = 0; |
726 | int i; | 726 | int i; |
727 | 727 | ||
@@ -732,6 +732,7 @@ sched_feat_write(struct file *filp, const char __user *ubuf, | |||
732 | return -EFAULT; | 732 | return -EFAULT; |
733 | 733 | ||
734 | buf[cnt] = 0; | 734 | buf[cnt] = 0; |
735 | cmp = strstrip(buf); | ||
735 | 736 | ||
736 | if (strncmp(buf, "NO_", 3) == 0) { | 737 | if (strncmp(buf, "NO_", 3) == 0) { |
737 | neg = 1; | 738 | neg = 1; |
@@ -739,9 +740,7 @@ sched_feat_write(struct file *filp, const char __user *ubuf, | |||
739 | } | 740 | } |
740 | 741 | ||
741 | for (i = 0; sched_feat_names[i]; i++) { | 742 | for (i = 0; sched_feat_names[i]; i++) { |
742 | int len = strlen(sched_feat_names[i]); | 743 | if (strcmp(cmp, sched_feat_names[i]) == 0) { |
743 | |||
744 | if (strncmp(cmp, sched_feat_names[i], len) == 0) { | ||
745 | if (neg) | 744 | if (neg) |
746 | sysctl_sched_features &= ~(1UL << i); | 745 | sysctl_sched_features &= ~(1UL << i); |
747 | else | 746 | else |