[SCSI] lpfc: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
authorStephen Boyd <sboyd@codeaurora.org>
Thu, 12 May 2011 23:50:06 +0000 (16:50 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 29 Jun 2011 15:40:35 +0000 (10:40 -0500)
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 include/linux/blkdev.h:12,
                 from drivers/scsi/lpfc/lpfc_debugfs.c:21:
In function 'copy_from_user':
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>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_debugfs.c

index ffe82d1..30b25c5 100644 (file)
@@ -1147,7 +1147,8 @@ static int lpfc_idiag_cmd_get(const char __user *buf, size_t nbytes,
 {
        char mybuf[64];
        char *pbuf, *step_str;
-       int bsize, i;
+       int i;
+       size_t bsize;
 
        /* Protect copy from user */
        if (!access_ok(VERIFY_READ, buf, nbytes))