mm/swap: fix some rare issues in swap subsystem
Subsystems (2)
cover mm/swap: fix some rare issues in swap subsystem
This patch series focus on some tiny and rare issues in swap subsystem. These issues happen rarely, so it is just for the correctness of the code.
It firstly add some comments to try to make swap flag/lock usage in swapfile.c more clear and readable,
and fix some rare issues in swap subsystem that cause race condition among swapon, swapoff and frontswap_register_ops.
and fix some not race issues.
Please see individual patch for details, any complaint and suggestion are welcome.
Regards
patch 1/8: add some comments for swap flag/lock usage
patch 2/8: fix race on swap_info reuse between swapoff and swapon
This patch has been in akpm -mm tree, however I improve it according to Heesub Shin and Mateusz Guzik's suggestion. So, that old patch need to be dropped.
patch 3/8: prevent concurrent swapon on the same S_ISBLK blockdev
patch 4/8: fix race among frontswap_register_ops, swapoff and swapon
patch 5/8: drop useless and bug frontswap_shrink codes
patch 6/8: remove swap_lock to simplify si_swapinfo()
patch 7/8: check swapfile blocksize greater than PAGE_SIZE
patch 8/8: add missing handle on a dup-store failure
include/linux/blkdev.h | 4 +++- include/linux/frontswap.h | 2 -- include/linux/swapfile.h | 4 +--- mm/frontswap.c | 127 +++++++------------------------------------------------------------------------------------------------------------------------ mm/page_io.c | 2 ++ mm/rmap.c | 2 +- mm/swapfile.c | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------- 7 files changed, 112 insertions(+), 167 deletions(-)
Greg KH
maintainerQuoted 33 lines · Weijie Yang
This patch series focus on some tiny and rare issues in swap subsystem. These issues happen rarely, so it is just for the correctness of the code.
It firstly add some comments to try to make swap flag/lock usage in
swapfile.cmore clear and readable,
and fix some rare issues in swap subsystem that cause race condition among swapon, swapoff andfrontswap_register_ops.
and fix some not race issues.Please see individual patch for details, any complaint and suggestion are welcome.
Regards
patch 1/8: add some comments for swap flag/lock usage
patch 2/8: fix race on
swap_inforeuse between swapoff and swapon
This patch has been in akpm -mm tree, however I improve it according to Heesub Shin and Mateusz Guzik's suggestion. So, that old patch need to be dropped.patch 3/8: prevent concurrent swapon on the same
S_ISBLKblockdevpatch 4/8: fix race among
frontswap_register_ops, swapoff and swaponpatch 5/8: drop useless and bug
frontswap_shrinkcodespatch 6/8: remove
swap_lockto simplifysi_swapinfo()patch 7/8: check swapfile blocksize greater than
PAGE_SIZEpatch 8/8: add missing handle on a dup-store failure
Quoted 8 lines
include/linux/blkdev.h | 4 +++- include/linux/frontswap.h | 2 -- include/linux/swapfile.h | 4 +--- mm/frontswap.c | 127 +++++++------------------------------------------------------------------------------------------------------------------------ mm/page_io.c | 2 ++ mm/rmap.c | 2 +- mm/swapfile.c | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------- 7 files changed, 112 insertions(+), 167 deletions(-)
<formletter>
This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read Documentation/stable_kernel_rules.txt for how to do this properly.
</formletter>