modpost: abort if a module symbol is too long
authorTakashi Iwai <tiwai@suse.de>
Sat, 8 Aug 2015 05:46:20 +0000 (15:16 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Sat, 8 Aug 2015 10:22:08 +0000 (19:52 +0930)
commit5cfb203a304deaaa8c7c5368722b214d24583137
tree922f699aaabbb7dd1154af56005357b1d14a0f8e
parentdd2384a75d1c046faf068a6352732a204814b86d
modpost: abort if a module symbol is too long

Module symbols have a limited length, but currently the build system
allows the build finishing even if the driver code contains a too long
symbol name, which eventually overflows the modversion_info[] item.
The compiler may catch at compiling *.mod.c like
  CC      xxx.mod.o
  xxx.mod.c:18:16: warning: initializer-string for array of chars is too long
but it's merely a warning.

This patch adds the check of the symbol length in modpost and stops
the build properly.

Currently MODULE_NAME_LEN is defined in modpost.c instead of referring
to the definition in kernel header because including linux/module.h is
messy and we must cover cross-compilation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
scripts/mod/modpost.c