It's non-init caller was dropped in Xen 4.14
No functional change.
Fixes: 02e9a9cf2095 ("xen: remove XEN_SYSCTL_set_parameter support")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
Found while reviewing the lockdown series, where an __init callee was added.
It appears that GCC has inlined it into it's single caller (which is __init),
and not emitted a non-__init form.
---
 xen/common/kernel.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 8b63ca55f14f..5be668ba855a 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -67,8 +67,9 @@ static int assign_integer_param(const struct kernel_param *param, uint64_t val)
     return 0;
 }
 
-static int parse_params(const char *cmdline, const struct kernel_param *start,
-                        const struct kernel_param *end)
+static int __init parse_params(
+    const char *cmdline, const struct kernel_param *start,
+    const struct kernel_param *end)
 {
     char opt[MAX_PARAM_SIZE], *optval, *optkey, *q;
     const char *p = cmdline, *key;
base-commit: 2c4a3d688943b2034756859844b8337a5a97ce07
-- 
2.39.5
Hi Andrew,
On 03/06/2025 13:52, Andrew Cooper wrote:
> It's non-init caller was dropped in Xen 4.14
> 
> No functional change.
> 
> Fixes: 02e9a9cf2095 ("xen: remove XEN_SYSCTL_set_parameter support")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Cheers,
> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Julien Grall <julien@xen.org>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> 
> Found while reviewing the lockdown series, where an __init callee was added.
> 
> It appears that GCC has inlined it into it's single caller (which is __init),
> and not emitted a non-__init form.
> ---
>   xen/common/kernel.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index 8b63ca55f14f..5be668ba855a 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -67,8 +67,9 @@ static int assign_integer_param(const struct kernel_param *param, uint64_t val)
>       return 0;
>   }
>   
> -static int parse_params(const char *cmdline, const struct kernel_param *start,
> -                        const struct kernel_param *end)
> +static int __init parse_params(
> +    const char *cmdline, const struct kernel_param *start,
> +    const struct kernel_param *end)
>   {
>       char opt[MAX_PARAM_SIZE], *optval, *optkey, *q;
>       const char *p = cmdline, *key;
> 
> base-commit: 2c4a3d688943b2034756859844b8337a5a97ce07
-- 
Julien Grall
                
            © 2016 - 2025 Red Hat, Inc.