summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-01-30 21:14:23 +0100
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-01-30 21:14:23 +0100
commit0db252452378aa7a9e001a13226e1cd1dc61453d (patch)
treedcfdd4101e7b24f614b43f79a3b549485a7ab033
parentaf92a82d0fec4dfd344b2ffd7a63e30f05c53938 (diff)
downloadlinux-3.10-0db252452378aa7a9e001a13226e1cd1dc61453d.tar.gz
linux-3.10-0db252452378aa7a9e001a13226e1cd1dc61453d.tar.bz2
linux-3.10-0db252452378aa7a9e001a13226e1cd1dc61453d.zip
modpost: don't allow *driver to reference .init.*
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-rw-r--r--scripts/mod/modpost.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 5dbe4db2bd4..3318692e4e7 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -862,11 +862,20 @@ const struct sectioncheck sectioncheck[] = {
},
{
.fromsec = { DATA_SECTIONS, NULL },
- .tosec = { ALL_INIT_SECTIONS, NULL },
+ .tosec = { ALL_XXXINIT_SECTIONS, NULL },
.mismatch = DATA_TO_ANY_INIT,
.symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL },
},
{
+ .fromsec = { DATA_SECTIONS, NULL },
+ .tosec = { INIT_SECTIONS, NULL },
+ .mismatch = DATA_TO_ANY_INIT,
+ .symbol_white_list = {
+ "*_template", "*_timer", "*_sht", "*_ops",
+ "*_probe", "*_probe_one", "*_console", NULL
+ },
+},
+{
.fromsec = { TEXT_SECTIONS, NULL },
.tosec = { ALL_EXIT_SECTIONS, NULL },
.mismatch = TEXT_TO_ANY_EXIT,