Jan Kara
4ea7772f82
udf: Fix lockdep warning from udf_symlink()
...
Lockdep is complaining about UDF:
=============================================
[ INFO: possible recursive locking detected ]
3.12.0+ #16 Not tainted
---------------------------------------------
ln/7386 is trying to acquire lock:
(&ei->i_data_sem){+.+...}, at: [<ffffffff8142f06d>] udf_get_block+0x8d/0x130
but task is already holding lock:
(&ei->i_data_sem){+.+...}, at: [<ffffffff81431a8d>] udf_symlink+0x8d/0x690
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&ei->i_data_sem);
lock(&ei->i_data_sem);
*** DEADLOCK ***
This is because we hold i_data_sem of the symlink inode while calling
udf_add_entry() for the directory. I don't think this can ever lead to
deadlocks since we never hold i_data_sem for two inodes in any other
place.
The fix is simple - move unlock of i_data_sem for symlink inode up. We
don't need it for anything when linking symlink inode to directory.
Reported-by: Christoph Hellwig <hch@infradead.org >
Signed-off-by: Jan Kara <jack@suse.cz >
2013-12-23 22:02:16 +01:00
..
2013-11-15 22:04:17 -05:00
2013-10-24 23:43:27 -04:00
2013-11-27 20:34:32 -08:00
2013-10-28 19:36:46 -04:00
2013-10-24 23:43:27 -04:00
2013-10-24 23:34:50 -04:00
2013-09-12 15:38:02 -07:00
2013-11-22 08:38:55 -08:00
2013-11-13 15:34:18 +09:00
2013-11-26 18:02:46 -08:00
2013-11-25 09:50:31 -06:00
2013-11-09 00:16:21 -05:00
2013-11-21 16:42:27 -08:00
2013-11-13 12:09:12 +09:00
2013-11-13 12:09:24 +09:00
2013-11-13 12:09:36 +09:00
2013-11-19 16:39:05 -05:00
2013-11-22 10:58:14 -08:00
2013-11-15 22:04:17 -05:00
2013-08-24 12:10:22 -04:00
2013-09-12 15:38:02 -07:00
2013-11-09 00:16:38 -05:00
2013-12-04 12:26:51 +01:00
2013-11-13 15:25:47 +09:00
2013-11-14 17:19:58 +09:00
2013-11-11 09:36:32 +09:00
2013-10-24 23:43:28 -04:00
2013-06-29 12:56:53 +04:00
2013-11-14 12:08:14 +09:00
2013-11-13 15:34:18 +09:00
2013-11-21 18:47:57 +00:00
2013-11-13 12:09:32 +09:00
2013-11-15 09:32:23 +09:00
2013-11-15 22:04:17 -05:00
2013-11-09 00:16:44 -05:00
2013-07-03 16:07:41 -07:00
2013-08-24 12:10:17 -04:00
2013-10-24 23:34:59 -04:00
2013-12-04 12:27:46 +01:00
2013-08-28 14:59:58 -04:00
2013-10-27 16:27:07 -07:00
2013-10-22 09:01:11 +01:00
2013-08-05 15:03:46 -04:00
2013-07-02 09:39:34 -07:00
2013-09-16 18:20:25 -07:00
2013-10-24 23:43:28 -04:00
2013-11-16 13:14:56 -08:00
2013-02-13 06:15:14 -08:00
2013-11-19 18:06:54 -05:00
2013-09-30 14:31:02 -07:00
2013-07-09 10:33:20 -07:00
2013-11-09 00:16:31 -05:00
2013-11-15 09:32:21 +09:00
2013-09-12 15:38:02 -07:00
2013-06-29 12:56:32 +04:00
2013-11-21 19:18:14 -08:00
2013-09-16 09:28:29 -07:00
2013-11-09 00:16:32 -05:00
2013-06-29 12:56:39 +04:00
2013-11-19 16:39:06 -05:00
2013-09-11 15:59:37 -07:00
2013-09-24 11:24:21 +02:00
2013-06-29 12:56:29 +04:00
2013-11-20 03:59:20 +00:00
2013-11-27 09:44:55 -08:00
2013-09-29 22:02:02 -04:00
2013-11-13 15:34:18 +09:00
2013-12-23 22:02:16 +01:00
2013-09-12 15:38:02 -07:00
2013-11-22 08:37:47 -08:00
2013-11-22 08:42:14 -08:00
2013-11-09 00:16:28 -05:00
2013-11-09 00:16:44 -05:00
2013-06-29 12:57:04 +04:00
2013-11-09 00:16:26 -05:00
2013-11-09 00:16:30 -05:00
2013-11-09 00:16:30 -05:00
2013-10-24 23:34:54 -04:00
2013-04-29 15:40:23 -04:00
2013-04-30 17:04:03 -07:00
2012-12-20 17:40:19 -08:00
2012-11-28 21:53:38 -05:00
2013-09-22 15:00:11 -07:00
2013-11-18 12:31:27 -07:00
2013-09-13 23:06:40 -04:00
2013-10-16 21:35:53 -07:00
2013-11-14 12:08:14 +09:00
2012-10-06 03:05:17 +09:00
2013-10-24 23:34:54 -04:00
2013-06-29 12:57:05 +04:00
2013-11-15 22:04:09 -05:00
2012-10-06 03:05:15 +09:00
2013-11-15 22:04:17 -05:00
2013-03-03 23:00:23 -05:00
2013-09-09 10:47:42 -07:00
2013-09-10 18:56:31 -04:00
2012-12-17 17:15:27 -08:00
2013-11-13 15:45:43 +09:00
2013-11-21 19:18:14 -08:00
2013-10-24 23:34:54 -04:00
2012-12-20 14:04:11 -08:00
2013-11-13 15:34:18 +09:00
2013-05-01 17:31:42 -04:00
2013-03-03 19:36:31 -08:00
2013-11-06 12:40:26 +01:00
2013-11-13 15:45:43 +09:00
2013-11-09 00:16:44 -05:00
2013-11-09 00:16:20 -05:00
2013-10-24 23:34:54 -04:00
2013-04-17 13:25:09 +01:00
2013-04-30 17:04:04 -07:00
2013-11-15 22:04:17 -05:00
2013-11-13 07:30:53 -05:00
2013-05-01 17:51:54 -07:00
2013-09-10 18:56:31 -04:00
2013-11-09 00:16:19 -05:00
2013-11-29 01:50:51 -05:00
2013-11-09 00:16:19 -05:00
2013-11-09 00:16:44 -05:00
2013-12-02 09:44:51 -08:00
2013-10-24 23:35:00 -04:00
2013-08-26 18:42:15 -07:00
2013-10-24 23:34:59 -04:00
2013-10-24 23:34:54 -04:00
2013-10-24 23:34:54 -04:00
2013-11-13 15:34:18 +09:00
2013-11-18 19:07:53 -08:00
2013-03-03 22:58:46 -05:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:31 -05:00
2013-10-12 13:12:31 -07:00
2013-11-09 00:16:20 -05:00
2013-11-13 15:45:43 +09:00
2013-05-29 12:57:34 -07:00
2013-11-09 00:16:44 -05:00
2012-10-12 13:16:48 -07:00
2012-12-20 18:50:11 -05:00