diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-10 16:20:35 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-10 16:20:35 +0100 |
commit | 3e25eb9c4bb649acdddb333d10774b640190f727 (patch) | |
tree | d51009557e95437dd7b7ef6b0f3a51aacccec743 /fs/coda/cnode.c | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir... (diff) | |
download | linux-3e25eb9c4bb649acdddb333d10774b640190f727.tar.xz linux-3e25eb9c4bb649acdddb333d10774b640190f727.zip |
securityfs: fix object creation races
inode needs to be fully set up before we feed it to d_instantiate().
securityfs_create_file() does *not* do so; it sets ->i_fop and
->i_private only after we'd exposed the inode. Unfortunately,
that's done fairly deep in call chain, so the amount of churn
is considerable. Helper functions killed by substituting into
their solitary call sites, dead code removed. We finally can
bury default_file_ops, now that the final value of ->i_fop is
available (and assigned) at the point where inode is allocated.
Reviewed-by: James Morris <jmorris@namei.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/coda/cnode.c')
0 files changed, 0 insertions, 0 deletions