Files
android_kernel_xiaomi_sm8450/fs
Al Viro c2338f2dc7 lock_parent: don't step on stale ->d_parent of all-but-freed one
Dentry that had been through (or into) __dentry_kill() might be seen
by shrink_dentry_list(); that's normal, it'll be taken off the shrink
list and freed if __dentry_kill() has already finished.  The problem
is, its ->d_parent might be pointing to already freed dentry, so
lock_parent() needs to be careful.

We need to check that dentry hasn't already gone into __dentry_kill()
*and* grab rcu_read_lock() before dropping ->d_lock - the latter makes
sure that whatever we see in ->d_parent after dropping ->d_lock it
won't be freed until we drop rcu_read_lock().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-06-12 00:29:13 -04:00
..
2014-05-06 13:04:59 -07:00
2014-06-12 00:18:51 -04:00
2014-06-12 00:18:51 -04:00
2014-06-12 00:18:51 -04:00
2014-06-12 00:18:51 -04:00
2014-06-12 00:18:51 -04:00
2014-05-06 17:39:45 -04:00
2014-06-12 00:18:51 -04:00
2013-12-04 12:27:46 +01:00
2014-06-12 00:18:51 -04:00
2014-01-25 03:14:05 -05:00
2014-06-12 00:18:51 -04:00
2014-06-12 00:18:51 -04:00
2014-05-06 17:39:36 -04:00
2013-12-05 16:36:21 -06:00
2013-10-24 23:34:54 -04:00
2014-04-19 13:23:31 -07:00
2014-05-06 17:32:52 -04:00
2014-05-06 17:31:10 -04:00
2013-11-09 00:16:20 -05:00
2013-10-24 23:34:54 -04:00
2014-02-07 16:08:57 -08:00
2014-02-07 16:08:57 -08:00
2014-04-01 23:19:09 -04:00
2013-11-23 22:33:47 -08:00
2014-05-06 17:39:42 -04:00
2014-04-01 23:19:08 -04:00
2014-04-01 23:19:08 -04:00
2014-04-01 23:19:09 -04:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:31 -05:00
2014-04-16 11:53:08 -07:00