summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Casasnovas <quentin.casasnovas@oracle.com>2015-04-16 13:16:41 +0930
committerRusty Russell <rusty@rustcorp.com.au>2015-04-22 17:31:33 +0930
commitc5c3439af0f9c08e253d2a703a7eb3deba7d8591 (patch)
treebfeb5c3f00886e13dd829a6f490f4b30947bfd7c
parente84048aa173f2403fa468cb189f101b57fece539 (diff)
downloadlinux-exynos-c5c3439af0f9c08e253d2a703a7eb3deba7d8591.tar.gz
linux-exynos-c5c3439af0f9c08e253d2a703a7eb3deba7d8591.tar.bz2
linux-exynos-c5c3439af0f9c08e253d2a703a7eb3deba7d8591.zip
modpost: do not try to match the SHT_NUL section.
Trying to match the SHT_NUL section isn't useful and causes build failures on parisc and mn10300 since the addition of section strict white-listing and __ex_table sanitizing. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com> Reported-by: Guenter Roeck <linux@roeck-us.net> Fixes: 050e57fd5936 ("modpost: add strict white-listing when referencing....") Fixes: 52dc0595d540 ("modpost: handle relocations mismatch in __ex_table.") Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--scripts/mod/modpost.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index fd949770da0c..45e4027d3193 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1064,6 +1064,15 @@ static const struct sectioncheck *section_mismatch(
int elems = sizeof(sectioncheck) / sizeof(struct sectioncheck);
const struct sectioncheck *check = &sectioncheck[0];
+ /*
+ * The target section could be the SHT_NUL section when we're
+ * handling relocations to un-resolved symbols, trying to match it
+ * doesn't make much sense and causes build failures on parisc and
+ * mn10300 architectures.
+ */
+ if (*tosec == '\0')
+ return NULL;
+
for (i = 0; i < elems; i++) {
if (match(fromsec, check->fromsec)) {
if (check->bad_tosec[0] && match(tosec, check->bad_tosec))