All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fs: Fix internal type confusion in getdents system calls
@ 2019-06-27  9:50 Florian Weimer
  0 siblings, 0 replies; only message in thread
From: Florian Weimer @ 2019-06-27  9:50 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Alexander Viro, linux-kernel

The callback functions use a signed int type, but the callers have
only verified the value as an unsigned type.  This should be only
a cosmetic change because if the value wraps around, this error
check catches it:

	if (reclen > buf->count)
		return -EINVAL;

But it should be clearer to prevent the wrap-around.

Signed-off-by: Florian Weimer <fweimer@redhat.com>
---
 fs/readdir.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/readdir.c b/fs/readdir.c
index 2f6a4534e0df..d344061e387e 100644
--- a/fs/readdir.c
+++ b/fs/readdir.c
@@ -159,7 +159,7 @@ struct getdents_callback {
 	struct dir_context ctx;
 	struct linux_dirent __user * current_dir;
 	struct linux_dirent __user * previous;
-	int count;
+	unsigned int count;
 	int error;
 };
 
@@ -246,7 +246,7 @@ struct getdents_callback64 {
 	struct dir_context ctx;
 	struct linux_dirent64 __user * current_dir;
 	struct linux_dirent64 __user * previous;
-	int count;
+	unsigned int count;
 	int error;
 };
 
@@ -413,7 +413,7 @@ struct compat_getdents_callback {
 	struct dir_context ctx;
 	struct compat_linux_dirent __user *current_dir;
 	struct compat_linux_dirent __user *previous;
-	int count;
+	unsigned int count;
 	int error;
 };
 
-- 
2.21.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-06-27  9:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-27  9:50 [PATCH] fs: Fix internal type confusion in getdents system calls Florian Weimer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.