Files
kernel/include/linux
Al Viro 1e2e547a93 do d_instantiate/unlock_new_inode combinations safely
For anything NFS-exported we do _not_ want to unlock new inode
before it has grown an alias; original set of fixes got the
ordering right, but missed the nasty complication in case of
lockdep being enabled - unlock_new_inode() does
	lockdep_annotate_inode_mutex_key(inode)
which can only be done before anyone gets a chance to touch
->i_mutex.  Unfortunately, flipping the order and doing
unlock_new_inode() before d_instantiate() opens a window when
mkdir can race with open-by-fhandle on a guessed fhandle, leading
to multiple aliases for a directory inode and all the breakage
that follows from that.

	Correct solution: a new primitive (d_instantiate_new())
combining these two in the right order - lockdep annotate, then
d_instantiate(), then the rest of unlock_new_inode().  All
combinations of d_instantiate() with unlock_new_inode() should
be converted to that.

Cc: stable@kernel.org	# 2.6.29 and later
Tested-by: Mike Marshall <hubcap@omnibond.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-05-11 15:36:37 -04:00
..
2018-03-08 13:56:24 +05:30
2018-03-29 14:29:55 -04:00
2018-04-11 10:28:37 -07:00
2018-04-10 08:38:46 -06:00
2018-03-16 10:56:13 +01:00
2018-03-31 02:15:18 +02:00
2018-03-31 02:16:26 +02:00
2018-03-31 02:14:44 +02:00
2018-03-16 15:45:51 -07:00
2018-03-16 10:55:47 +01:00
2018-03-26 15:09:38 +02:00
2018-03-12 10:05:01 +01:00
2018-03-26 15:56:44 +02:00
2018-03-31 02:15:18 +02:00
2018-02-26 09:48:42 -07:00
2018-03-26 08:53:43 -06:00
2018-04-11 10:28:35 -07:00
2018-04-11 10:28:38 -07:00
2018-02-24 01:43:47 +01:00
2018-03-13 13:29:10 -07:00
2018-04-12 09:41:19 -07:00
2018-04-11 10:28:32 -07:00
2018-04-11 10:28:39 -07:00
2018-03-26 13:14:43 -04:00
2018-03-26 13:14:43 -04:00
2018-03-26 13:14:43 -04:00
2018-03-30 12:56:22 -04:00
2018-04-11 10:28:39 -07:00
2018-03-17 14:20:55 +01:00
2018-03-01 08:33:05 -07:00
2018-04-05 21:36:24 -07:00
2018-04-05 21:36:27 -07:00