diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 433f287ee548391183c63d80b4db3736454a7f28..8b8f5e6d20bce2a9c4c21efe1f83c5a35a92746d 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -839,7 +839,7 @@ static int unix_mknod(const char *sun_path, umode_t mode, struct path *res)
 	 */
 	err = security_path_mknod(&path, dentry, mode, 0);
 	if (!err) {
-		err = vfs_mknod(path.dentry->d_inode, dentry, mode, 0);
+		err = vfs_mknod(d_inode(path.dentry), dentry, mode, 0);
 		if (!err) {
 			res->mnt = mntget(path.mnt);
 			res->dentry = dget(dentry);