patch-2.4.27 linux-2.4.27/arch/sparc64/kernel/sys_sparc32.c
Next file: linux-2.4.27/arch/sparc64/kernel/sys_sunos32.c
Previous file: linux-2.4.27/arch/sparc64/kernel/sparc64_ksyms.c
Back to the patch index
Back to the overall index
- Lines: 47
- Date:
2004-08-07 16:26:04.621345421 -0700
- Orig file:
linux-2.4.26/arch/sparc64/kernel/sys_sparc32.c
- Orig date:
2004-04-14 06:05:27.000000000 -0700
diff -urN linux-2.4.26/arch/sparc64/kernel/sys_sparc32.c linux-2.4.27/arch/sparc64/kernel/sys_sparc32.c
@@ -1316,7 +1316,7 @@
put_user(reclen, &dirent->d_reclen);
copy_to_user(dirent->d_name, name, namlen);
put_user(0, dirent->d_name + namlen);
- ((char *) dirent) += reclen;
+ dirent = (void *) dirent + reclen;
buf->current_dir = dirent;
buf->count -= reclen;
return 0;
@@ -3056,9 +3056,12 @@
if (act) {
old_sigset_t32 mask;
+ u32 u_handler, u_restorer;
- ret = get_user((long)new_ka.sa.sa_handler, &act->sa_handler);
- ret |= __get_user((long)new_ka.sa.sa_restorer, &act->sa_restorer);
+ ret = get_user(u_handler, &act->sa_handler);
+ new_ka.sa.sa_handler = (void *) (long) u_handler;
+ ret |= __get_user(u_restorer, &act->sa_restorer);
+ new_ka.sa.sa_restorer = (void *) (long) u_restorer;
ret |= __get_user(new_ka.sa.sa_flags, &act->sa_flags);
ret |= __get_user(mask, &act->sa_mask);
if (ret)
@@ -3097,8 +3100,11 @@
current->thread.flags |= SPARC_FLAG_NEWSIGNALS;
if (act) {
+ u32 u_handler, u_restorer;
+
new_ka.ka_restorer = restorer;
- ret = get_user((long)new_ka.sa.sa_handler, &act->sa_handler);
+ ret = get_user(u_handler, &act->sa_handler);
+ new_ka.sa.sa_handler = (void *) (long) u_handler;
ret |= __copy_from_user(&set32, &act->sa_mask, sizeof(sigset_t32));
switch (_NSIG_WORDS) {
case 4: new_ka.sa.sa_mask.sig[3] = set32.sig[6] | (((long)set32.sig[7]) << 32);
@@ -3107,7 +3113,8 @@
case 1: new_ka.sa.sa_mask.sig[0] = set32.sig[0] | (((long)set32.sig[1]) << 32);
}
ret |= __get_user(new_ka.sa.sa_flags, &act->sa_flags);
- ret |= __get_user((long)new_ka.sa.sa_restorer, &act->sa_restorer);
+ ret |= __get_user(u_restorer, &act->sa_restorer);
+ new_ka.sa.sa_restorer = (void *) (long) u_restorer;
if (ret)
return -EFAULT;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)