Mike Frysinger
3a5dd791ab
modpost: fix segfault in sym_is() with prefixed arches
...
The sym_is() compares a symbol in an attempt to automatically skip symbol
prefixes. It does this first by searching the real symbol with the normal
unprefixed symbol. But then it uses the length of the original symbol to
check the end of the substring instead of the length of the symbol it is
looking for. On non-prefixed arches, this is effectively the same thing,
so there is no problem. On prefixed-arches, since this is exceeds by just
one byte, a crash is rare and it is usually a NUL byte anyways. But every
once in a blue moon, you get the right page alignment and it segfaults.
For example, on the Blackfin arch, sym_is() will be called with the real
symbol "___mod_usb_device_table" as "symbol" when looking for the normal
symbol "__mod_usb_device_table" as "name". The substring will thus return
one byte into "symbol" and store it into "match". But then "match" will
be indexed with the length of "symbol" instead of "name" and so we will
exceed the storage. i.e. the code ends up doing:
char foo[] = "abc"; return foo[strlen(foo)+1] == '\0';
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-01-17 11:00:53 -08:00
..
basic
kbuild: move autoconf.h to include/generated
2009-12-12 13:08:15 +01:00
dtc
dtc: Mark various internal functions static
2009-11-15 15:01:41 -08:00
genksyms
genksyms: properly consider EXPORT_UNUSED_SYMBOL{,_GPL}()
2009-12-12 13:08:16 +01:00
kconfig
kbuild: generate modules.builtin
2009-12-12 13:08:16 +01:00
ksymoops
mod
modpost: fix segfault in sym_is() with prefixed arches
2010-01-17 11:00:53 -08:00
package
scripts/package: deb-pkg: use fakeroot if available
2009-12-12 13:08:16 +01:00
rt-tester
selinux
SELinux: header generation may hit infinite loop
2009-11-23 09:00:44 +11:00
tracing
tracing, perf: Convert the power tracer into an event tracer
2009-09-19 11:42:12 +02:00
.gitignore
gitignore: ignore scripts/ihex2fw
2009-06-27 00:17:48 +02:00
bin2c.c
binoffset.c
bloat-o-meter
bootgraph.pl
checkincludes.pl
checkincludes.pl: add option to remove duplicates in place
2009-09-20 12:27:43 +02:00
checkkconfigsymbols.sh
kbuild,scripts: use non-builtin echo for '-e'
2009-10-11 23:21:25 +02:00
checkpatch.pl
remove my email address from checkpatch.
2010-01-12 20:56:52 -08:00
checkstack.pl
checksyscalls.sh
asm-generic: add a generic unistd.h
2009-06-11 21:02:16 +02:00
checkversion.pl
cleanfile
cleanpatch
config
kbuild: add generic --set-str option to scripts/config
2009-06-14 22:48:08 +02:00
conmakehash.c
Fix all -Wmissing-prototypes warnings in x86 defconfig
2009-09-23 07:39:28 -07:00
decodecode
diffconfig
export_report.pl
extract-ikconfig
kconfig: have extract-ikconfig read ELF files
2009-08-18 22:00:18 -04:00
gcc-version.sh
Remove bashisms from scripts
2009-06-09 22:37:54 +02:00
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_initramfs_list.sh
kbuild: fix spurious initramfs rebuild
2009-04-11 08:18:12 +02:00
get_maintainer.pl
scripts/get_maintainer.pl: fix file exclusion X: logic
2010-01-11 09:34:05 -08:00
gfp-translate
mm: add a gfp-translate script to help understand page allocation failure reports
2009-06-16 19:47:44 -07:00
headerdep.pl
kbuild: fix option processing for -I in headerdep
2009-04-11 08:18:07 +02:00
headers.sh
kbuild: do not check for include/asm-$ARCH
2009-12-12 13:08:14 +01:00
headers_check.pl
kbuild/headers_check: refine extern check
2009-06-09 22:37:56 +02:00
headers_install.pl
warn about use of uninstalled kernel headers
2009-10-11 23:21:25 +02:00
kallsyms.c
kallsyms: fix segfault in prefix_underscores_count()
2009-09-23 07:39:30 -07:00
Kbuild.include
kbuild: generate modules.builtin
2009-12-12 13:08:16 +01:00
kernel-doc
tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook
2009-12-02 09:57:37 +01:00
Lindent
Makefile
sparc: Kill PROM console driver.
2009-09-15 17:04:38 -07:00
Makefile.build
MIPS: Tracing: Add an endian argument to scripts/recordmcount.pl
2009-12-17 01:57:22 +00:00
Makefile.clean
Makefile.fwinst
Makefile.headersinst
kbuild: fix "Argument list too long" error for "make headers_check",
2009-06-09 22:37:56 +02:00
Makefile.host
Makefile.lib
kbuild: really fix bzImage build with non-bash sh
2010-01-13 13:27:24 +01:00
Makefile.modbuiltin
kbuild: generate modules.builtin
2009-12-12 13:08:16 +01:00
Makefile.modinst
Makefile.modpost
tracing: Remove markers
2009-09-18 21:22:08 +02:00
makelst
markup_oops.pl
markup_oops.pl: fix error with x86
2010-01-16 12:15:37 -08:00
mkcompile_h
kbuild: move autoconf.h to include/generated
2009-12-12 13:08:15 +01:00
mkmakefile
mksysmap
mkuboot.sh
mkversion
module-common.lds
linker script: throw away .discard section
2009-06-24 15:13:38 +09:00
namespace.pl
patch-kernel
pnmtologo.c
fbdev: work around old compiler bug
2009-06-30 18:55:59 -07:00
profile2linkerlist.pl
recordmcount.pl
tracing/x86: Derive arch from bits argument in recordmcount.pl
2010-01-11 23:49:35 -05:00
setlocalversion
kbuild: fix delay in setlocalversion on readonly source
2009-06-14 22:26:00 +02:00
show_delta
tags.sh
kbuild: specify absolute paths for cscope
2009-12-12 13:08:16 +01:00
unifdef.c
unifdef: update to upstream revision 1.190
2009-12-12 13:08:16 +01:00
ver_linux
Remove bashisms from scripts
2009-06-09 22:37:54 +02:00