mirror of https://github.com/torvalds/linux.git
preserve_crunch_context() calls __copy_to_user() which expects the
destination address to be in __user space. setup_sigframe() properly
passes the destination address.
restore_crunch_context() calls __copy_from_user() which expects the
source address to be in __user space. restore_sigframe() properly
passes the source address.
This fixes {preserve/restore}_crunch_context() to accept the
address as __user space and resolves the following sparse warnings:
arch/arm/kernel/signal.c:146:31:
warning: incorrect type in argument 1 (different address spaces)
expected void [noderef] <asn:1>*to
got struct crunch_sigframe *frame
arch/arm/kernel/signal.c:156:38:
warning: incorrect type in argument 2 (different address spaces)
expected void const [noderef] <asn:1>*from
got struct crunch_sigframe *frame
arch/arm/kernel/signal.c:250:48:
warning: incorrect type in argument 1 (different address spaces)
expected struct crunch_sigframe *frame
got struct crunch_sigframe [noderef] <asn:1>*<noident>
arch/arm/kernel/signal.c:365:49:
warning: incorrect type in argument 1 (different address spaces)
expected struct crunch_sigframe *frame
got struct crunch_sigframe [noderef] <asn:1>*<noident>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile | ||
| armksyms.c | ||
| arthur.c | ||
| asm-offsets.c | ||
| atags.c | ||
| atags.h | ||
| bios32.c | ||
| calls.S | ||
| compat.c | ||
| compat.h | ||
| crunch-bits.S | ||
| crunch.c | ||
| debug.S | ||
| dma-isa.c | ||
| dma.c | ||
| ecard.c | ||
| ecard.h | ||
| elf.c | ||
| entry-armv.S | ||
| entry-common.S | ||
| entry-header.S | ||
| fiq.c | ||
| ftrace.c | ||
| head-common.S | ||
| head-nommu.S | ||
| head.S | ||
| init_task.c | ||
| io.c | ||
| irq.c | ||
| isa.c | ||
| iwmmxt.S | ||
| kgdb.c | ||
| kprobes-decode.c | ||
| kprobes.c | ||
| machine_kexec.c | ||
| module.c | ||
| process.c | ||
| ptrace.c | ||
| ptrace.h | ||
| relocate_kernel.S | ||
| setup.c | ||
| signal.c | ||
| signal.h | ||
| smp.c | ||
| smp_scu.c | ||
| smp_twd.c | ||
| stacktrace.c | ||
| sys_arm.c | ||
| sys_oabi-compat.c | ||
| thumbee.c | ||
| time.c | ||
| traps.c | ||
| unwind.c | ||
| vmlinux.lds.S | ||
| xscale-cp0.c | ||