ACK: [M][PATCH 1/1] UBUNTU: SAUCE: Revert "modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules"
Roxana Nicolescu
roxana.nicolescu at canonical.com
Wed Sep 20 07:44:25 UTC 2023
On 14/09/2023 16:59, Andrea Righi wrote:
> Turning symbol_get() to EXPORT_SYMBOL_GPL() would create an ABI breakage
> in the 6.5 kernels that we have already released, introducing potential
> regressions with external out-of-tree kernel modules.
>
> In line with our kernel policy, which aims to avoid any potential ABI
> disruptions, temporarily revert this commit for the v6.5 series.
>
> This change will be restored starting with the v6.6 kernels, re-aligning
> with upstream.
>
> Ignore: yes
> Signed-off-by: Andrea Righi <andrea.righi at canonical.com>
> ---
> kernel/module/main.c | 14 +++-----------
> 1 file changed, 3 insertions(+), 11 deletions(-)
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 98fedfdb8db5..ff7cc4e29299 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -1295,20 +1295,12 @@ void *__symbol_get(const char *symbol)
> };
>
> preempt_disable();
> - if (!find_symbol(&fsa))
> - goto fail;
> - if (fsa.license != GPL_ONLY) {
> - pr_warn("failing symbol_get of non-GPLONLY symbol %s.\n",
> - symbol);
> - goto fail;
> + if (!find_symbol(&fsa) || strong_try_module_get(fsa.owner)) {
> + preempt_enable();
> + return NULL;
> }
> - if (strong_try_module_get(fsa.owner))
> - goto fail;
> preempt_enable();
> return (void *)kernel_symbol_value(fsa.sym);
> -fail:
> - preempt_enable();
> - return NULL;
> }
> EXPORT_SYMBOL_GPL(__symbol_get);
>
Acked-by: Roxana Nicolescu <roxana.nicolescu at canonical.com>
More information about the kernel-team
mailing list