Files
kernel-tenderloin-3.0/fs
Jan Kara 608620c3e7 udf: Fix deadlock when converting file from in-ICB one to normal one
commit d2eb8c359309ec45d6bf5b147303ab8e13be86ea upstream.

During BKL removal in 2.6.38, conversion of files from in-ICB format to normal
format got broken. We call ->writepage with i_data_sem held but udf_get_block()
also acquires i_data_sem thus creating A-A deadlock.

We fix the problem by dropping i_data_sem before calling ->writepage() which is
safe since i_mutex still protects us against any changes in the file. Also fix
pagelock - i_data_sem lock inversion in udf_expand_file_adinicb() by dropping
i_data_sem before calling find_or_create_page().

Reported-by: Matthias Matiak <netzpython@mail-on.us>
Tested-by: Matthias Matiak <netzpython@mail-on.us>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-12 11:35:09 -08:00
..
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-05-19 16:55:28 +09:30
2011-07-17 23:20:29 -04:00
2011-12-21 12:57:44 -08:00
2011-11-11 09:35:59 -08:00
2011-06-20 17:53:24 -05:00
2011-03-31 11:26:23 -03:00
2012-01-06 14:13:52 -08:00
2011-03-31 11:26:23 -03:00
2011-06-03 18:24:58 -04:00
2011-04-14 16:06:56 -07:00
2011-07-17 23:21:35 -04:00
2011-07-06 12:15:16 -07:00
2011-07-06 10:41:13 -07:00
2011-05-26 10:01:43 -06:00
2011-05-23 19:58:53 +02:00
2011-06-03 18:24:58 -04:00