* 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).