Re: [PATCH] module: add stub for within_module

From: Nick Desaulniers
Date: Mon Apr 08 2019 - 14:08:30 EST


On Sat, Apr 6, 2019 at 7:26 PM Tri Vo <trong@xxxxxxxxxxx> wrote:
>
> Provide a stub for within_module() when CONFIG_MODULES is not set. This
> is needed to build CONFIG_GCOV_KERNEL.
>
> Fixes: 8c3d220cb6b5 ("gcov: clang support")

The above commit got backed out of the -mm tree, due to the issue this
patch addresses, so not sure it provides the correct context for the
patch. Maybe that line in the commit message should be dropped?

> Suggested-by: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Link: https://marc.info/?l=linux-mm&m=155384681109231&w=2
> Signed-off-by: Tri Vo <trong@xxxxxxxxxxx>
> ---
> include/linux/module.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 5bf5dcd91009..47190ebb70bf 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -709,6 +709,11 @@ static inline bool is_module_text_address(unsigned long addr)
> return false;
> }
>
> +static inline bool within_module(unsigned long addr, const struct module *mod)
> +{
> + return false;
> +}
> +

Do folks think that similar stubs for within_module_core and
within_module_init should be added, while we're here?

It looks like kernel/trace/ftrace.c uses them, but has proper
CONFIG_MODULE guards.

> /* Get/put a kernel symbol (calls should be symmetric) */
> #define symbol_get(x) ({ extern typeof(x) x __attribute__((weak)); &(x); })
> #define symbol_put(x) do { } while (0)
> --
> 2.21.0.392.gf8f6787159e-goog
>


--
Thanks,
~Nick Desaulniers