Re: [PATCH v9 1/8] x86/boot: Introduce cmdline_find_option_arg()to detect if option=arg in cmdline

From: Chao Fan
Date: Thu Oct 18 2018 - 02:16:52 EST


On Thu, Oct 18, 2018 at 12:01:20PM +0800, Baoquan He wrote:
>On 10/17/18 at 06:20pm, Chao Fan wrote:
>> +bool cmdline_find_option_arg(const char *option, const char *arg, int argsize)
>> +{
>> + char *buffer = malloc(argsize+1);
>> + bool find = false;
>> + int ret;
>> +
>> + ret = cmdline_find_option(option, buffer, argsize+1);
>> + if (ret == argsize && !strncmp(buffer, arg, argsize))
>> + find = true;
>
>Wondering if we really need a wrapper like this.

Well, my opinion is there are many code in kaslr.c can replaced by
cmdline_find_option_bool() and cmdline_find_option() and this new
cmdline_find_option_arg().
If this function introduced, we can clean up more code.

Thanks,
Chao Fan

>
>> +
>> + free(buffer);
>> + return find;
>> +}
>>
>> #endif
>> diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
>> index a1d5918765f3..008fdc47a29c 100644
>> --- a/arch/x86/boot/compressed/misc.h
>> +++ b/arch/x86/boot/compressed/misc.h
>> @@ -67,6 +67,7 @@ static inline void debug_puthex(const char *s)
>> /* cmdline.c */
>> int cmdline_find_option(const char *option, char *buffer, int bufsize);
>> int cmdline_find_option_bool(const char *option);
>> +bool cmdline_find_option_arg(const char *option, const char *arg, int argsize);
>> #endif
>>
>>
>> --
>> 2.17.2
>>
>>
>>
>
>