Unverified Commit 96ebabc2 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!15002 riscv: Fix sleeping in invalid context in die()

parents 4e68530a fbd75617
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@

int show_unhandled_signals = 1;

static DEFINE_SPINLOCK(die_lock);
static DEFINE_RAW_SPINLOCK(die_lock);

static void dump_kernel_instr(const char *loglvl, struct pt_regs *regs)
{
@@ -69,7 +69,7 @@ void die(struct pt_regs *regs, const char *str)

	oops_enter();

	spin_lock_irqsave(&die_lock, flags);
	raw_spin_lock_irqsave(&die_lock, flags);
	console_verbose();
	bust_spinlocks(1);

@@ -88,7 +88,7 @@ void die(struct pt_regs *regs, const char *str)

	bust_spinlocks(0);
	add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
	spin_unlock_irqrestore(&die_lock, flags);
	raw_spin_unlock_irqrestore(&die_lock, flags);
	oops_exit();

	if (in_interrupt())