arch/x86/entry/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
ia32_emulation_override_cmdline() is an early_param() arg and these
are only needed at boot time. In fact, all other early_param() functions
in arch/x86 seem to have '__init' annotation and
ia32_emulation_override_cmdline() is the only exception.
Fixes: a11e097504ac ("x86: Make IA32_EMULATION boot time configurable")
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
arch/x86/entry/common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
index 94941c5a10ac..51efd2da4d7f 100644
--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
@@ -142,7 +142,7 @@ static __always_inline int syscall_32_enter(struct pt_regs *regs)
#ifdef CONFIG_IA32_EMULATION
bool __ia32_enabled __ro_after_init = !IS_ENABLED(CONFIG_IA32_EMULATION_DEFAULT_DISABLED);
-static int ia32_emulation_override_cmdline(char *arg)
+static int __init ia32_emulation_override_cmdline(char *arg)
{
return kstrtobool(arg, &__ia32_enabled);
}
--
2.47.0
Vitaly Kuznetsov <vkuznets@redhat.com> writes:
> ia32_emulation_override_cmdline() is an early_param() arg and these
> are only needed at boot time. In fact, all other early_param() functions
> in arch/x86 seem to have '__init' annotation and
> ia32_emulation_override_cmdline() is the only exception.
>
> Fixes: a11e097504ac ("x86: Make IA32_EMULATION boot time configurable")
> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
> ---
> arch/x86/entry/common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
> index 94941c5a10ac..51efd2da4d7f 100644
> --- a/arch/x86/entry/common.c
> +++ b/arch/x86/entry/common.c
> @@ -142,7 +142,7 @@ static __always_inline int syscall_32_enter(struct pt_regs *regs)
> #ifdef CONFIG_IA32_EMULATION
> bool __ia32_enabled __ro_after_init = !IS_ENABLED(CONFIG_IA32_EMULATION_DEFAULT_DISABLED);
>
> -static int ia32_emulation_override_cmdline(char *arg)
> +static int __init ia32_emulation_override_cmdline(char *arg)
> {
> return kstrtobool(arg, &__ia32_enabled);
> }
Post-holidays ping)
--
Vitaly
On 1/8/25 08:05, Vitaly Kuznetsov wrote:
>> -static int ia32_emulation_override_cmdline(char *arg)
>> +static int __init ia32_emulation_override_cmdline(char *arg)
>> {
>> return kstrtobool(arg, &__ia32_enabled);
>> }
> Post-holidays ping)
I'll put this in the queue to look at after the next merge window since
it looks like pure housekeeping.
Is there any reason to do it with any more urgency?
Dave Hansen <dave.hansen@intel.com> writes:
> On 1/8/25 08:05, Vitaly Kuznetsov wrote:
>>> -static int ia32_emulation_override_cmdline(char *arg)
>>> +static int __init ia32_emulation_override_cmdline(char *arg)
>>> {
>>> return kstrtobool(arg, &__ia32_enabled);
>>> }
>> Post-holidays ping)
>
> I'll put this in the queue to look at after the next merge window since
> it looks like pure housekeeping.
>
> Is there any reason to do it with any more urgency?
No reason, just checking that it doesn't fall through the cracks. Thanks!
--
Vitaly
On 10.12.24 г. 17:16 ч., Vitaly Kuznetsov wrote:
> ia32_emulation_override_cmdline() is an early_param() arg and these
> are only needed at boot time. In fact, all other early_param() functions
> in arch/x86 seem to have '__init' annotation and
> ia32_emulation_override_cmdline() is the only exception.
>
> Fixes: a11e097504ac ("x86: Make IA32_EMULATION boot time configurable")
> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
nit: Does it really warrant a Fix tag, it's not a bug per-se, just frees
up some memory?
Nikolay Borisov <nik.borisov@suse.com> writes:
> On 10.12.24 г. 17:16 ч., Vitaly Kuznetsov wrote:
>> ia32_emulation_override_cmdline() is an early_param() arg and these
>> are only needed at boot time. In fact, all other early_param() functions
>> in arch/x86 seem to have '__init' annotation and
>> ia32_emulation_override_cmdline() is the only exception.
>>
>> Fixes: a11e097504ac ("x86: Make IA32_EMULATION boot time configurable")
>> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
>
> Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
>
Thanks!
> nit: Does it really warrant a Fix tag, it's not a bug per-se, just frees
> up some memory?
I don't think we have any issues with early_param() functions without
__init currently, by 'Fixes:' I meant "this fixes commit ... which was
sub-optimal" and to help backporters. I'm absolutely fine with dropping
it if that's the consensus.
--
Vitaly
© 2016 - 2025 Red Hat, Inc.