diff options
author | Andy Lutomirski <[email protected]> | 2016-07-18 14:46:35 -0700 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2016-07-19 08:50:24 +0200 |
commit | 57f90c3dfc75da89358735c06bf9bc9815b4183e (patch) | |
tree | bdcfcbc1e2d76bc8e791f60608e5f9aed6185fc8 /scripts/gdb/linux/modules.py | |
parent | be8a18e2e98e04a5def5887d913b267865562448 (diff) |
x86/vdso: Error out if the vDSO isn't a valid DSO
Some distros has been playing with toolchain changes that can affect
the type of ELF objects built. Occasionally, this goes wrong and
the vDSO ends up not being a DSO at all. This causes the kernel to
end up broken in a surprisingly subtle way -- glibc apparently
silently ignores a vDSO that isn't a DSO, so everything works,
albeit slowly, until users try a different libc implementation.
Make the kernel build process a bit more robust: fail outright if
the vDSO isn't ET_DYN or is missing its PT_DYNAMIC segment. I've
never seen this in an unmodified kernel.
See: https://github.com/docker/docker/issues/23378
Signed-off-by: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Brian Gerst <[email protected]>
Cc: Denys Vlasenko <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Josh Poimboeuf <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/8a30e0a07c3b47ff917a8daa2df5e407cc0c6698.1468878336.git.luto@kernel.org
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/modules.py')
0 files changed, 0 insertions, 0 deletions