err |= __get_user((u32)(u64)new_ka.sa.sa_handler, &act->sa_handler); 
err |= __get_user(handler, &act->sa_handler); new_ka.sa.sa_handler = (void*)(s64)handler; 
asmlinkage int sys32_sigaction(int sig, const struct sigaction32 *act,                               struct sigaction32 *oact){	struct k_sigaction new_ka, old_ka;	int ret;	int err = 0;	if (act) {		old_sigset_t mask;		if (!access_ok(VERIFY_READ, act, sizeof(*act)))			return -EFAULT;		err |= __get_user((u32)(u64)new_ka.sa.sa_handler,		                  &act->sa_handler);		err |= __get_user(new_ka.sa.sa_flags, &act->sa_flags);		err |= __get_user(mask, &act->sa_mask.sig[0]);		if (err)			return -EFAULT;		siginitset(&new_ka.sa.sa_mask, mask);	}	ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL);	if (!ret && oact) {		if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)))                        return -EFAULT;		err |= __put_user(old_ka.sa.sa_flags, &oact->sa_flags);		err |= __put_user((u32)(u64)old_ka.sa.sa_handler,		                  &oact->sa_handler);		err |= __put_user(old_ka.sa.sa_mask.sig[0], oact->sa_mask.sig);                err |= __put_user(0, &oact->sa_mask.sig[1]);                err |= __put_user(0, &oact->sa_mask.sig[2]);                err |= __put_user(0, &oact->sa_mask.sig[3]);                if (err)			return -EFAULT;	}	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/77c728c2240a1eb45f7d355f5d87ecc319cd55ce/signal32.c/clean/arch/mips/kernel/signal32.c