Re: [PATCH 1/1] printk: fix parsing of "brl=" option

From: Nicolas Iooss
Date: Tue Aug 23 2016 - 12:47:18 EST


On 23/08/16 18:25, Joe Perches wrote:
> On Tue, 2016-08-23 at 17:47 +0200, Nicolas Iooss wrote:
>> Commit bbeddf52adc1 ("printk: move braille console support into separate
>> braille.[ch] files") moved the parsing of braille-related options into
>> _braille_console_setup(), changing the type of variable str from char*
>> to char**. In this commit, memcmp(str, "brl,", 4) was correctly updated
>> to memcmp(*str, "brl,", 4) but not memcmp(str, "brl=", 4).
>>
>> Update the code to make "brl=" option work again.
>>
>> Fixes: bbeddf52adc1 ("printk: move braille console support into separate
>> braille.[ch] files")
>> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
>> ---
>> kernel/printk/braille.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/printk/braille.c b/kernel/printk/braille.c
>> index 276762f3a460..f735ade8494c 100644
>> --- a/kernel/printk/braille.c
>> +++ b/kernel/printk/braille.c
>> @@ -12,7 +12,7 @@ char *_braille_console_setup(char **str, char **brl_options)
>> if (!memcmp(*str, "brl,", 4)) {
>> *brl_options = "";
>> *str += 4;
>> - } else if (!memcmp(str, "brl=", 4)) {
>> + } else if (!memcmp(*str, "brl=", 4)) {
>> *brl_options = *str + 4;
>> *str = strchr(*brl_options, ',');
>> if (!*str)
>
> Thanks.
>
> likely the first memcmp here should be strcmp
> and the second should be strncmp
>
> That would have caused the compiler to show
> the defect.

The first memcmp should also be a strncmp (there is a comma after brl).
Anyway I agree with your proposition and will send a v2 with strncmp.

Nicolas