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
.gitignore
bin2c.c
binoffset.c
bloat-o-meter
bootgraph.pl
checkincludes.pl
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
checkversion.pl
cleanfile
cleanpatch
config
conmakehash.c
decodecode
diffconfig
export_report.pl
extract-ikconfig
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_initramfs_list.sh
get_maintainer.pl scripts/get_maintainer.pl: fix file exclusion X: logic 2010-01-11 09:34:05 -08:00
gfp-translate
headerdep.pl
headers_check.pl
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
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
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
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
namespace.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
recordmcount.pl tracing/x86: Derive arch from bits argument in recordmcount.pl 2010-01-11 23:49:35 -05:00
setlocalversion
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