Helge Deller <deller@xxxxxx> writes: > On 12/7/21 23:07, John David Anglin wrote: >> On 2021-12-05 3:46 p.m., Helge Deller wrote: >>>> 10574: 43 ff ff 40 ldb 1fa0(sr3,r31),r31 >>> This IIR is strange. We most likely don't touch userspace at this stage >>> when the kernel boots, and... >> I'm thinking IIR is sometimes unreliable. I see the same value >> printed for the tst-minsigstksz-5 fault yet the actual fault >> instruction was "ldi 1,r25". > > Good finding. > It seems to be at least always unreliable if we get a trap 7 (Instruction access rights). > In that case the CPU couldn't execute the instruction due to missing > execute permissions. I believe the CPU simply didn't fetched the > instruction and as such has stale content in IIR. > > I'm sending a patch to the list which marks IIR with a magic value in that case. The same might happen with ISR and IOR - i wonder whether we should take a few bit in struct pt_regs, store the interruption code there, and only display the fields that are valid for a certain code? pt_regs has an unused pad0 field (at least i think it's unused...) which we could use. What's your take on this? I would prefer this over some magic values in the oops output... Sven