author: Linus Torvalds <torvalds@linux-foundation.org> 2021-04-17 09:27:04 -0700
committer: Linus Torvalds <torvalds@linux-foundation.org> 2021-04-17 11:39:49 -0700
commit: 0c93ac69407d63a85be0129aa55ffaec27ffebd3
parent: 88a5af943985fb43b4c9472b5abd9c0b9705533d
Commit Summary:
Diffstat:
1 file changed, 6 insertions, 0 deletions
diff --git a/fs/readdir.c b/fs/readdir.c
index 19434b3c982c..09e8ed7d4161 100644
--- a/fs/readdir.c
+++ b/fs/readdir.c
@@ -150,6 +150,9 @@ static int fillonedir(struct dir_context *ctx, const char *name, int namlen,
if (buf->result)
return -EINVAL;
+ buf->result = verify_dirent_name(name, namlen);
+ if (buf->result < 0)
+ return buf->result;
d_ino = ino;
if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
buf->result = -EOVERFLOW;
@@ -405,6 +408,9 @@ static int compat_fillonedir(struct dir_context *ctx, const char *name,
if (buf->result)
return -EINVAL;
+ buf->result = verify_dirent_name(name, namlen);
+ if (buf->result < 0)
+ return buf->result;
d_ino = ino;
if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
buf->result = -EOVERFLOW;