]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
x86/traps: Correct exc_general_protection() and math_error() return paths
authorThomas Tai <thomas.tai@oracle.com>
Thu, 8 Apr 2021 17:28:33 +0000 (13:28 -0400)
committerBorislav Petkov <bp@suse.de>
Fri, 9 Apr 2021 11:45:09 +0000 (13:45 +0200)
commit632a1c209b8773cb0119fe3aada9f1db14fa357c
treeb4581824c67a657e741df1fb5d69378db1249017
parent3a62583c2853b0ab37a57dde79decea210b5fb89
x86/traps: Correct exc_general_protection() and math_error() return paths

Commit

  334872a09198 ("x86/traps: Attempt to fixup exceptions in vDSO before signaling")

added return statements which bypass calling cond_local_irq_disable().

According to

  ca4c6a9858c2 ("x86/traps: Make interrupt enable/disable symmetric in C code"),

cond_local_irq_disable() is needed because the asm return code no longer
disables interrupts. Follow the existing code as an example to use "goto
exit" instead of "return" statement.

 [ bp: Massage commit message. ]

Fixes: 334872a09198 ("x86/traps: Attempt to fixup exceptions in vDSO before signaling")
Signed-off-by: Thomas Tai <thomas.tai@oracle.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Link: https://lkml.kernel.org/r/1617902914-83245-1-git-send-email-thomas.tai@oracle.com
arch/x86/kernel/traps.c