@@ -68,15 +68,15 @@ static int restore_sigcontext(struct pt_regs *regs,
68
68
69
69
asmlinkage long _sys_rt_sigreturn (struct pt_regs * regs )
70
70
{
71
- struct rt_sigframe * frame = (struct rt_sigframe __user * )regs -> sp ;
71
+ struct rt_sigframe __user * frame = (struct rt_sigframe __user * )regs -> sp ;
72
72
sigset_t set ;
73
73
74
74
/*
75
75
* Since we stacked the signal on a dword boundary,
76
76
* then frame should be dword aligned here. If it's
77
77
* not, then the user is trying to mess with us.
78
78
*/
79
- if (((long )frame ) & 3 )
79
+ if (((unsigned long )frame ) & 3 )
80
80
goto badframe ;
81
81
82
82
if (!access_ok (frame , sizeof (* frame )))
@@ -151,7 +151,7 @@ static inline void __user *get_sigframe(struct ksignal *ksig,
151
151
static int setup_rt_frame (struct ksignal * ksig , sigset_t * set ,
152
152
struct pt_regs * regs )
153
153
{
154
- struct rt_sigframe * frame ;
154
+ struct rt_sigframe __user * frame ;
155
155
unsigned long return_ip ;
156
156
int err = 0 ;
157
157
@@ -181,10 +181,10 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
181
181
l.ori r11,r0,__NR_sigreturn
182
182
l.sys 1
183
183
*/
184
- err |= __put_user (0xa960 , (short * )(frame -> retcode + 0 ));
185
- err |= __put_user (__NR_rt_sigreturn , (short * )(frame -> retcode + 2 ));
186
- err |= __put_user (0x20000001 , (unsigned long * )(frame -> retcode + 4 ));
187
- err |= __put_user (0x15000000 , (unsigned long * )(frame -> retcode + 8 ));
184
+ err |= __put_user (0xa960 , (short __user * )(frame -> retcode + 0 ));
185
+ err |= __put_user (__NR_rt_sigreturn , (short __user * )(frame -> retcode + 2 ));
186
+ err |= __put_user (0x20000001 , (unsigned long __user * )(frame -> retcode + 4 ));
187
+ err |= __put_user (0x15000000 , (unsigned long __user * )(frame -> retcode + 8 ));
188
188
189
189
if (err )
190
190
return - EFAULT ;
0 commit comments