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-10-03 11:40:22 -07:00
2011-03-31 11:26:23 -03:00
2011-05-28 01:02:53 -04:00
2011-06-16 11:44:48 -04:00
2011-05-30 01:50:53 -04:00
2011-08-29 13:29:06 -07:00
2011-05-28 01:02:50 -04:00
2011-10-03 11:41:03 -07:00
2011-03-31 11:26:23 -03:00
2011-07-16 23:43:58 -04:00
2011-11-11 09:35:11 -08:00
2011-06-20 10:44:19 -04:00
2011-05-28 01:02:54 -04:00
2011-07-17 23:22:02 -04:00
2011-05-19 16:55:28 +09:30
2011-05-26 13:19:00 -07:00
2011-12-09 08:52:19 -08:00
2011-07-17 23:20:29 -04:00
2011-05-26 07:26:56 -04:00
2012-01-12 11:35:06 -08:00
2011-12-21 12:57:44 -08:00
2011-05-31 19:42:24 +09:00
2011-05-10 10:16:21 +02:00
2011-07-21 10:59:16 -07:00
2011-12-21 12:57:44 -08:00
2011-08-04 21:58:42 -07:00
2011-12-21 12:57:41 -08:00
2011-10-25 07:10:17 +02:00
2011-05-28 01:02:52 -04:00
2011-05-28 01:02:54 -04:00
2011-11-11 09:35:59 -08:00
2011-05-26 09:20:31 -07:00
2011-06-18 07:25:42 -07:00
2011-12-21 12:57:40 -08:00
2011-12-21 12:57:40 -08:00
2011-05-28 13:03:41 -07:00
2011-06-20 17:53:24 -05:00
2011-06-15 11:24:27 -04:00
2011-06-20 10:44:26 -04:00
2011-05-28 01:02:54 -04:00
2011-05-28 01:02:53 -04:00
2012-01-06 14:13:52 -08:00
2011-03-31 11:26:23 -03:00
2011-11-11 09:35:59 -08:00
2012-01-06 14:13:52 -08:00
2011-04-07 11:14:49 -07:00
2011-03-31 11:26:23 -03:00
2011-06-03 18:24:58 -04:00
2011-06-24 08:34:22 -07:00
2011-05-30 07:42:51 +02:00
2011-12-21 12:57:35 -08:00
2011-05-16 11:05:00 -07:00
2011-11-11 09:36:22 -08:00
2011-04-14 16:06:56 -07:00
2012-01-12 11:35:05 -08:00
2011-06-27 18:00:12 -07:00
2011-05-29 11:19:45 -07:00
2011-06-12 17:45:41 -04:00
2011-05-28 01:02:50 -04:00
2011-06-20 10:42:34 -04:00
2012-01-12 11:35:09 -08:00
2011-07-17 23:21:35 -04:00
2012-01-06 14:14:12 -08:00
2011-03-24 10:16:26 -07:00
2011-05-28 12:02:09 -04:00
2011-06-20 10:44:00 -04:00
2011-07-06 12:15:16 -07:00
2011-11-11 09:36:29 -08:00
2011-05-03 10:10:51 +10:00
2011-05-28 14:44:46 +02:00
2011-11-11 09:37:07 -08:00
2011-06-16 11:44:46 -04:00
2011-04-09 15:53:56 +02:00
2011-12-21 12:57:36 -08:00
2011-05-31 16:33:35 +02:00
2011-03-24 10:16:26 -07:00
2011-05-25 08:39:26 -07:00
2011-11-11 09:35:29 -08:00
2011-10-16 14:14:54 -07:00
2011-03-23 19:47:13 -07:00
2011-04-14 16:06:56 -07:00
2011-04-28 11:28:20 -07:00
2011-04-17 10:42:01 -07:00
2011-10-03 11:40:44 -07:00
2011-03-23 19:47:13 -07:00
2011-06-27 18:00:13 -07:00
2011-03-24 21:17:51 -04:00
2011-05-26 09:52:14 -07:00
2011-07-19 22:09:30 -07:00
2011-07-06 10:41:13 -07:00
2011-05-25 08:39:26 -07:00
2011-05-26 10:01:43 -06:00
2011-11-11 09:37:08 -08:00
2011-12-21 12:57:36 -08:00
2011-12-21 12:57:36 -08:00
2011-05-23 19:58:53 +02:00
2011-11-11 09:36:19 -08:00
2011-11-11 09:37:08 -08:00
2011-06-03 18:24:58 -04:00
2011-03-24 10:16:26 -07:00
2011-06-14 11:46:14 +02:00
2011-03-23 19:47:13 -07:00
2011-05-28 12:02:09 -04:00