Skip to content

Commit

Permalink
namei: make sure nd->depth is always valid
Browse files Browse the repository at this point in the history
Zero it in set_nameidata() rather than in path_init().  That way
it always matches the number of valid nd->stack[] entries.
Since terminate_walk() does zero it (after having emptied the
stack), we don't need to reinitialize it in subsequent path_init().

Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Al Viro committed Apr 7, 2021
1 parent 0642296 commit 7962c7d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion fs/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,7 @@ static void __set_nameidata(struct nameidata *p, int dfd, struct filename *name)
{
struct nameidata *old = current->nameidata;
p->stack = p->internal;
p->depth = 0;
p->dfd = dfd;
p->name = name;
p->path.mnt = NULL;
Expand Down Expand Up @@ -2320,7 +2321,6 @@ static const char *path_init(struct nameidata *nd, unsigned flags)

nd->flags = flags;
nd->state |= ND_JUMPED;
nd->depth = 0;

nd->m_seq = __read_seqcount_begin(&mount_lock.seqcount);
nd->r_seq = __read_seqcount_begin(&rename_lock.seqcount);
Expand Down

0 comments on commit 7962c7d

Please sign in to comment.