]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mm: Hold a file reference in madvise_remove
authorAndy Lutomirski <luto@amacapital.net>
Thu, 5 Jul 2012 23:00:11 +0000 (16:00 -0700)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 10 Feb 2014 21:11:10 +0000 (16:11 -0500)
commitacc12b1b2744d0c7d0f462f9057bbca8427498c4
tree43546497dac17f9bee09361f869bd35b9d98f057
parent0e3446e8bb3ae078d66434c1cb236b4d1546bfe8
mm: Hold a file reference in madvise_remove

commit 9ab4233dd08036fe34a89c7dc6f47a8bf2eb29eb upstream.

Otherwise the code races with munmap (causing a use-after-free
of the vma) or with close (causing a use-after-free of the struct
file).

The bug was introduced by commit 90ed52ebe481 ("[PATCH] holepunch: fix
mmap_sem i_mutex deadlock")

[bwh: Backported to 3.2:
 - Adjust context
 - madvise_remove() calls vmtruncate_range(), not do_fallocate()]
[luto: Backported to 3.0: Adjust context]

Cc: Hugh Dickins <hugh@veritas.com>
Cc: Miklos Szeredi <mszeredi@suse.cz>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[PG: commit e12fcd38abe8a869cbabd77724008f1cf812a3e7 in v3.0.37]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
mm/madvise.c