OSDN Git Service

proc: use "unsigned int" in proc_fill_cache()
authorAlexey Dobriyan <adobriyan@gmail.com>
Fri, 8 Jun 2018 00:10:10 +0000 (17:10 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 8 Jun 2018 00:34:38 +0000 (17:34 -0700)
All those lengths are unsigned as they should be.

Link: http://lkml.kernel.org/r/20180423213751.GC9043@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/base.c
fs/proc/fd.c
fs/proc/internal.h

index 97af285..720205a 100644 (file)
@@ -1846,7 +1846,7 @@ const struct dentry_operations pid_dentry_operations =
  * by stat.
  */
 bool proc_fill_cache(struct file *file, struct dir_context *ctx,
-       const char *name, int len,
+       const char *name, unsigned int len,
        instantiate_t instantiate, struct task_struct *task, const void *ptr)
 {
        struct dentry *child, *dir = file->f_path.dentry;
@@ -3222,7 +3222,7 @@ int proc_pid_readdir(struct file *file, struct dir_context *ctx)
             iter.task;
             iter.tgid += 1, iter = next_tgid(ns, iter)) {
                char name[10 + 1];
-               int len;
+               unsigned int len;
 
                cond_resched();
                if (!has_pid_permissions(ns, iter.task, HIDEPID_INVISIBLE))
@@ -3549,7 +3549,7 @@ static int proc_task_readdir(struct file *file, struct dir_context *ctx)
             task;
             task = next_tid(task), ctx->pos++) {
                char name[10 + 1];
-               int len;
+               unsigned int len;
                tid = task_pid_nr_ns(task, ns);
                len = snprintf(name, sizeof(name), "%u", tid);
                if (!proc_fill_cache(file, ctx, name, len,
index 05b9893..81882a1 100644 (file)
@@ -248,7 +248,7 @@ static int proc_readfd_common(struct file *file, struct dir_context *ctx,
                struct file *f;
                struct fd_data data;
                char name[10 + 1];
-               int len;
+               unsigned int len;
 
                f = fcheck_files(files, fd);
                if (!f)
index 93eb190..50cb22a 100644 (file)
@@ -163,7 +163,7 @@ extern loff_t mem_lseek(struct file *, loff_t, int);
 /* Lookups */
 typedef struct dentry *instantiate_t(struct dentry *,
                                     struct task_struct *, const void *);
-extern bool proc_fill_cache(struct file *, struct dir_context *, const char *, int,
+bool proc_fill_cache(struct file *, struct dir_context *, const char *, unsigned int,
                           instantiate_t, struct task_struct *, const void *);
 
 /*