1
linux/scripts
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 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
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 scripts: improve the decodecode script 2008-12-03 22:36:39 +01:00
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 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_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
headers.sh kbuild: do not check for include/asm-$ARCH 2009-12-12 13:08:14 +01: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 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
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
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