Re: [PATCH 2/8] mm/swap: fix race on swap_info reuse betweenswapoff and swapon

From: Andrew Morton
Date: Mon Feb 03 2014 - 18:29:39 EST


On Mon, 3 Feb 2014 15:23:40 -0800 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, 27 Jan 2014 18:03:04 +0800 Weijie Yang <weijie.yang@xxxxxxxxxxx> 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?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/