mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 17:22:07 +00:00
um: remove broken double fault detection
The show_stack function had some code to detect double faults. However, the logic is wrong and it would e.g. trigger if a WARNING happened inside an IRQ. Remove it without trying to add a new logic. The current behaviour, which will just fault repeatedly until the IRQ stack is used up and the host kills UML, seems to be good enough. Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Link: https://patch.msgid.link/20241103150506.1367695-5-benjamin@sipsolutions.net Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
b69f22dfd6
commit
ce6e85a186
@ -241,7 +241,6 @@ extern void block_signals(void);
|
||||
extern void unblock_signals(void);
|
||||
extern int um_set_signals(int enable);
|
||||
extern int um_set_signals_trace(int enable);
|
||||
extern int os_is_signal_stack(void);
|
||||
extern void deliver_alarm(void);
|
||||
extern void register_pm_wake_signal(void);
|
||||
extern void block_signals_hard(void);
|
||||
|
@ -32,12 +32,6 @@ void show_stack(struct task_struct *task, unsigned long *stack,
|
||||
struct pt_regs *segv_regs = current->thread.segv_regs;
|
||||
int i;
|
||||
|
||||
if (!segv_regs && os_is_signal_stack()) {
|
||||
pr_err("Received SIGSEGV in SIGSEGV handler,"
|
||||
" aborting stack trace!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!stack)
|
||||
stack = get_stack_pointer(task, segv_regs);
|
||||
|
||||
|
@ -487,11 +487,3 @@ void unblock_signals_hard(void)
|
||||
unblocking = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
int os_is_signal_stack(void)
|
||||
{
|
||||
stack_t ss;
|
||||
sigaltstack(NULL, &ss);
|
||||
|
||||
return ss.ss_flags & SS_ONSTACK;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user