Add check for is_valid_elf() before loading in exec
authorKevin Klues <klueska@cs.berkeley.edu>
Mon, 7 Apr 2014 19:22:46 +0000 (12:22 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Mon, 7 Apr 2014 21:35:12 +0000 (14:35 -0700)
commit5707aaa0a69c4d3a11ad8e7583ea749b07cb0591
treeb3646bd73061e9b0f89290759297e90af4e48966
parentbbd9c422108c608ef6ded06bcbacd429345ba79e
Add check for is_valid_elf() before loading in exec

If the program is not a valid elf file, then set errno to ENOEXEC.
Busybox and other shells recognize this and try to re-exec the program
through the shell itself (i.e. bash ifconfig instead of just
./ifconfig).

To support this, sh and bash symlinks have been set up to point to ash
in busybox
kern/include/elf.h
kern/src/elf.c
kern/src/syscall.c
tools/patches/busybox-1.17.3-config