Re: [PATCH 05/20] afs: Implement @sys substitution handling

From: Al Viro
Date: Fri Apr 06 2018 - 02:51:28 EST


On Thu, Apr 05, 2018 at 09:30:04PM +0100, David Howells wrote:
> +static struct dentry *afs_lookup_atsys(struct inode *dir, struct dentry *dentry,
> + struct key *key)
> +{

> + ret = lookup_one_len(buf, parent, len);

Er... Parent is locked only shared here and lookup_one_len() seriously depends
upon exclusive lock. As it is, race with lookup of the full name will mess the
things up very badly.