On Tue, 9 Mar 2021 10:14:52 +0800 Aili Yao <yaoaili@xxxxxxxxxxxx> wrote: > On Mon, 8 Mar 2021 18:31:07 +0000 > "Luck, Tony" <tony.luck@xxxxxxxxx> wrote: > > > > Can you point me at that SIGBUS code in a current kernel? > > > > It is in kill_me_maybe(). mce_vaddr is setup when we disassemble whatever get_user() > > or copy from user variant was in use in the kernel when the poison memory was consumed. > > > > if (p->mce_vaddr != (void __user *)-1l) { > > force_sig_mceerr(BUS_MCEERR_AR, p->mce_vaddr, PAGE_SHIFT); > > > > Would it be any better if we used the BUS_MCEERR_AO code that goes into siginfo? > > > > That would make it match up better with what happens when poison is found > > asynchronously by the patrol scrubber. I.e. the semantics are: > > > > AR: You just touched poison at this address and need to do something about that. > > AO: Just letting you know that you have some poison at the address in siginfo. > > > > -Tony > > Is the kill action for this scenario in memory_failure()? Does the current logic kill the process twice for this scenario ? I am confused. -- Thanks! Aili Yao