Re-enable CONFIG_MODVERSIONS in a slightly weaker form
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Nov 2016 23:20:14 +0000 (15:20 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Nov 2016 00:01:30 +0000 (16:01 -0800)
commitfaaae2a581435f32781a105dda3501df388fddcb
tree799e6ea690a9b6cf8401b51a7ab00fb62bbc0eec
parent22d3d4fbbd5892af78285bc263fbc3d3e111d5b8
Re-enable CONFIG_MODVERSIONS in a slightly weaker form

This enables CONFIG_MODVERSIONS again, but allows for missing symbol CRC
information in order to work around the issue that newer binutils
versions seem to occasionally drop the CRC on the floor.  binutils 2.26
seems to work fine, while binutils 2.27 seems to break MODVERSIONS of
symbols that have been defined in assembler files.

[ We've had random missing CRC's before - it may be an old problem that
  just is now reliably triggered with the weak asm symbols and a new
  version of binutils ]

Some day I really do want to remove MODVERSIONS entirely.  Sadly, today
does not appear to be that day: Debian people apparently do want the
option to enable MODVERSIONS to make it easier to have external modules
across kernel versions, and this seems to be a fairly minimal fix for
the annoying problem.

Cc: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/Kconfig
kernel/module.c