summaryrefslogtreecommitdiffstats
path: root/mm/rmap.c
diff options
context:
space:
mode:
authorCesar Eduardo Barros <cesarb@cesarb.net>2012-12-11 16:01:14 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-11 17:22:24 -0800
commit6555bc035731eab76c0901925034465d3ad2099c (patch)
tree69a3bd3525ad425204a91a6bbf07486789ae28bc /mm/rmap.c
parentcf0cac0a09341549dedabcfc2a66dcbc2eaaf2b9 (diff)
downloadlinux-stable-6555bc035731eab76c0901925034465d3ad2099c.tar.gz
linux-stable-6555bc035731eab76c0901925034465d3ad2099c.tar.bz2
linux-stable-6555bc035731eab76c0901925034465d3ad2099c.zip
mm: do not call frontswap_init() during swapoff
The call to frontswap_init() was added within enable_swap_info(), which was called not only during sys_swapon, but also to reinsert the swap_info into the swap_list in case of failure of try_to_unuse() within sys_swapoff. This means that frontswap_init() might be called more than once for the same swap area. While as far as I could see no frontswap implementation has any problem with it (and in fact, all the ones I found ignore the parameter passed to frontswap_init), this could change in the future. To prevent future problems, move the call to frontswap_init() to outside the code shared between sys_swapon and sys_swapoff. Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Rik van Riel <riel@redhat.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/rmap.c')
0 files changed, 0 insertions, 0 deletions