Re: [BACKPORT 4.4.y 21/25] arm64: traps: disable irq in die()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 22, 2019 at 04:44:12PM +0100, Arnd Bergmann wrote:
> From: Qiao Zhou <qiaozhou@xxxxxxxxxxxx>
> 
> In current die(), the irq is disabled for __die() handle, not
> including the possible panic() handling. Since the log in __die()
> can take several hundreds ms, new irq might come and interrupt
> current die().
> 
> If the process calling die() holds some critical resource, and some
> other process scheduled later also needs it, then it would deadlock.
> The first panic will not be executed.
> 
> So here disable irq for the whole flow of die().
> 
> Signed-off-by: Qiao Zhou <qiaozhou@xxxxxxxxxxxx>
> Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
> (cherry picked from commit 6f44a0bacb79a03972c83759711832b382b1b8ac)
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
>  arch/arm64/kernel/traps.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)

also added to 4.9.y



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux