[PATCH 4.13 50/53] RAS/CEC: Use the right length for "cec_disable"

From: Greg Kroah-Hartman
Date: Mon Oct 16 2017 - 12:20:46 EST


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

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

From: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>

commit 69a330007091ea8a801dd9fcd897ec52f9529586 upstream.

parse_cec_param() compares a string with "cec_disable" using only 7
characters of the 11-character-long string.

The proper solution for this would be:

#define CEC_DISABLE "cec_disable"

strncmp(str, CEC_DISABLE, strlen(CEC_DISABLE))

but when comparing a string against a string constant strncmp() has no
advantage over strcmp() because the comparison is guaranteed to be bound by
the string constant. So just replace str strncmp() with strcmp().

[ tglx: Made it use strcmp and updated the changelog ]

Fixes: 011d82611172 ("RAS: Add a Corrected Errors Collector")
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20170903075440.30250-1-nicolas.iooss_linux@xxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/ras/cec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/ras/cec.c
+++ b/drivers/ras/cec.c
@@ -523,7 +523,7 @@ int __init parse_cec_param(char *str)
if (*str == '=')
str++;

- if (!strncmp(str, "cec_disable", 7))
+ if (!strcmp(str, "cec_disable"))
ce_arr.disabled = 1;
else
return 0;