2e1fa90ecb
The problem is that if "sl" is a symbolic link, a lookup on "sl/" will be flagged as the last component. Thus VOP_LOOKUP will lock the parent directory if LOCKPARENT is set. In order for the symbolic link to be resolved, this lock needs to be released. namei() would test for this by checking if ni_pathlen == 1, which it wouldn't as "/" is left in the name, and namei() would not unlock the parent. The next call to lookup() to resolve the symbolic link would fail as the parent was still locked.