Re: [PATCHv8 14/17] x86/traps: Handle LASS thrown #SS

Sohil Mehta
2025-07-03T20:12:59Z

On 7/3/2025 4:31 AM, Kirill A. Shutemov wrote:

>
> cond_local_irq_enable() need to happen if we want to do something
> sleepable during exception handling. It is not the case here.
>

Makes sense.

> notify_die() will be called die_addr()->__die_body()->notify_die().

The notify_die() within __die_body() is slightly different from the one
called from the exception handlers.

__die_body():
notify_die(DIE_OOPS, str, regs, err, current->thread.trap_nr, SIGSEGV)

exc_alignment_check():
notify_die(DIE_TRAP, str, regs, error_code, X86_TRAP_AC, SIGBUS)

I believe we should include a #SS specific notify before calling
die_addr(). Similar to exc_alignment_check() which dies on kernel
exceptions.

if (notify_die(DIE_TRAP, str, regs, error_code, X86_TRAP_SS, SIGBUS) ==
NOTIFY_STOP)
return;

This way the behavior remains consistent with other exception handlers
as well as with/without LASS.