diff options
-rw-r--r-- | fs/namei.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/namei.c b/fs/namei.c index ae4e4c18b2ac..fbbcf0993312 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -1954,8 +1954,13 @@ OK: | |||
1954 | continue; | 1954 | continue; |
1955 | } | 1955 | } |
1956 | } | 1956 | } |
1957 | if (unlikely(!d_can_lookup(nd->path.dentry))) | 1957 | if (unlikely(!d_can_lookup(nd->path.dentry))) { |
1958 | if (nd->flags & LOOKUP_RCU) { | ||
1959 | if (unlazy_walk(nd, NULL, 0)) | ||
1960 | return -ECHILD; | ||
1961 | } | ||
1958 | return -ENOTDIR; | 1962 | return -ENOTDIR; |
1963 | } | ||
1959 | } | 1964 | } |
1960 | } | 1965 | } |
1961 | 1966 | ||