linux/arch
David Howells d7627467b7 Make do_execve() take a const filename pointer
Make do_execve() take a const filename pointer so that kernel_execve() compiles
correctly on ARM:

arch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of 'do_execve' discards qualifiers from pointer target type

This also requires the argv and envp arguments to be consted twice, once for
the pointer array and once for the strings the array points to.  This is
because do_execve() passes a pointer to the filename (now const) to
copy_strings_kernel().  A simpler alternative would be to cast the filename
pointer in do_execve() when it's passed to copy_strings_kernel().

do_execve() may not change any of the strings it is passed as part of the argv
or envp lists as they are some of them in .rodata, so marking these strings as
const should be fine.

Further kernel_execve() and sys_execve() need to be changed to match.

This has been test built on x86_64, frv, arm and mips.

Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-17 18:07:43 -07:00
..
alpha Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
arm Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
avr32 Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
blackfin Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
cris Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
frv Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
h8300 Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
ia64 Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
m32r Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
m68k Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
m68knommu Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
microblaze Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
mips Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
mn10300 Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
parisc Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
powerpc Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
s390 Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
score Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sh Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sparc Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
tile Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
um Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
x86 Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
xtensa Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
.gitignore
Kconfig