open_last_lookups(): don't abuse complete_walk() when all we want is unlazy

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2020-03-10 10:09:26 -04:00
parent f7bb959d96
commit 72287417ab

View File

@ -3147,15 +3147,11 @@ static const char *open_last_lookups(struct nameidata *nd,
BUG_ON(nd->flags & LOOKUP_RCU); BUG_ON(nd->flags & LOOKUP_RCU);
} else { } else {
/* create side of things */ /* create side of things */
/* if (nd->flags & LOOKUP_RCU) {
* This will *only* deal with leaving RCU mode - LOOKUP_JUMPED error = unlazy_walk(nd);
* has been cleared when we got to the last component we are if (unlikely(error))
* about to look up return ERR_PTR(error);
*/ }
error = complete_walk(nd);
if (unlikely(error))
return ERR_PTR(error);
audit_inode(nd->name, dir, AUDIT_INODE_PARENT); audit_inode(nd->name, dir, AUDIT_INODE_PARENT);
/* trailing slashes? */ /* trailing slashes? */
if (unlikely(nd->last.name[nd->last.len])) if (unlikely(nd->last.name[nd->last.len]))