debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
authorStephen Boyd <sboyd@codeaurora.org>
Thu, 12 May 2011 23:50:07 +0000 (16:50 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 May 2011 23:15:35 +0000 (16:15 -0700)
Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following
warning:

In file included from arch/x86/include/asm/uaccess.h:573,
                 from include/linux/uaccess.h:5,
                 from include/linux/highmem.h:7,
                 from include/linux/pagemap.h:10,
                 from fs/debugfs/file.c:18:
In function 'copy_from_user',
    inlined from 'write_file_bool' at fs/debugfs/file.c:435:
arch/x86/include/asm/uaccess_64.h:65: warning: call to
'copy_from_user_overflow' declared with attribute warning:
copy_from_user() buffer size is not provably correct

presumably due to buf_size being signed causing GCC to fail to
see that buf_size can't become negative.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/debugfs/file.c

index 568304d058a3e2f908f4d7e7fdf01033d1c6b62b..90f76575c05636d0b6bed9ea350cf13cc44c51a1 100644 (file)
@@ -428,7 +428,7 @@ static ssize_t write_file_bool(struct file *file, const char __user *user_buf,
                               size_t count, loff_t *ppos)
 {
        char buf[32];
-       int buf_size;
+       size_t buf_size;
        bool bv;
        u32 *val = file->private_data;