Yiwen Jiang
75f82eaa50
ocfs2: fix NULL pointer dereference when dismount and ocfs2rec simultaneously
...
2 nodes cluster, say Node A and Node B, mount the same ocfs2 volume, and
create a file 1.
Node A Node B
open 1, get open lock
rm 1, and then add 1 to orphan_dir
storage link down,
o2hb_write_timeout
->o2quo_disk_timeout
->emergency_restart
at the moment, Node B dismount and do
ocfs2rec simultaneously
1) ocfs2_dismount_volume
->ocfs2_recovery_exit
->wait_event(osb->recovery_event)
->flush_workqueue(ocfs2_wq)
2) ocfs2rec
->queue_work(&journal->j_recovery_work)
->ocfs2_recover_orphans
->ocfs2_commit_truncate
->queue_delayed_work(&osb->osb_truncate_log_wq)
In ocfs2_recovery_exit, it flushes workqueue and then releases system
inodes. When doing ocfs2rec, it will call ocfs2_flush_truncate_log
which will try to get sys_root_inode, and NULL pointer dereference
occurs.
Signed-off-by: Yiwen Jiang <jiangyiwen@huawei.com>
Signed-off-by: joyce <xuejiufei@huawei.com>
Signed-off-by: Joseph Qi <joseph.qi@huawei.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-01-21 16:19:42 -08: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-12-12 15:25:10 -08:00
2013-11-13 15:34:18 +09:00
2013-12-13 09:11:38 -08:00
2013-12-27 15:14:45 -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
2014-01-06 14:00:23 -05: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
2014-01-02 12:18:04 +00:00
2013-11-13 12:09:32 +09:00
2013-11-24 16:33:41 -07: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-10-31 20:37:15 +01:00
2013-12-08 21:14:59 -05:00
2013-10-27 16:27:07 -07:00
2013-10-22 09:01:11 +01:00
2014-01-17 11:50:07 -08:00
2013-08-05 15:03:46 -04:00
2013-11-24 16:33:41 -07:00
2013-09-16 18:20:25 -07:00
2013-10-24 23:43:28 -04:00
2013-12-05 13:05:48 -08:00
2013-12-10 20:34:44 -05:00
2014-01-15 14:19:42 +07:00
2014-01-21 16:19:41 -08:00
2013-11-09 00:16:31 -05:00
2014-01-21 16:19:42 -08:00
2013-09-12 15:38:02 -07:00
2013-06-29 12:56:32 +04:00
2013-12-12 18:19:26 -08:00
2013-12-20 13:12:01 -08: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-24 01:02:50 +00:00
2014-01-13 14:05:13 -08:00
2013-09-29 22:02:02 -04:00
2013-11-13 15:34:18 +09:00
2013-10-18 22:39:07 +02:00
2013-09-12 15:38:02 -07:00
2014-01-10 12:39:38 -06:00
2013-12-22 11:03:49 -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-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
2013-10-24 23:34:54 -04:00
2013-06-29 12:57:05 +04:00
2013-11-15 22:04:09 -05:00
2014-01-17 17:29:36 -08:00
2013-09-09 10:47:42 -07:00
2013-09-10 18:56:31 -04:00
2014-01-02 14:40:30 -08:00
2013-11-21 19:18:14 -08:00
2013-10-24 23:34:54 -04:00
2013-11-13 15:34:18 +09:00
2013-11-06 12:40:26 +01:00
2013-12-14 04:21:26 +08: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-11-15 22:04:17 -05:00
2013-11-13 07:30:53 -05:00
2013-11-27 13:28:24 -08:00
2013-09-10 18:56:31 -04:00
2013-11-09 00:16:19 -05:00
2013-12-12 10:39:01 -08:00
2014-01-20 15:49:44 -08: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-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-11-09 00:16:44 -05:00