diff options
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/dir.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 627a60a6c1b1..32771f581b67 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
@@ -643,7 +643,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | |||
643 | * O_EXCL: optimize away the lookup, but don't hash the dentry. Let | 643 | * O_EXCL: optimize away the lookup, but don't hash the dentry. Let |
644 | * the VFS handle the create. | 644 | * the VFS handle the create. |
645 | */ | 645 | */ |
646 | if (nd->flags & LOOKUP_EXCL) { | 646 | if (nd && (nd->flags & LOOKUP_EXCL)) { |
647 | d_instantiate(direntry, NULL); | 647 | d_instantiate(direntry, NULL); |
648 | return 0; | 648 | return 0; |
649 | } | 649 | } |
@@ -675,7 +675,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | |||
675 | * reduction in network traffic in the other paths. | 675 | * reduction in network traffic in the other paths. |
676 | */ | 676 | */ |
677 | if (pTcon->unix_ext) { | 677 | if (pTcon->unix_ext) { |
678 | if (!(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) && | 678 | if (nd && !(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) && |
679 | (nd->flags & LOOKUP_OPEN) && !pTcon->broken_posix_open && | 679 | (nd->flags & LOOKUP_OPEN) && !pTcon->broken_posix_open && |
680 | (nd->intent.open.flags & O_CREAT)) { | 680 | (nd->intent.open.flags & O_CREAT)) { |
681 | rc = cifs_posix_open(full_path, &newInode, nd->path.mnt, | 681 | rc = cifs_posix_open(full_path, &newInode, nd->path.mnt, |