Re: [PATCH v3] x86/fault: Send a SIGBUS to user process always for hwpoison page access.

From: Aili Yao
Date: Mon Mar 08 2021 - 21:16:11 EST


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()?

--
Thanks!
Aili Yao