The patch titled Subject: mm/page_alloc.c: fix early params garbage value accesses has been added to the -mm tree. Its filename is mm-page_allocc-fix-early-params-garbage-value-accesses.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-page_allocc-fix-early-params-garbage-value-accesses.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-page_allocc-fix-early-params-garbage-value-accesses.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Mateusz Nosek <mateusznosek0@xxxxxxxxx> Subject: mm/page_alloc.c: fix early params garbage value accesses Previously in '__init early_init_on_alloc' and '__init early_init_on_free' the return values from 'kstrtobool' were not handled properly. That caused potential garbage value read from variable 'bool_result'. Introduced patch fixes error handling. Link: https://lkml.kernel.org/r/20200916214125.28271-1-mateusznosek0@xxxxxxxxx Signed-off-by: Mateusz Nosek <mateusznosek0@xxxxxxxxx> Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/mm/page_alloc.c~mm-page_allocc-fix-early-params-garbage-value-accesses +++ a/mm/page_alloc.c @@ -155,16 +155,16 @@ static int __init early_init_on_alloc(ch int ret; bool bool_result; - if (!buf) - return -EINVAL; ret = kstrtobool(buf, &bool_result); + if (ret) + return ret; if (bool_result && page_poisoning_enabled()) pr_info("mem auto-init: CONFIG_PAGE_POISONING is on, will take precedence over init_on_alloc\n"); if (bool_result) static_branch_enable(&init_on_alloc); else static_branch_disable(&init_on_alloc); - return ret; + return 0; } early_param("init_on_alloc", early_init_on_alloc); @@ -173,16 +173,16 @@ static int __init early_init_on_free(cha int ret; bool bool_result; - if (!buf) - return -EINVAL; ret = kstrtobool(buf, &bool_result); + if (ret) + return ret; if (bool_result && page_poisoning_enabled()) pr_info("mem auto-init: CONFIG_PAGE_POISONING is on, will take precedence over init_on_free\n"); if (bool_result) static_branch_enable(&init_on_free); else static_branch_disable(&init_on_free); - return ret; + return 0; } early_param("init_on_free", early_init_on_free); _ Patches currently in -mm which might be from mateusznosek0@xxxxxxxxx are mm-slabc-clean-code-by-removing-redundant-if-condition.patch mm-page_allocc-clean-code-by-removing-unnecessary-initialization.patch mm-page_allocc-micro-optimization-remove-unnecessary-branch.patch mm-page_allocc-fix-early-params-garbage-value-accesses.patch mm-compactionc-micro-optimization-remove-unnecessary-branch.patch