[PATCH] s390 signal annotations

From: Al Viro
Date: Wed Sep 28 2005 - 18:16:30 EST


Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
----
diff -urN RC14-rc2-git6-mv64x60/arch/s390/kernel/compat_signal.c RC14-rc2-git6-s390-signal/arch/s390/kernel/compat_signal.c
--- RC14-rc2-git6-mv64x60/arch/s390/kernel/compat_signal.c 2005-09-05 07:05:14.000000000 -0400
+++ RC14-rc2-git6-s390-signal/arch/s390/kernel/compat_signal.c 2005-09-28 13:02:23.000000000 -0400
@@ -143,7 +143,7 @@
break;
case __SI_FAULT >> 16:
err |= __get_user(tmp, &from->si_addr);
- to->si_addr = (void *)(u64) (tmp & PSW32_ADDR_INSN);
+ to->si_addr = (void __user *)(u64) (tmp & PSW32_ADDR_INSN);
break;
case __SI_POLL >> 16:
err |= __get_user(to->si_band, &from->si_band);
@@ -338,7 +338,7 @@
err |= __get_user(kss.ss_flags, &uss->ss_flags);
if (err)
return -EFAULT;
- kss.ss_sp = (void *) ss_sp;
+ kss.ss_sp = (void __user *) ss_sp;
}

set_fs (KERNEL_DS);
@@ -461,7 +461,7 @@
goto badframe;

err = __get_user(ss_sp, &frame->uc.uc_stack.ss_sp);
- st.ss_sp = (void *) A((unsigned long)ss_sp);
+ st.ss_sp = compat_ptr(ss_sp);
err |= __get_user(st.ss_size, &frame->uc.uc_stack.ss_size);
err |= __get_user(st.ss_flags, &frame->uc.uc_stack.ss_flags);
if (err)
diff -urN RC14-rc2-git6-mv64x60/arch/s390/kernel/signal.c RC14-rc2-git6-s390-signal/arch/s390/kernel/signal.c
--- RC14-rc2-git6-mv64x60/arch/s390/kernel/signal.c 2005-09-05 07:05:14.000000000 -0400
+++ RC14-rc2-git6-s390-signal/arch/s390/kernel/signal.c 2005-09-28 13:02:23.000000000 -0400
@@ -376,8 +376,8 @@

/* Create the ucontext. */
err |= __put_user(0, &frame->uc.uc_flags);
- err |= __put_user(0, &frame->uc.uc_link);
- err |= __put_user((void *)current->sas_ss_sp, &frame->uc.uc_stack.ss_sp);
+ err |= __put_user(NULL, &frame->uc.uc_link);
+ err |= __put_user((void __user *)current->sas_ss_sp, &frame->uc.uc_stack.ss_sp);
err |= __put_user(sas_ss_flags(regs->gprs[15]),
&frame->uc.uc_stack.ss_flags);
err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size);
diff -urN RC14-rc2-git6-mv64x60/include/asm-s390/sigcontext.h RC14-rc2-git6-s390-signal/include/asm-s390/sigcontext.h
--- RC14-rc2-git6-mv64x60/include/asm-s390/sigcontext.h 2005-06-17 15:48:29.000000000 -0400
+++ RC14-rc2-git6-s390-signal/include/asm-s390/sigcontext.h 2005-09-28 13:02:23.000000000 -0400
@@ -61,7 +61,7 @@
struct sigcontext
{
unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
- _sigregs *sregs;
+ _sigregs __user *sregs;
};


diff -urN RC14-rc2-git6-mv64x60/include/asm-s390/signal.h RC14-rc2-git6-s390-signal/include/asm-s390/signal.h
--- RC14-rc2-git6-mv64x60/include/asm-s390/signal.h 2005-06-17 15:48:29.000000000 -0400
+++ RC14-rc2-git6-s390-signal/include/asm-s390/signal.h 2005-09-28 13:02:23.000000000 -0400
@@ -165,7 +165,7 @@
#endif /* __KERNEL__ */

typedef struct sigaltstack {
- void *ss_sp;
+ void __user *ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/