Thread (31 messages) 31 messages, 6 authors, 2021-03-11

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

From: Aili Yao <hidden>
Date: 2021-03-09 02:26:11
Also in: lkml

On Tue, 9 Mar 2021 10:14:52 +0800
Aili Yao [off-list ref] wrote:
On Mon, 8 Mar 2021 18:31:07 +0000
"Luck, Tony" [off-list ref] wrote:
quoted
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help