Skip to content

Commit

Permalink
signal/nds32: Use force_sig in unhandled_interruption and unhandled_e…
Browse files Browse the repository at this point in the history
…xceptions

Neither unhandled_interrupt nor unhandled_exceptions fills in any of the
siginfo fields whend sending SIGKILL.  Further because it is SIGKILL
even if all of the fields were filled out appropriately it would be impossible
for the process to read any of the siginfo fields.  So simplfy things and
just use force_sig instead of force_sig_info.

Fixes: 2923f5e ("nds32: Exception handling")
Cc: Vincent Chen <[email protected]>
Cc: Greentime Hu <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Acked-by: Vincent Chen <[email protected]>
Signed-off-by: "Eric W. Biederman" <[email protected]>
  • Loading branch information
ebiederm committed Apr 25, 2018
1 parent 195bce7 commit be5c2ff
Showing 1 changed file with 2 additions and 9 deletions.
11 changes: 2 additions & 9 deletions arch/nds32/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -318,29 +318,22 @@ void do_debug_trap(unsigned long entry, unsigned long addr,

void unhandled_interruption(struct pt_regs *regs)
{
siginfo_t si;
pr_emerg("unhandled_interruption\n");
show_regs(regs);
if (!user_mode(regs))
do_exit(SIGKILL);
si.si_signo = SIGKILL;
si.si_errno = 0;
force_sig_info(SIGKILL, &si, current);
force_sig(SIGKILL, current);
}

void unhandled_exceptions(unsigned long entry, unsigned long addr,
unsigned long type, struct pt_regs *regs)
{
siginfo_t si;
pr_emerg("Unhandled Exception: entry: %lx addr:%lx itype:%lx\n", entry,
addr, type);
show_regs(regs);
if (!user_mode(regs))
do_exit(SIGKILL);
si.si_signo = SIGKILL;
si.si_errno = 0;
si.si_addr = (void *)addr;
force_sig_info(SIGKILL, &si, current);
force_sig(SIGKILL, current);
}

extern int do_page_fault(unsigned long entry, unsigned long addr,
Expand Down

0 comments on commit be5c2ff

Please sign in to comment.