From: Wu Zhangjin <[email protected]>
The commit(1b364bf438cf337a3818aee77d68c0713f3e1fc4, "module: workaround
duplicate section names") introduced a condition to avoid null pointer
reference:
- add_notes_attrs(mod, hdr->e_shnum, secstrings, sechdrs);
+ if (mod->sect_attrs)
+ add_notes_attrs(mod, hdr->e_shnum, secstrings, sechdrs);
but sect_attrs is only defined when CONFIG_KALLSYMS enabled, so this
patch is need to fix the following error:
error: 'struct module' has no member named 'sect_attrs'
Signed-off-by: Wu Zhangjin <[email protected]>
---
kernel/module.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/kernel/module.c b/kernel/module.c
index eccb561..b4016d1 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2355,8 +2355,10 @@ static noinline struct module *load_module(void __user *umod,
if (err < 0)
goto unlink;
add_sect_attrs(mod, hdr->e_shnum, secstrings, sechdrs);
+#ifdef CONFIG_KALLSYMS
if (mod->sect_attrs)
add_notes_attrs(mod, hdr->e_shnum, secstrings, sechdrs);
+#endif
/* Get rid of temporary copy */
vfree(hdr);
--
1.6.2.1
* Wu Zhangjin <[email protected]> wrote:
> From: Wu Zhangjin <[email protected]>
>
> The commit(1b364bf438cf337a3818aee77d68c0713f3e1fc4, "module: workaround
> duplicate section names") introduced a condition to avoid null pointer
> reference:
>
> - add_notes_attrs(mod, hdr->e_shnum, secstrings, sechdrs);
> + if (mod->sect_attrs)
> + add_notes_attrs(mod, hdr->e_shnum, secstrings, sechdrs);
>
> but sect_attrs is only defined when CONFIG_KALLSYMS enabled, so this
> patch is need to fix the following error:
>
> error: 'struct module' has no member named 'sect_attrs'
>
> Signed-off-by: Wu Zhangjin <[email protected]>
This has been fixed already, see this upstream fix:
ea6bff3: modules: Fix build error in the !CONFIG_KALLSYMS case
Ingo