2022-10-24 09:18:50

by Tong Tiangen

[permalink] [raw]
Subject: [PATCH -next] init/main: Use strtobool for param parsing in set_debug_rodata()

Aftern parsing "full", we can still use strtobool rather than "on" and
"off" parsing in set_debug_rodata().

Fixes: 2e8cff0a0eee ("arm64: fix rodata=full")
Signed-off-by: Tong Tiangen <[email protected]>
---
init/main.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/init/main.c b/init/main.c
index aa21add5f7c5..f420e20b1fa3 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1463,13 +1463,7 @@ static int __init set_debug_rodata(char *str)
if (arch_parse_debug_rodata(str))
return 0;

- if (str && !strcmp(str, "on"))
- rodata_enabled = true;
- else if (str && !strcmp(str, "off"))
- rodata_enabled = false;
- else
- pr_warn("Invalid option string for rodata: '%s'\n", str);
- return 0;
+ return strtobool(str, &rodata_enabled);
}
early_param("rodata", set_debug_rodata);
#endif
--
2.25.1


2022-10-24 11:32:54

by Mark Rutland

[permalink] [raw]
Subject: Re: [PATCH -next] init/main: Use strtobool for param parsing in set_debug_rodata()

On Mon, Oct 24, 2022 at 09:38:17AM +0000, Tong Tiangen wrote:
> Aftern parsing "full", we can still use strtobool rather than "on" and
> "off" parsing in set_debug_rodata().
>
> Fixes: 2e8cff0a0eee ("arm64: fix rodata=full")

Why do you think this is a fix; what do you believe is broken?

As noted in the commit message for 2e8cff0a0eee, we *deliberately* don't use
strtobool() here so that we don't accept garbage values like "ful".

NAK to this patch as it stands.

Thanks,
Mark.

> Signed-off-by: Tong Tiangen <[email protected]>
> ---
> init/main.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/init/main.c b/init/main.c
> index aa21add5f7c5..f420e20b1fa3 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -1463,13 +1463,7 @@ static int __init set_debug_rodata(char *str)
> if (arch_parse_debug_rodata(str))
> return 0;
>
> - if (str && !strcmp(str, "on"))
> - rodata_enabled = true;
> - else if (str && !strcmp(str, "off"))
> - rodata_enabled = false;
> - else
> - pr_warn("Invalid option string for rodata: '%s'\n", str);
> - return 0;
> + return strtobool(str, &rodata_enabled);
> }
> early_param("rodata", set_debug_rodata);
> #endif
> --
> 2.25.1
>

2022-10-24 12:36:20

by Tong Tiangen

[permalink] [raw]
Subject: Re: [PATCH -next] init/main: Use strtobool for param parsing in set_debug_rodata()



在 2022/10/24 19:00, Mark Rutland 写道:
> On Mon, Oct 24, 2022 at 09:38:17AM +0000, Tong Tiangen wrote:
>> Aftern parsing "full", we can still use strtobool rather than "on" and
>> "off" parsing in set_debug_rodata().
>>
>> Fixes: 2e8cff0a0eee ("arm64: fix rodata=full")
>
> Why do you think this is a fix; what do you believe is broken?
>
> As noted in the commit message for 2e8cff0a0eee, we *deliberately* don't use
> strtobool() here so that we don't accept garbage values like "ful".
>
> NAK to this patch as it stands.
>
> Thanks,
> Mark.

Hi Mark:

Ok, missing that.

Thanks,
Tong.

>
>> Signed-off-by: Tong Tiangen <[email protected]>
>> ---
>> init/main.c | 8 +-------
>> 1 file changed, 1 insertion(+), 7 deletions(-)
>>
>> diff --git a/init/main.c b/init/main.c
>> index aa21add5f7c5..f420e20b1fa3 100644
>> --- a/init/main.c
>> +++ b/init/main.c
>> @@ -1463,13 +1463,7 @@ static int __init set_debug_rodata(char *str)
>> if (arch_parse_debug_rodata(str))
>> return 0;
>>
>> - if (str && !strcmp(str, "on"))
>> - rodata_enabled = true;
>> - else if (str && !strcmp(str, "off"))
>> - rodata_enabled = false;
>> - else
>> - pr_warn("Invalid option string for rodata: '%s'\n", str);
>> - return 0;
>> + return strtobool(str, &rodata_enabled);
>> }
>> early_param("rodata", set_debug_rodata);
>> #endif
>> --
>> 2.25.1
>>
>
> .