diff options
author | Naoya Horiguchi <[email protected]> | 2021-06-28 19:43:14 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2021-06-29 10:53:55 -0700 |
commit | a3f5d80ea401ac857f2910e28b15f35b2cf902f4 (patch) | |
tree | e5c231c04edcb393eea6c43f8e35ac88bfe19663 /arch/sparc | |
parent | 203c06eef579c670b8eb3a24108b9837bf9b7737 (diff) |
mm,hwpoison: send SIGBUS with error virutal address
Now an action required MCE in already hwpoisoned address surely sends a
SIGBUS to current process, but the SIGBUS doesn't convey error virtual
address. That's not optimal for hwpoison-aware applications.
To fix the issue, make memory_failure() call kill_accessing_process(),
that does pagetable walk to find the error virtual address. It could find
multiple virtual addresses for the same error page, and it seems hard to
tell which virtual address is correct one. But that's rare and sending
incorrect virtual address could be better than no address. So let's
report the first found virtual address for now.
[[email protected]: fix walk_page_range() return]
Link: https://lkml.kernel.org/r/[email protected]
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Naoya Horiguchi <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: Aili Yao <[email protected]>
Cc: Oscar Salvador <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Jue Wang <[email protected]>
Cc: Borislav Petkov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'arch/sparc')
0 files changed, 0 insertions, 0 deletions