summaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-10-23 17:11:40 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2010-10-26 03:26:11 +0200
commit7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f (patch)
tree88787e77ba8a253d0a26aeda4bd5e58532d592e0 /net/socket.c
parentfs: remove inode_add_to_list/__inode_add_to_list (diff)
downloadlinux-7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f.tar.xz
linux-7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f.zip
new helper: ihold()
Clones an existing reference to inode; caller must already hold one. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c
index abf3e2561521..d223725f99e5 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -377,7 +377,7 @@ static int sock_alloc_file(struct socket *sock, struct file **f, int flags)
&socket_file_ops);
if (unlikely(!file)) {
/* drop dentry, keep inode */
- atomic_inc(&path.dentry->d_inode->i_count);
+ ihold(path.dentry->d_inode);
path_put(&path);
put_unused_fd(fd);
return -ENFILE;