diff options
Diffstat (limited to 'fs/namei.c')
| -rw-r--r-- | fs/namei.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/namei.c b/fs/namei.c index 937f9d50c84..5f4cdf3ad91 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -2131,6 +2131,11 @@ struct dentry *lookup_one_len(const char *name, struct dentry *base, int len)  	if (!len)  		return ERR_PTR(-EACCES); +	if (unlikely(name[0] == '.')) { +		if (len < 2 || (len == 2 && name[1] == '.')) +			return ERR_PTR(-EACCES); +	} +  	while (len--) {  		c = *(const unsigned char *)name++;  		if (c == '/' || c == '\0')  |