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
fix bloat-o-meter for ppc64
2007-12-17 19:28:17 -08:00
bootgraph.pl
bootgraph: fix for use with dot symbols
2009-02-15 12:50:08 +01:00
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
sparc: Add checkstack support
2008-10-22 21:53:49 -07:00
checksyscalls.sh
asm-generic: add a generic unistd.h
2009-06-11 21:02:16 +02:00
checkversion.pl
cleanfile
scripts: Make cleanfile/cleanpatch warn about long lines
2007-07-16 21:15:50 +02:00
cleanpatch
scripts: Make cleanfile/cleanpatch warn about long lines
2007-07-16 21:15:50 +02:00
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
scripts: improve the decodecode script
2008-12-03 22:36:39 +01:00
diffconfig
kconfig: add diffconfig utility
2008-07-25 22:12:41 +02:00
export_report.pl
kbuild: fix perl usage in export_report.pl
2007-10-12 21:13:50 +02:00
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
stackprotector: fix multi-word cross-builds
2009-02-11 12:17:29 +01:00
gcc-x86_64-has-stack-protector.sh
stackprotector: fix multi-word cross-builds
2009-02-11 12:17:29 +01:00
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
scripts/Lindent: support gnu indent v2.2.10
2008-04-29 08:06:04 -07:00
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
kbuild: fix some minor typoes
2008-04-25 20:18:48 +02:00
Makefile.fwinst
firmware: silence __fw_modbuild and __fw_modinst 'Nothing to be done' messages
2008-08-02 07:52:29 +01:00
Makefile.headersinst
kbuild: fix "Argument list too long" error for "make headers_check",
2009-06-09 22:37:56 +02:00
Makefile.host
kbuild: fix some minor typoes
2008-04-25 20:18:48 +02:00
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
Revert "kbuild: strip generated symbols from *.ko"
2009-01-14 21:38:20 +01:00
Makefile.modpost
tracing: Remove markers
2009-09-18 21:22:08 +02:00
makelst
kbuild: introduce ccflags-y, asflags-y and ldflags-y
2007-10-15 22:25:06 +02:00
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
kbuild: teach mkmakfile to be silent
2008-12-03 21:32:02 +01:00
mksysmap
Revert "kbuild: strip generated symbols from *.ko"
2009-01-14 21:38:20 +01:00
mkuboot.sh
mkversion
module-common.lds
linker script: throw away .discard section
2009-06-24 15:13:38 +09:00
namespace.pl
x86: fixup the x86 namespace change in scripts/namespace.pl
2007-10-11 17:56:02 +02:00
patch-kernel
bugfix for scripts/patch-kernel in 2.6 sublevel stepping
2008-08-06 22:11:33 +02:00
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