[vhost:vhost 14/14] drivers/vhost/vhost.c:915:30: warning: passing argument 2 of 'access_ok' makes pointer from integer without a cast

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost
head:   51ce50c54895044f949129e595ed9a37e4d6c13a
commit: 51ce50c54895044f949129e595ed9a37e4d6c13a [14/14] vhost: new device IOTLB API
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 51ce50c54895044f949129e595ed9a37e4d6c13a
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All warnings (new ones prefixed by >>):

   drivers/vhost/vhost.c: In function 'umem_access_ok':
>> drivers/vhost/vhost.c:915:30: warning: passing argument 2 of 'access_ok' makes pointer from integer without a cast [-Wint-conversion]
         !access_ok(VERIFY_READ, uaddr, size))
                                 ^
   In file included from arch/sparc/include/asm/uaccess.h:4:0,
                    from include/linux/poll.h:11,
                    from drivers/vhost/vhost.c:21:
   arch/sparc/include/asm/uaccess_64.h:79:19: note: expected 'const void *' but argument is of type 'u64 {aka long long unsigned int}'
    static inline int access_ok(int type, const void __user * addr, unsigned long size)
                      ^
   drivers/vhost/vhost.c:918:31: warning: passing argument 2 of 'access_ok' makes pointer from integer without a cast [-Wint-conversion]
         !access_ok(VERIFY_WRITE, uaddr, size))
                                  ^
   In file included from arch/sparc/include/asm/uaccess.h:4:0,
                    from include/linux/poll.h:11,
                    from drivers/vhost/vhost.c:21:
   arch/sparc/include/asm/uaccess_64.h:79:19: note: expected 'const void *' but argument is of type 'u64 {aka long long unsigned int}'
    static inline int access_ok(int type, const void __user * addr, unsigned long size)
                      ^

vim +/access_ok +915 drivers/vhost/vhost.c

   899			struct vhost_iotlb_msg *vq_msg = &node->msg.iotlb;
   900			if (msg->iova <= vq_msg->iova &&
   901			    msg->iova + msg->size - 1 > vq_msg->iova &&
   902			    vq_msg->type == VHOST_IOTLB_MISS) {
   903				vhost_poll_queue(&node->vq->poll);
   904				list_del(&node->node);
   905				kfree(node);
   906			}
   907		}
   908	
   909		spin_unlock(&d->iotlb_lock);
   910	}
   911	
   912	static int umem_access_ok(u64 uaddr, u64 size, int access)
   913	{
   914		if ((access & VHOST_ACCESS_RO) &&
 > 915		    !access_ok(VERIFY_READ, uaddr, size))
   916			return -EFAULT;
   917		if ((access & VHOST_ACCESS_WO) &&
   918		    !access_ok(VERIFY_WRITE, uaddr, size))
   919			return -EFAULT;
   920		return 0;
   921	}
   922	
   923	int vhost_process_iotlb_msg(struct vhost_dev *dev,

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux