3.4-stable review patch.  If anyone has any objections, please let me know.

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

From: Josh Boyer <jwbo...@redhat.com>

commit f447ef4a56dee4b68a91460bcdfe06b5011085f2 upstream.

If a user calls 'cpupower set --perf-bias 15', the process will end with
a SIGSEGV in libc because cpupower-set passes a NULL optarg to the atoi
call.  This is because the getopt_long structure currently has all of
the options as having an optional_argument when they really have a
required argument.  We change the structure to use required_argument to
match the short options and it resolves the issue.

This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1000439

Signed-off-by: Josh Boyer <jwbo...@fedoraproject.org>
Cc: Dominik Brodowski <li...@dominikbrodowski.net>
Cc: Thomas Renninger <tr...@suse.de>
Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 tools/power/cpupower/utils/cpupower-set.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/tools/power/cpupower/utils/cpupower-set.c
+++ b/tools/power/cpupower/utils/cpupower-set.c
@@ -18,9 +18,9 @@
 #include "helpers/bitmask.h"
 
 static struct option set_opts[] = {
-       { .name = "perf-bias",  .has_arg = optional_argument,   .flag = NULL,   
.val = 'b'},
-       { .name = "sched-mc",   .has_arg = optional_argument,   .flag = NULL,   
.val = 'm'},
-       { .name = "sched-smt",  .has_arg = optional_argument,   .flag = NULL,   
.val = 's'},
+       { .name = "perf-bias",  .has_arg = required_argument,   .flag = NULL,   
.val = 'b'},
+       { .name = "sched-mc",   .has_arg = required_argument,   .flag = NULL,   
.val = 'm'},
+       { .name = "sched-smt",  .has_arg = required_argument,   .flag = NULL,   
.val = 's'},
        { },
 };
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to