aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2018-11-08 09:32:24 -0800
committerTony Lindgren <tony@atomide.com>2018-11-08 09:32:24 -0800
commit91e43395820baad80248987608216c35da9df65b (patch)
tree29d41d1a036eb1abd6a60f16ad37aa578acd8159 /kernel/module.c
parentARM: OMAP2+: prm44xx: Fix section annotation on omap44xx_prm_enable_io_wakeup (diff)
parentARM: OMAP1: ams-delta: Fix possible use of uninitialized field (diff)
downloadlinux-rng-91e43395820baad80248987608216c35da9df65b.tar.xz
linux-rng-91e43395820baad80248987608216c35da9df65b.zip
Merge branch 'fixes-dts' into omap-for-v4.20/fixes
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 6746c85511fe..49a405891587 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -3317,6 +3317,15 @@ static struct module *layout_and_allocate(struct load_info *info, int flags)
ndx = find_sec(info, ".data..ro_after_init");
if (ndx)
info->sechdrs[ndx].sh_flags |= SHF_RO_AFTER_INIT;
+ /*
+ * Mark the __jump_table section as ro_after_init as well: these data
+ * structures are never modified, with the exception of entries that
+ * refer to code in the __init section, which are annotated as such
+ * at module load time.
+ */
+ ndx = find_sec(info, "__jump_table");
+ if (ndx)
+ info->sechdrs[ndx].sh_flags |= SHF_RO_AFTER_INIT;
/* Determine total sizes, and put offsets in sh_entsize. For now
this is done generically; there doesn't appear to be any