Hi everyone, This series contains a few patches to avoid mapping random data if swap read fails and fix lost swap bits in unuse_pte. Also we free hwpoison and swapin error entry in madvise_free_pte_range and so on. More details can be found in the respective changelogs. Thanks! --- v4: collect Reviewed-by per Naoya and David. Thanks for review! fix infinite loop when swap in shmem error. Thanks Naoya for reporting the issue! v3: collect Acked-by tag per David remove unneeded pte wrprotect per David v2: make the terminology consistent and collect Acked-by tag per David fix lost swap bits in unuse_pte per Peter free hwpoison and swapin error entry per Alistair Many thanks Alistair, David and Peter for review! --- Miaohe Lin (5): mm/swapfile: unuse_pte can map random data if swap read fails mm/swapfile: Fix lost swap bits in unuse_pte() mm/madvise: free hwpoison and swapin error entry in madvise_free_pte_range mm/shmem: fix infinite loop when swap in shmem error at swapoff time mm: filter out swapin error entry in shmem mapping include/linux/swap.h | 7 ++++++- include/linux/swapops.h | 10 ++++++++++ mm/madvise.c | 18 ++++++++++++------ mm/memory.c | 5 ++++- mm/shmem.c | 39 +++++++++++++++++++++++++++++++++++++++ mm/swap_state.c | 3 +++ mm/swapfile.c | 21 ++++++++++++++++++--- 7 files changed, 92 insertions(+), 11 deletions(-) -- 2.23.0