kernel-fxtec-pro1x/scripts/mod
Quentin Casasnovas 52dc0595d5 modpost: handle relocations mismatch in __ex_table.
__ex_table is a simple table section where each entry is a pair of
addresses - the first address is an address which can fault in kernel
space, and the second address points to where the kernel should jump to
when handling that fault.  This is how copy_from_user() does not crash the
kernel if userspace gives a borked pointer for example.

If one of these addresses point to a non-executable section, something is
seriously wrong since it either means the kernel will never fault from
there or it will not be able to jump to there.  As both cases are serious
enough, we simply error out in these cases so the build fails and the
developper has to fix the issue.

In case the section is executable, but it isn't referenced in our list of
authorized sections to point to from __ex_table, we just dump a warning
giving more information about it.  We do this in case the new section is
executable but isn't supposed to be executed by the kernel.  This happened
with .altinstr_replacement, which is executable but is only used to copy
instructions from - we should never have our instruction pointer pointing
in .altinstr_replacement.  Admitedly, a proper fix in that case would be to
just set .altinstr_replacement NX, but we need to warn about future cases
like this.

Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (added long casts)
2015-04-13 21:03:03 +09:30
..
.gitignore kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
devicetable-offsets.c cpu: add generic support for CPU feature based module autoloading 2014-02-18 12:38:37 -08:00
empty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file2alias.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
Makefile improve modalias building 2013-06-28 00:48:16 +02:00
mk_elfconfig.c kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
modpost.c modpost: handle relocations mismatch in __ex_table. 2015-04-13 21:03:03 +09:30
modpost.h Kbuild, lto: Drop .number postfixes in modpost 2014-02-13 20:24:58 -08:00
sumversion.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00