mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
autofs4 - fix lockdep splat in autofs
When recursing down the locks when traversing a tree/list in get_next_positive_dentry() or get_next_positive_subdir() a lock can change from being nested to being a parent which breaks lockdep. This patch tells lockdep about what we did. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Acked-by: Ian Kent <raven@themaw.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
e188dc02d3
commit
1d6f209786
1 changed files with 2 additions and 0 deletions
|
@ -124,6 +124,7 @@ static struct dentry *get_next_positive_subdir(struct dentry *prev,
|
|||
/* Negative dentry - try next */
|
||||
if (!simple_positive(q)) {
|
||||
spin_unlock(&p->d_lock);
|
||||
lock_set_subclass(&q->d_lock.dep_map, 0, _RET_IP_);
|
||||
p = q;
|
||||
goto again;
|
||||
}
|
||||
|
@ -186,6 +187,7 @@ static struct dentry *get_next_positive_dentry(struct dentry *prev,
|
|||
/* Negative dentry - try next */
|
||||
if (!simple_positive(ret)) {
|
||||
spin_unlock(&p->d_lock);
|
||||
lock_set_subclass(&ret->d_lock.dep_map, 0, _RET_IP_);
|
||||
p = ret;
|
||||
goto again;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue