1
linux/arch/parisc/kernel
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
..
.gitignore
asm-offsets.c parisc: Use of align_frame provides stack frame. 2010-05-30 05:38:27 -04:00
binfmt_elf32.c
cache.c parisc: remove trailing space in messages 2010-03-06 22:54:09 +00:00
drivers.c
entry.S parisc: Remove unnecessary macros from entry.S 2010-05-30 05:47:28 -04:00
firmware.c parisc: pass through '\t' to early (iodc) console 2010-08-04 11:17:10 -07:00
ftrace.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
hardware.c
head.S Rename .data.read_mostly to .data..read_mostly. 2010-03-03 11:26:00 +01:00
hpmc.S
init_task.c Rename .data.vmpages and .data.vm0.XXX to .data..vmpages and .data..vm0.XXX. 2010-03-03 11:26:00 +01:00
inventory.c
irq.c parisc: Fixup last users of irq_chip->typename 2009-12-16 03:48:56 +00:00
Makefile
module.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pa7300lc.c
pacache.S
parisc_ksyms.c
pci-dma.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pdc_chassis.c
pdc_cons.c
perf_asm.S
perf_images.h
perf.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
process.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
processor.c
ptrace.c parisc: stop using task->ptrace for {single,block}step flags 2009-09-27 23:07:22 -04:00
real2.S
setup.c
signal32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
signal32.h
signal.c parisc: fix tracing of signals 2010-02-12 08:51:58 -08:00
smp.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
stacktrace.c
sys32.h
sys_parisc32.c Merge branch 'for-2.6.33' of git://linux-nfs.org/~bfields/linux 2009-12-16 10:43:34 -08:00
sys_parisc.c improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
syscall_table.S improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
syscall.S parisc: LWS fixes for syscall.S 2010-05-30 05:46:37 -04:00
time.c parisc: Convert to read/update_persistent_clock 2010-03-06 22:54:10 +00:00
topology.c
traps.c
unaligned.c parisc: use __ratelimit in unaligned.c 2010-03-06 22:54:59 +00:00
unwind.c parisc: use sort() instead of home-made implementation (v2) 2009-12-16 03:48:55 +00:00
vmlinux.lds.S Rename .data.lock_aligned to .data..lock_aligned. 2010-03-03 11:26:01 +01:00