Skip to content

Commit ce6e85a

Browse files
benzeajmberg-intel
authored andcommitted
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>
1 parent b69f22d commit ce6e85a

File tree

3 files changed

+0
-15
lines changed

3 files changed

+0
-15
lines changed

arch/um/include/shared/os.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,6 @@ extern void block_signals(void);
241241
extern void unblock_signals(void);
242242
extern int um_set_signals(int enable);
243243
extern int um_set_signals_trace(int enable);
244-
extern int os_is_signal_stack(void);
245244
extern void deliver_alarm(void);
246245
extern void register_pm_wake_signal(void);
247246
extern void block_signals_hard(void);

arch/um/kernel/sysrq.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,6 @@ void show_stack(struct task_struct *task, unsigned long *stack,
3232
struct pt_regs *segv_regs = current->thread.segv_regs;
3333
int i;
3434

35-
if (!segv_regs && os_is_signal_stack()) {
36-
pr_err("Received SIGSEGV in SIGSEGV handler,"
37-
" aborting stack trace!\n");
38-
return;
39-
}
40-
4135
if (!stack)
4236
stack = get_stack_pointer(task, segv_regs);
4337

arch/um/os-Linux/signal.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -487,11 +487,3 @@ void unblock_signals_hard(void)
487487
unblocking = false;
488488
}
489489
#endif
490-
491-
int os_is_signal_stack(void)
492-
{
493-
stack_t ss;
494-
sigaltstack(NULL, &ss);
495-
496-
return ss.ss_flags & SS_ONSTACK;
497-
}

0 commit comments

Comments
 (0)