Re: [PATCH 28/31] kasan: add kasan.vmalloc command line flag

From: Marco Elver
Date: Fri Dec 03 2021 - 07:09:25 EST


On Tue, Nov 30, 2021 at 11:08PM +0100, andrey.konovalov@xxxxxxxxx wrote:
[...]
> enum kasan_arg_stacktrace {
> KASAN_ARG_STACKTRACE_DEFAULT,
> KASAN_ARG_STACKTRACE_OFF,
> @@ -40,6 +46,7 @@ enum kasan_arg_stacktrace {
>
> static enum kasan_arg kasan_arg __ro_after_init;
> static enum kasan_arg_mode kasan_arg_mode __ro_after_init;
> +static enum kasan_arg_vmalloc kasan_arg_vmalloc __ro_after_init;
> static enum kasan_arg_stacktrace kasan_arg_stacktrace __ro_after_init;

It just occurred to me that all of these (except kasan_arg_mode) are
only used by __init functions, so they could actually be marked
__initdata instead of __ro_after_init to free up some bytes after init.

Not sure if you think it's worth it, I leave it to you.

[...]
> + switch (kasan_arg_vmalloc) {
> + case KASAN_ARG_VMALLOC_DEFAULT:
> + /* Default to enabling vmalloc tagging. */
> + static_branch_enable(&kasan_flag_vmalloc);
> + break;
> + case KASAN_ARG_VMALLOC_OFF:
> + /* Do nothing, kasan_flag_vmalloc keeps its default value. */
> + break;
> + case KASAN_ARG_VMALLOC_ON:
> + static_branch_enable(&kasan_flag_vmalloc);
> + break;
> + }

The KASAN_ARG_STACKTRACE_DEFAULT and KASAN_ARG_VMALLOC_ON cases can be
combined.