Message ID | 20220227181038.126926-1-linux@treblig.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm: Use strtobool for param parsing | expand |
On Sun, 27 Feb 2022 18:10:39 +0000 "Dr. David Alan Gilbert" <linux@treblig.org> wrote: > Use strtobool rather than open coding "on" and "off" parsing in > mm/hugetlb_vmemmap.c and mm/page_table_check.c. > > Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> > --- > mm/hugetlb_vmemmap.c | 12 +----------- > mm/page_table_check.c | 10 +--------- > 2 files changed, 2 insertions(+), 20 deletions(-) > > diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c > index c540c21e26f5b..919411386e547 100644 > --- a/mm/hugetlb_vmemmap.c > +++ b/mm/hugetlb_vmemmap.c > @@ -192,17 +192,7 @@ static int __init early_hugetlb_free_vmemmap_param(char *buf) > return 0; > } > > - if (!buf) > - return -EINVAL; > - > - if (!strcmp(buf, "on")) > - hugetlb_free_vmemmap_enabled = true; > - else if (!strcmp(buf, "off")) > - hugetlb_free_vmemmap_enabled = false; > - else > - return -EINVAL; > - > - return 0; > + return strtobool(buf, &hugetlb_free_vmemmap_enabled); > } > early_param("hugetlb_free_vmemmap", early_hugetlb_free_vmemmap_param); This part falls afoul of the changes in https://lkml.kernel.org/r/20211101031651.75851-3-songmuchun@bytedance.com > diff --git a/mm/page_table_check.c b/mm/page_table_check.c > index 3763bd077861a..2458281bff893 100644 > --- a/mm/page_table_check.c > +++ b/mm/page_table_check.c > @@ -23,15 +23,7 @@ EXPORT_SYMBOL(page_table_check_disabled); > > static int __init early_page_table_check_param(char *buf) > { > - if (!buf) > - return -EINVAL; > - > - if (strcmp(buf, "on") == 0) > - __page_table_check_enabled = true; > - else if (strcmp(buf, "off") == 0) > - __page_table_check_enabled = false; > - > - return 0; > + return strtobool(buf, &__page_table_check_enabled); > } But this works OK.
* Andrew Morton (akpm@linux-foundation.org) wrote: > On Sun, 27 Feb 2022 18:10:39 +0000 "Dr. David Alan Gilbert" <linux@treblig.org> wrote: > > > Use strtobool rather than open coding "on" and "off" parsing in > > mm/hugetlb_vmemmap.c and mm/page_table_check.c. > > > > Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> > > --- > > mm/hugetlb_vmemmap.c | 12 +----------- > > mm/page_table_check.c | 10 +--------- > > 2 files changed, 2 insertions(+), 20 deletions(-) > > > > diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c > > index c540c21e26f5b..919411386e547 100644 > > --- a/mm/hugetlb_vmemmap.c > > +++ b/mm/hugetlb_vmemmap.c > > @@ -192,17 +192,7 @@ static int __init early_hugetlb_free_vmemmap_param(char *buf) > > return 0; > > } > > > > - if (!buf) > > - return -EINVAL; > > - > > - if (!strcmp(buf, "on")) > > - hugetlb_free_vmemmap_enabled = true; > > - else if (!strcmp(buf, "off")) > > - hugetlb_free_vmemmap_enabled = false; > > - else > > - return -EINVAL; > > - > > - return 0; > > + return strtobool(buf, &hugetlb_free_vmemmap_enabled); > > } > > early_param("hugetlb_free_vmemmap", early_hugetlb_free_vmemmap_param); > > This part falls afoul of the changes in > https://lkml.kernel.org/r/20211101031651.75851-3-songmuchun@bytedance.com Hmm, yes that's quite different. > > diff --git a/mm/page_table_check.c b/mm/page_table_check.c > > index 3763bd077861a..2458281bff893 100644 > > --- a/mm/page_table_check.c > > +++ b/mm/page_table_check.c > > @@ -23,15 +23,7 @@ EXPORT_SYMBOL(page_table_check_disabled); > > > > static int __init early_page_table_check_param(char *buf) > > { > > - if (!buf) > > - return -EINVAL; > > - > > - if (strcmp(buf, "on") == 0) > > - __page_table_check_enabled = true; > > - else if (strcmp(buf, "off") == 0) > > - __page_table_check_enabled = false; > > - > > - return 0; > > + return strtobool(buf, &__page_table_check_enabled); > > } > > But this works OK. Thanks for taking it. Dave
diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c index c540c21e26f5b..919411386e547 100644 --- a/mm/hugetlb_vmemmap.c +++ b/mm/hugetlb_vmemmap.c @@ -192,17 +192,7 @@ static int __init early_hugetlb_free_vmemmap_param(char *buf) return 0; } - if (!buf) - return -EINVAL; - - if (!strcmp(buf, "on")) - hugetlb_free_vmemmap_enabled = true; - else if (!strcmp(buf, "off")) - hugetlb_free_vmemmap_enabled = false; - else - return -EINVAL; - - return 0; + return strtobool(buf, &hugetlb_free_vmemmap_enabled); } early_param("hugetlb_free_vmemmap", early_hugetlb_free_vmemmap_param); diff --git a/mm/page_table_check.c b/mm/page_table_check.c index 3763bd077861a..2458281bff893 100644 --- a/mm/page_table_check.c +++ b/mm/page_table_check.c @@ -23,15 +23,7 @@ EXPORT_SYMBOL(page_table_check_disabled); static int __init early_page_table_check_param(char *buf) { - if (!buf) - return -EINVAL; - - if (strcmp(buf, "on") == 0) - __page_table_check_enabled = true; - else if (strcmp(buf, "off") == 0) - __page_table_check_enabled = false; - - return 0; + return strtobool(buf, &__page_table_check_enabled); } early_param("page_table_check", early_page_table_check_param);
Use strtobool rather than open coding "on" and "off" parsing in mm/hugetlb_vmemmap.c and mm/page_table_check.c. Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> --- mm/hugetlb_vmemmap.c | 12 +----------- mm/page_table_check.c | 10 +--------- 2 files changed, 2 insertions(+), 20 deletions(-)