[PATCH] s390 traps.c __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Al Viro 2006-10-09 20:28:03 +01:00 committed by Linus Torvalds
parent c8adf94a48
commit 5a42b81f03

View file

@ -474,7 +474,7 @@ asmlinkage void illegal_op(struct pt_regs * regs, long interruption_code)
signal = math_emu_b3(opcode, regs); signal = math_emu_b3(opcode, regs);
} else if (opcode[0] == 0xed) { } else if (opcode[0] == 0xed) {
get_user(*((__u32 *) (opcode+2)), get_user(*((__u32 *) (opcode+2)),
(__u32 *)(location+1)); (__u32 __user *)(location+1));
signal = math_emu_ed(opcode, regs); signal = math_emu_ed(opcode, regs);
} else if (*((__u16 *) opcode) == 0xb299) { } else if (*((__u16 *) opcode) == 0xb299) {
get_user(*((__u16 *) (opcode+2)), location+1); get_user(*((__u16 *) (opcode+2)), location+1);
@ -499,7 +499,7 @@ asmlinkage void illegal_op(struct pt_regs * regs, long interruption_code)
info.si_signo = signal; info.si_signo = signal;
info.si_errno = 0; info.si_errno = 0;
info.si_code = SEGV_MAPERR; info.si_code = SEGV_MAPERR;
info.si_addr = (void *) location; info.si_addr = (void __user *) location;
do_trap(interruption_code, signal, do_trap(interruption_code, signal,
"user address fault", regs, &info); "user address fault", regs, &info);
} else } else
@ -520,10 +520,10 @@ asmlinkage void
specification_exception(struct pt_regs * regs, long interruption_code) specification_exception(struct pt_regs * regs, long interruption_code)
{ {
__u8 opcode[6]; __u8 opcode[6];
__u16 *location = NULL; __u16 __user *location = NULL;
int signal = 0; int signal = 0;
location = (__u16 *) get_check_address(regs); location = (__u16 __user *) get_check_address(regs);
/* /*
* We got all needed information from the lowcore and can * We got all needed information from the lowcore and can
@ -632,7 +632,7 @@ asmlinkage void data_exception(struct pt_regs * regs, long interruption_code)
break; break;
case 0xed: case 0xed:
get_user(*((__u32 *) (opcode+2)), get_user(*((__u32 *) (opcode+2)),
(__u32 *)(location+1)); (__u32 __user *)(location+1));
signal = math_emu_ed(opcode, regs); signal = math_emu_ed(opcode, regs);
break; break;
case 0xb2: case 0xb2: