diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-18 12:57:18 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-18 12:57:18 -0800 |
commit | d05d82f7110b08fd36178a641b69a1f206e1142b (patch) | |
tree | a274bb136f5ed336fb7a12bb86ea24cc5daffdc9 /arch/tile/kernel/unaligned.c | |
parent | d90f351a9bec6af3e8e7cefbbff94072461c3c9a (diff) | |
parent | 00d27c6336b00345724b2510f7c5b8cee3055f02 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile updates from Chris Metcalf:
"This is a grab bag of changes that includes some NOHZ and
context-tracking related changes, some debugging improvements,
JUMP_LABEL support, and some fixes for tilepro allmodconfig support.
We also remove the now-unused node_has_online_mem() definitions both
for tile's asm/topology.h as well as in linux/topology.h itself"
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
numa: remove stale node_has_online_mem() define
arch/tile: move user_exit() to early kernel entry sequence
tile: fix bug in setting PT_FLAGS_DISABLE_IRQ on kernel entry
tile: fix tilepro casts for readl, writel, etc
tile: fix a -Wframe-larger-than warning
tile: include the syscall number in the backtrace
MAINTAINERS: add git URL for tile
arch/tile: adopt prepare_exit_to_usermode() model from x86
tile/jump_label: add jump label support for TILE-Gx
tile: define a macro ktext_writable_addr to get writable kernel text address
Diffstat (limited to 'arch/tile/kernel/unaligned.c')
-rw-r--r-- | arch/tile/kernel/unaligned.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/tile/kernel/unaligned.c b/arch/tile/kernel/unaligned.c index d075f92ccee0..0db5f7c9d9e5 100644 --- a/arch/tile/kernel/unaligned.c +++ b/arch/tile/kernel/unaligned.c @@ -25,7 +25,6 @@ #include <linux/module.h> #include <linux/compat.h> #include <linux/prctl.h> -#include <linux/context_tracking.h> #include <asm/cacheflush.h> #include <asm/traps.h> #include <asm/uaccess.h> @@ -1449,7 +1448,6 @@ void jit_bundle_gen(struct pt_regs *regs, tilegx_bundle_bits bundle, void do_unaligned(struct pt_regs *regs, int vecnum) { - enum ctx_state prev_state = exception_enter(); tilegx_bundle_bits __user *pc; tilegx_bundle_bits bundle; struct thread_info *info = current_thread_info(); @@ -1503,7 +1501,7 @@ void do_unaligned(struct pt_regs *regs, int vecnum) *((tilegx_bundle_bits *)(regs->pc))); jit_bundle_gen(regs, bundle, align_ctl); } - goto done; + return; } /* @@ -1527,7 +1525,7 @@ void do_unaligned(struct pt_regs *regs, int vecnum) trace_unhandled_signal("unaligned fixup trap", regs, 0, SIGBUS); force_sig_info(info.si_signo, &info, current); - goto done; + return; } @@ -1544,7 +1542,7 @@ void do_unaligned(struct pt_regs *regs, int vecnum) trace_unhandled_signal("segfault in unalign fixup", regs, (unsigned long)info.si_addr, SIGSEGV); force_sig_info(info.si_signo, &info, current); - goto done; + return; } if (!info->unalign_jit_base) { @@ -1579,7 +1577,7 @@ void do_unaligned(struct pt_regs *regs, int vecnum) if (IS_ERR((void __force *)user_page)) { pr_err("Out of kernel pages trying do_mmap\n"); - goto done; + return; } /* Save the address in the thread_info struct */ @@ -1592,9 +1590,6 @@ void do_unaligned(struct pt_regs *regs, int vecnum) /* Generate unalign JIT */ jit_bundle_gen(regs, GX_INSN_BSWAP(bundle), align_ctl); - -done: - exception_exit(prev_state); } #endif /* __tilegx__ */ |