Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
[pandora-kernel.git] / arch / parisc / kernel / signal.c
index fb35ebc..06213d1 100644 (file)
@@ -181,7 +181,7 @@ give_sigsegv:
        si.si_signo = SIGSEGV;
        si.si_errno = 0;
        si.si_code = SI_KERNEL;
-       si.si_pid = current->pid;
+       si.si_pid = task_pid_vnr(current);
        si.si_uid = current->uid;
        si.si_addr = &frame->uc;
        force_sig_info(SIGSEGV, &si, current);
@@ -333,7 +333,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
        flush_user_icache_range((unsigned long) &frame->tramp[0],
                           (unsigned long) &frame->tramp[TRAMP_SIZE]);
 
-       /* TRAMP Words 0-4, Lenght 5 = SIGRESTARTBLOCK_TRAMP
+       /* TRAMP Words 0-4, Length 5 = SIGRESTARTBLOCK_TRAMP
         * TRAMP Words 5-9, Length 4 = SIGRETURN_TRAMP
         * So the SIGRETURN_TRAMP is at the end of SIGRESTARTBLOCK_TRAMP
         */
@@ -534,7 +534,8 @@ insert_restart_trampoline(struct pt_regs *regs)
                 * Flushing one cacheline is cheap.
                 * "sync" on bigger (> 4 way) boxes is not.
                 */
-               flush_icache_range(regs->gr[30], regs->gr[30] + 4);
+               flush_user_dcache_range(regs->gr[30], regs->gr[30] + 4);
+               flush_user_icache_range(regs->gr[30], regs->gr[30] + 4);
 
                regs->gr[31] = regs->gr[30] + 8;
                /* Preserve original r28. */