Josh Poimboeuf
c0dd671686
objtool: Mark non-standard object files and directories
...
Code which runs outside the kernel's normal mode of operation often does
unusual things which can cause a static analysis tool like objtool to
emit false positive warnings:
- boot image
- vdso image
- relocation
- realmode
- efi
- head
- purgatory
- modpost
Set OBJECT_FILES_NON_STANDARD for their related files and directories,
which will tell objtool to skip checking them. It's ok to skip them
because they don't affect runtime stack traces.
Also skip the following code which does the right thing with respect to
frame pointers, but is too "special" to be validated by a tool:
- entry
- mcount
Also skip the test_nx module because it modifies its exception handling
table at runtime, which objtool can't understand. Fortunately it's
just a test module so it doesn't matter much.
Currently objtool is the only user of OBJECT_FILES_NON_STANDARD, but it
might eventually be useful for other tools.
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Bernd Petrovitsch <bernd@petrovitsch.priv.at>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Chris J Arges <chris.j.arges@canonical.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Pedro Alves <palves@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: live-patching@vger.kernel.org
Link: http://lkml.kernel.org/r/366c080e3844e8a5b6a0327dc7e8c2b90ca3baeb.1456719558.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-29 08:35:02 +01:00
..
basic
fixdep: constify strrcmp arguments
2015-12-07 12:42:55 +01:00
coccinelle
coccinelle: tests: unsigned value cannot be lesser than zero
2016-01-12 17:47:47 +01:00
dtc
scripts/dtc: Update to upstream version 9d3649bd3be245c9
2015-04-29 17:17:27 -05:00
gdb
scripts/gdb: remove useless global instruction
2015-06-30 19:44:58 -07:00
genksyms
genksyms: Handle string literals with spaces in reference files
2015-12-09 15:19:23 +01:00
kconfig
kconfig: fix qconf segfault by deleting heap objects
2016-01-11 09:45:08 +01:00
ksymoops
mod
objtool: Mark non-standard object files and directories
2016-02-29 08:35:02 +01:00
package
package Makefile: fix perf-tar targets when outdir is set
2015-11-24 17:49:42 +01:00
selinux
selinux: explicitly declare the role "base_r"
2015-07-13 13:32:00 -04:00
tracing
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
.gitignore
DocBook: Use a fixed encoding for output
2015-09-28 01:31:48 -06:00
analyze_suspend.py
asn1_compiler.c
ASN.1: Copy string names to tokens in ASN.1 compiler
2015-08-07 16:26:13 +01:00
bloat-o-meter
scripts/bloat-o-meter: fix python3 syntax error
2016-01-14 16:00:49 -08:00
bootgraph.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
check-lc_ctype.c
DocBook: Use a fixed encoding for output
2015-09-28 01:31:48 -06:00
check_extable.sh
scripts: add check_extable.sh script.
2015-04-13 21:03:02 +09:30
checkincludes.pl
checkkconfigsymbols.py
checkkconfigsymbols.py: find similar symbols
2015-12-14 10:54:23 -08:00
checkpatch.pl
checkpatch: fix a number of COMPLEX_MACRO false positives
2016-01-20 17:09:18 -08:00
checkstack.pl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2014-10-07 21:16:26 -04:00
checksyscalls.sh
x86/asm/entry: Move the arch/x86/syscalls/ definitions to arch/x86/entry/syscalls/
2015-06-04 07:37:37 +02:00
checkversion.pl
cleanfile
cleanpatch
coccicheck
Coccinelle: fix incorrect -include option transformation
2015-10-26 21:32:09 +01:00
config
conmakehash.c
decode_stacktrace.sh
scripts: decode_stacktrace: fix ARM architecture decoding
2015-09-04 16:54:41 -07:00
decodecode
depmod.sh
diffconfig
vfs,ext2: remove CONFIG_EXT2_FS_XIP and rename CONFIG_FS_XIP to CONFIG_FS_DAX
2015-02-16 17:56:04 -08:00
docproc.c
export_report.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
extract-cert.c
KEYS: Remove unnecessary header #inclusions from extract-cert.c
2015-09-25 16:31:45 +01:00
extract-ikconfig
scripts/extract-ikconfig: Support LZ4-compressed images.
2015-04-15 14:01:12 +02:00
extract-module-sig.pl
KEYS: Provide a script to extract a module signature
2015-10-21 15:18:36 +01:00
extract-sys-certs.pl
KEYS: Provide a script to extract the sys cert list from a vmlinux file
2015-10-21 15:18:36 +01:00
extract-vmlinux
gcc-goto.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-ld
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-version.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-x86_32-has-stack-protector.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-x86_64-has-stack-protector.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gen_initramfs_list.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
get_maintainer.pl
scripts/get_maintainer.pl: handle file names beginning with ./
2016-01-20 17:09:18 -08:00
gfp-translate
headerdep.pl
headers.sh
CRIS: Fix headers_install
2014-12-20 00:01:12 +01:00
headers_check.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
headers_install.sh
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-10-14 09:22:26 +02:00
kallsyms.c
Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols
2015-04-07 13:04:51 +02:00
Kbuild.include
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2015-09-08 14:12:19 -07:00
kernel-doc
A relatively boring cycle in the docs tree. There's a few kernel-doc
2016-01-17 11:55:07 -08:00
kernel-doc-xml-ref
scripts/kernel-doc: Adding cross-reference links to html documentation.
2015-08-16 22:11:16 -06:00
ld-version.sh
ld-version: Fix it on Fedora
2016-01-08 16:34:27 +01:00
Lindent
scripts/Lindent: handle missing indent gracefully
2015-09-04 16:54:41 -07:00
link-vmlinux.sh
um: link with -lpthread
2016-01-10 21:49:48 +01:00
Makefile
DocBook: Use a fixed encoding for output
2015-09-28 01:31:48 -06:00
Makefile.asm-generic
Makefile.build
kbuild: Allow to specify composite modules with modname-m
2015-11-25 11:23:25 +01:00
Makefile.clean
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2015-02-19 10:07:08 -08:00
Makefile.dtbinst
kbuild: include $(src)/Makefile rather than $(obj)/Makefile
2015-04-02 16:42:08 +02:00
Makefile.extrawarn
kbuild: Demote 'sign-compare' warning to W=2
2016-01-12 16:07:03 +01:00
Makefile.fwinst
kbuild: include $(src)/Makefile rather than $(obj)/Makefile
2015-04-02 16:42:08 +02:00
Makefile.headersinst
kbuild: collect shorthands into scripts/Kbuild.include
2014-11-26 14:36:52 +01:00
Makefile.help
Makefile.host
Makefile.kasan
arm64: add KASAN support
2015-10-12 17:46:36 +01:00
Makefile.lib
UBSAN: run-time undefined behavior sanity checker
2016-01-20 17:09:18 -08:00
Makefile.modbuiltin
Makefile.modinst
modsign: Abort modules_install when signing fails
2015-08-07 16:26:13 +01:00
Makefile.modpost
modpost: Add flag -E for making section mismatches fatal
2015-10-06 10:46:21 +10:30
Makefile.modsign
modsign: lookup lines ending in .ko in .mod files
2014-08-27 21:54:11 +09:30
Makefile.ubsan
UBSAN: run-time undefined behavior sanity checker
2016-01-20 17:09:18 -08:00
makelst
markup_oops.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mkcompile_h
mkmakefile
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mksysmap
mksysmap: Add h8300 local symbol pattern
2015-06-23 13:35:47 +09:00
mkuboot.sh
mkversion
module-common.lds
kernel: add support for .init_array.* constructors
2015-02-13 21:21:42 -08:00
namespace.pl
objdiff
patch-kernel
pnmtologo.c
profile2linkerlist.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
prune-kernel
scripts: add "prune-kernel" script to clean up old kernel images
2016-02-09 10:09:52 -08:00
recordmcount.c
ftrace/scripts: Fix incorrect use of sprintf in recordmcount
2016-01-04 11:13:16 -05:00
recordmcount.h
recordmcount: Fix endianness handling bug for nop_mcount
2015-11-03 10:45:26 -05:00
recordmcount.pl
scripts/recordmcount.pl: support data in text section on powerpc
2016-01-13 12:35:41 +11:00
setlocalversion
show_delta
sign-file.c
MODSIGN: Change from CMS to PKCS#7 signing if the openssl is too old
2015-09-25 16:31:46 +01:00
sortextable.c
x86/mm: Expand the exception table logic to allow new handling options
2016-02-18 09:21:46 +01:00
sortextable.h
scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized
2014-10-14 02:18:23 +02:00
spelling.txt
scripts/spelling.txt: add some typo-words
2015-09-04 16:54:41 -07:00
stackdelta
scripts: add stackdelta script
2015-08-28 17:04:40 +02:00
stackusage
scripts: add stackusage script
2015-08-28 17:04:40 +02:00
tags.sh
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-01-20 10:10:23 -08:00
unifdef.c
ver_linux
ver_linux: proc/modules, limit text processing to 'sed'
2015-10-17 21:55:26 -07:00
xen-hypercalls.sh
xen: build infrastructure for generating hypercall depending symbols
2015-03-16 14:49:13 +00:00
xz_wrap.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00