Messages in this thread | | | Date | Mon, 3 Feb 2014 15:29:25 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 2/8] mm/swap: fix race on swap_info reuse between swapoff and swapon |
| |
On Mon, 3 Feb 2014 15:23:40 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
> On Mon, 27 Jan 2014 18:03:04 +0800 Weijie Yang <weijie.yang@samsung.com> wrote: > > > swapoff clear swap_info's SWP_USED flag prematurely and free its resources > > after that. A concurrent swapon will reuse this swap_info while its previous > > resources are not cleared completely. > > > > These late freed resources are: > > - p->percpu_cluster > > - swap_cgroup_ctrl[type] > > - block_device setting > > - inode->i_flags &= ~S_SWAPFILE > > > > This patch clear SWP_USED flag after all its resources freed, so that swapon > > can reuse this swap_info by alloc_swap_info() safely. > > > > This patch is just for a rare scenario, aim to correct of code. > > I believe that > http://ozlabs.org/~akpm/mmots/broken-out/mm-swap-fix-race-on-swap_info-reuse-between-swapoff-and-swapon.patch > makes this patch redundant? >
oop, hang on. This patch *is* a stealth-updated version of http://ozlabs.org/~akpm/mmots/broken-out/mm-swap-fix-race-on-swap_info-reuse-between-swapoff-and-swapon.patch.
Undocumented removals of si->swap_map have been added. What's going on there?
I think I'll stick with the original patch for now. If you see additional optimisations or changes, let's address that separately?
| |