Dan Carpenter
2014-10-21 14:22:49 UTC
This doesn't matter because all the callers verify "nr" before calling
but really "nr" should be unsigned. Otherwise, if we could get a
negative here then it would be able to go around our tests.
193 /* Do we need to expand? */
194 if (nr < fdt->max_fds)
^^^^^^^^^^^^^^^^^
For this test "nr" is type promoted to a high positive so we continue.
195 return 0;
196
197 /* Can we expand? */
198 if (nr >= sysctl_nr_open)
^^^^^^^^^^^^^^^^^^^^
For this test it's treated as a negative so it's less than the max.
199 return -EMFILE;
200
Signed-off-by: Dan Carpenter <***@oracle.com>
diff --git a/fs/file.c b/fs/file.c
index ee738ea..029b19b 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -184,7 +184,7 @@ static int expand_fdtable(struct files_struct *files, int nr)
* expanded and execution may have blocked.
* The files->file_lock should be held on entry, and will be held on exit.
*/
-static int expand_files(struct files_struct *files, int nr)
+static int expand_files(struct files_struct *files, unsigned int nr)
{
struct fdtable *fdt;
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
but really "nr" should be unsigned. Otherwise, if we could get a
negative here then it would be able to go around our tests.
193 /* Do we need to expand? */
194 if (nr < fdt->max_fds)
^^^^^^^^^^^^^^^^^
For this test "nr" is type promoted to a high positive so we continue.
195 return 0;
196
197 /* Can we expand? */
198 if (nr >= sysctl_nr_open)
^^^^^^^^^^^^^^^^^^^^
For this test it's treated as a negative so it's less than the max.
199 return -EMFILE;
200
Signed-off-by: Dan Carpenter <***@oracle.com>
diff --git a/fs/file.c b/fs/file.c
index ee738ea..029b19b 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -184,7 +184,7 @@ static int expand_fdtable(struct files_struct *files, int nr)
* expanded and execution may have blocked.
* The files->file_lock should be held on entry, and will be held on exit.
*/
-static int expand_files(struct files_struct *files, int nr)
+static int expand_files(struct files_struct *files, unsigned int nr)
{
struct fdtable *fdt;
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html