Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1539566

Re: [PATCH] uio-hv-generic: store physical addresses instead of virtual

From Stephen Hemminger <stephen@networkplumber.org>
Newsgroups linux.kernel
Subject Re: [PATCH] uio-hv-generic: store physical addresses instead of virtual
Date 2016-12-09 18:30 +0100
Message-ID <sMx9D-64e-1@gated-at.bofh.it> (permalink)
References <sMrQC-2JA-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri,  9 Dec 2016 12:44:40 +0100
Arnd Bergmann <arnd@arndb.de> wrote:

> gcc warns about the newly added driver when phys_addr_t is wider than
> a pointer:
> 
> drivers/uio/uio_hv_generic.c: In function 'hv_uio_mmap':
> drivers/uio/uio_hv_generic.c:71:17: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
>     virt_to_phys((void *)info->mem[mi].addr) >> PAGE_SHIFT,
> drivers/uio/uio_hv_generic.c: In function 'hv_uio_probe':
> drivers/uio/uio_hv_generic.c:140:5: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
>    = (phys_addr_t)dev->channel->ringbuffer_pages;
> drivers/uio/uio_hv_generic.c:147:3: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
>    (phys_addr_t)vmbus_connection.int_page;
> drivers/uio/uio_hv_generic.c:153:3: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
>    (phys_addr_t)vmbus_connection.monitor_pages[1];
> 
> I can't see why we store a virtual address in a phys_addr_t here,
> as the only user of that variable converts it into a physical
> address anyway, so this moves the conversion to where it logically
> fits according to the types.
> 
> Fixes: 95096f2fbd10 ("uio-hv-generic: new userspace i/o driver for VMBus")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks, the code was inherited from outside, and only tested on x86_64.
Not sure which platform and GCC version generates the warning, was this just W=1?

Acked-by: Stephen Hemminger <sthemmin@microsoft.com>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] uio-hv-generic: store physical addresses instead of virtual Arnd Bergmann <arnd@arndb.de> - 2016-12-09 12:50 +0100
  Re: [PATCH] uio-hv-generic: store physical addresses instead of  virtual Stephen Hemminger <stephen@networkplumber.org> - 2016-12-09 18:30 +0100
    Re: [PATCH] uio-hv-generic: store physical addresses instead of virtual Arnd Bergmann <arnd@arndb.de> - 2016-12-09 21:40 +0100

csiph-web