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

Re: [Xen-devel] [PATCH] tools/libxc: Correct XC_DOM_PAGE_SIZE() to return a long long



On Thu, Nov 19, 2015 at 02:45:41PM +0000, Andrew Cooper wrote:
> c/s abdf3c5b "libxc: create p2m list outside of kernel mapping if supported"
> introduces a use which Coverity objects to; an int used to mask a uint64_t.
> 
> The result needs to be signed to allow ~XC_DOM_PAGE_SIZE() to function

$ git grep XC_DOM_PAGE_SIZE

tools/libxc/include/xc_dom.h:#define XC_DOM_PAGE_SIZE(dom)   (1 << 
(dom)->arch_hooks
tools/libxc/include/xc_dom.h:    unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_core.c:    unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_core.c:    unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_core.c:    unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_core.c:    unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_core.c:    page_size = XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_core.c:         (dom->parms.p2m_base & 
(XC_DOM_PAGE_SIZE(dom) - 1
tools/libxc/xc_dom_elfloader.c:    elf->dest_size = pages * 
XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_hvmloader.c:    elf->dest_size = pages * 
XC_DOM_PAGE_SIZE(dom);
tools/libxc/xc_dom_x86.c:    memset(l3tab, 0, XC_DOM_PAGE_SIZE(dom));

There is no use for ~XC_DOM_PAGE_SIZE.

And what is the possible scenario you want that?

> correctly, and long long to function properly in 32bit builds.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
>  tools/libxc/include/xc_dom.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h
> index 6f0c6e0..2176216 100644
> --- a/tools/libxc/include/xc_dom.h
> +++ b/tools/libxc/include/xc_dom.h
> @@ -249,7 +249,7 @@ struct xc_dom_arch {
>  void xc_dom_register_arch_hooks(struct xc_dom_arch *hooks);
>  
>  #define XC_DOM_PAGE_SHIFT(dom)  ((dom)->arch_hooks->page_shift)
> -#define XC_DOM_PAGE_SIZE(dom)   (1 << (dom)->arch_hooks->page_shift)
> +#define XC_DOM_PAGE_SIZE(dom)   (1LL << (dom)->arch_hooks->page_shift)
>  
>  /* --- main functions ---------------------------------------------- */
>  
> -- 
> 2.1.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.