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 - 2026 Red Hat, Inc.