Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Kill all BKL usage.
This commit is contained in:
commit
10d90f2803
|
@ -166,7 +166,6 @@ sparc_breakpoint (struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
siginfo_t info;
|
siginfo_t info;
|
||||||
|
|
||||||
lock_kernel();
|
|
||||||
#ifdef DEBUG_SPARC_BREAKPOINT
|
#ifdef DEBUG_SPARC_BREAKPOINT
|
||||||
printk ("TRAP: Entering kernel PC=%x, nPC=%x\n", regs->pc, regs->npc);
|
printk ("TRAP: Entering kernel PC=%x, nPC=%x\n", regs->pc, regs->npc);
|
||||||
#endif
|
#endif
|
||||||
|
@ -180,7 +179,6 @@ sparc_breakpoint (struct pt_regs *regs)
|
||||||
#ifdef DEBUG_SPARC_BREAKPOINT
|
#ifdef DEBUG_SPARC_BREAKPOINT
|
||||||
printk ("TRAP: Returning to space: PC=%x nPC=%x\n", regs->pc, regs->npc);
|
printk ("TRAP: Returning to space: PC=%x nPC=%x\n", regs->pc, regs->npc);
|
||||||
#endif
|
#endif
|
||||||
unlock_kernel();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
asmlinkage int
|
||||||
|
|
|
@ -323,7 +323,6 @@ asmlinkage void user_unaligned_trap(struct pt_regs *regs, unsigned int insn)
|
||||||
{
|
{
|
||||||
enum direction dir;
|
enum direction dir;
|
||||||
|
|
||||||
lock_kernel();
|
|
||||||
if(!(current->thread.flags & SPARC_FLAG_UNALIGNED) ||
|
if(!(current->thread.flags & SPARC_FLAG_UNALIGNED) ||
|
||||||
(((insn >> 30) & 3) != 3))
|
(((insn >> 30) & 3) != 3))
|
||||||
goto kill_user;
|
goto kill_user;
|
||||||
|
@ -377,5 +376,5 @@ asmlinkage void user_unaligned_trap(struct pt_regs *regs, unsigned int insn)
|
||||||
kill_user:
|
kill_user:
|
||||||
user_mna_trap_fault(regs, insn);
|
user_mna_trap_fault(regs, insn);
|
||||||
out:
|
out:
|
||||||
unlock_kernel();
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,6 @@ void try_to_clear_window_buffer(struct pt_regs *regs, int who)
|
||||||
struct thread_info *tp = current_thread_info();
|
struct thread_info *tp = current_thread_info();
|
||||||
int window;
|
int window;
|
||||||
|
|
||||||
lock_kernel();
|
|
||||||
flush_user_windows();
|
flush_user_windows();
|
||||||
for(window = 0; window < tp->w_saved; window++) {
|
for(window = 0; window < tp->w_saved; window++) {
|
||||||
unsigned long sp = tp->rwbuf_stkptrs[window];
|
unsigned long sp = tp->rwbuf_stkptrs[window];
|
||||||
|
@ -123,5 +122,4 @@ void try_to_clear_window_buffer(struct pt_regs *regs, int who)
|
||||||
do_exit(SIGILL);
|
do_exit(SIGILL);
|
||||||
}
|
}
|
||||||
tp->w_saved = 0;
|
tp->w_saved = 0;
|
||||||
unlock_kernel();
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue