Skip to contentSkip to conversation

fs/file.c: silence a static checker warning

PATCH New Dan Carpenter 1 participant 1 message Oct 21, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fs/file.c: silence a static checker warning

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

fs/file.c +1 -1
index ee738ea..029b19b 100644
@@ -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;