xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Re: xen/gntdev: add ioctl for grant copy
@ 2016-01-13 19:56 Dan Carpenter
  2016-01-14 10:07 ` David Vrabel
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2016-01-13 19:56 UTC (permalink / raw)
  To: david.vrabel; +Cc: xen-devel

Hello David Vrabel,

The patch a4cdb556cae0: "xen/gntdev: add ioctl for grant copy" from
Dec 2, 2014, leads to the following static checker warning:

	drivers/xen/gntdev.c:775 gntdev_get_page()
	warn: mask and shift to zero

drivers/xen/gntdev.c
   761  static int gntdev_get_page(struct gntdev_copy_batch *batch, void __user *virt,
   762                             bool writeable, unsigned long *gfn)
   763  {
   764          unsigned long addr = (unsigned long)virt;
   765          struct page *page;
   766          unsigned long xen_pfn;
   767          int ret;
   768  
   769          ret = get_user_pages_fast(addr, 1, writeable, &page);
   770          if (ret < 0)
   771                  return ret;
   772  
   773          batch->pages[batch->nr_pages++] = page;
   774  
   775          xen_pfn = page_to_xen_pfn(page) + XEN_PFN_DOWN(addr & ~PAGE_MASK);
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is zero most of the time.  Did you intend the bitwise negate?

   776          *gfn = pfn_to_gfn(xen_pfn);
   777  
   778          return 0;
   779  }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: xen/gntdev: add ioctl for grant copy
  2016-01-13 19:56 xen/gntdev: add ioctl for grant copy Dan Carpenter
@ 2016-01-14 10:07 ` David Vrabel
  0 siblings, 0 replies; 2+ messages in thread
From: David Vrabel @ 2016-01-14 10:07 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: xen-devel

On 13/01/16 19:56, Dan Carpenter wrote:
> Hello David Vrabel,
> 
> The patch a4cdb556cae0: "xen/gntdev: add ioctl for grant copy" from
> Dec 2, 2014, leads to the following static checker warning:
> 
> 	drivers/xen/gntdev.c:775 gntdev_get_page()
> 	warn: mask and shift to zero
> 
> drivers/xen/gntdev.c
>    761  static int gntdev_get_page(struct gntdev_copy_batch *batch, void __user *virt,
>    762                             bool writeable, unsigned long *gfn)
>    763  {
>    764          unsigned long addr = (unsigned long)virt;
>    765          struct page *page;
>    766          unsigned long xen_pfn;
>    767          int ret;
>    768  
>    769          ret = get_user_pages_fast(addr, 1, writeable, &page);
>    770          if (ret < 0)
>    771                  return ret;
>    772  
>    773          batch->pages[batch->nr_pages++] = page;
>    774  
>    775          xen_pfn = page_to_xen_pfn(page) + XEN_PFN_DOWN(addr & ~PAGE_MASK);
>                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> This is zero most of the time.  Did you intend the bitwise negate?

This is non-zero if XEN_PAGE_SIZE < PAGE_SIZE and is needed for this case.

David

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-01-14 10:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-13 19:56 xen/gntdev: add ioctl for grant copy Dan Carpenter
2016-01-14 10:07 ` David Vrabel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).