Hi, I updated the series based on Boris's review. I folded 2/3 and 3/3 into one patch, updated description, added some refactored and rebased onto v5.12. There's no essential change in how the problem is solved. v1: https://lore.kernel.org/linux-mm/20210412224320.1747638-1-nao.horiguchi@xxxxxxxxx/ v2 (only 3/3 is posted): https://lore.kernel.org/linux-mm/20210419023658.GA1962954@u2004/ v3: https://lore.kernel.org/linux-mm/20210421005728.1994268-1-nao.horiguchi@xxxxxxxxx/ Thanks, Naoya Horiguchi --- quote from cover letter of v1 --- I wrote this patchset to materialize what I think is the current allowable solution mentioned by the previous discussion [1]. I simply borrowed Tony's mutex patch and Aili's return code patch, then I queued another one to find error virtual address in the best effort manner. I know that this is not a perfect solution, but should work for some typical case. [1]: https://lore.kernel.org/linux-mm/20210331192540.2141052f@alex-virtual-machine/ --- Summary: Naoya Horiguchi (1): mm,hwpoison: send SIGBUS when the page has already been poisoned Tony Luck (1): mm/memory-failure: Use a mutex to avoid memory_failure() races arch/x86/kernel/cpu/mce/core.c | 13 ++- include/linux/swapops.h | 5 ++ mm/memory-failure.c | 180 +++++++++++++++++++++++++++++++++++++---- 3 files changed, 182 insertions(+), 16 deletions(-)