udf: Fix deadlock in udf_release_file()
authorJan Kara <jack@suse.cz>
Mon, 20 Feb 2012 16:49:56 +0000 (17:49 +0100)
committerJan Kara <jack@suse.cz>
Wed, 29 Feb 2012 20:53:48 +0000 (21:53 +0100)
commita0391a3ae91d301c0e59368531a4de5f0b122bcf
tree26425274ff44d43a1a369bf91c7cc5a78756b30d
parentb2527bfa535956d99663718b9d9aac0b8fe3f017
udf: Fix deadlock in udf_release_file()

udf_release_file() can be called from munmap() path with mmap_sem held.  Thus
we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
i_mutex is not needed in udf_release_file() anymore since protection by
i_data_sem is enough to protect from races with write and truncate.

CC: stable@vger.kernel.org (2.6.38 & later)
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/file.c