Re: [PATCH RFC 1/2] m68k: Don't deliver signals except at instruction boundary

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

 



Hi Andreas, Finn,

On 3/05/23 04:51, Andreas Schwab wrote:
On Mai 02 2023, Finn Thain wrote:

From: Andreas Schwab <schwab@xxxxxxxxxxxxxx>

Signal delivery should only happen at insn boundaries, but due to the
way the 030 handles return from bus error exceptions (the insn is resumed,
not restarted like on the 040/060) the kernel may do it in the middle of
the faulting insn.
I don't think this will work properly when the address cannot be
resolved.  The bus error exception will just be raised again
immediately.

Seems certain, even though we haven't observed that in testing yet (haven't designed the test case for that specifically, mind you).

The (slighty hairy) sole solution to this (that I can see) would be to only skip signal delivery on the condition that bus_error030 was able to correct the bus fault.

In any other case bus_error030 will raise SIGKILL or SIGSEGV which must be delivered right away.

Can we infer that from the state of the fault frame after bus_error030, or do we have to modify bus_error030 to return success/error codes?

Cheers,

    Michael





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux