ext4: fix possible use-after-free in ext4_remove_li_request()
authorLukas Czerner <lczerner@redhat.com>
Fri, 20 May 2011 17:55:29 +0000 (13:55 -0400)
committerSteve Conklin <sconklin@canonical.com>
Fri, 15 Jul 2011 17:20:52 +0000 (12:20 -0500)
commita440db18b83077ad3c40b7e23cceff2147916bea
treea80553179a1c0385fc0f086d7fd264b1d6ab84c9
parent0b9483fd8f9bff9f10db3713201d0a48e58c31bd
ext4: fix possible use-after-free in ext4_remove_li_request()

BugLink: http://bugs.launchpad.net/bugs/793702

commit 1bb933fb1fa8e4cb337a0d5dfd2ff4c0dc2073e8 upstream.

We need to take reference to the s_li_request after we take a mutex,
because it might be freed since then, hence result in accessing old
already freed memory. Also we should protect the whole
ext4_remove_li_request() because ext4_li_info might be in the process of
being freed in ext4_lazyinit_thread().

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
fs/ext4/super.c