|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/public: Correct the definition of GNTTAB_CACHE_SOURCE_GREF
On Tue, Oct 17, 2017 at 03:11:51PM +0100, Andrew Cooper wrote:
> Discovered when running the XSA-232 PoC on a UBSAN-enabled hypervisor.
>
> (d79) XSA-232 PoC
> (XEN)
> ================================================================================
> (XEN) UBSAN: Undefined behaviour in grant_table.c:3217:25
> (XEN) left shift of 1 by 31 places cannot be represented in type 'int'
> (XEN) ----[ Xen-4.10.0-rc x86_64 debug=y Tainted: H ]----
>
> Update all of the GNTTAB_CACHE_* constants to be unsigned integers.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> CC: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
> CC: Jan Beulich <JBeulich@xxxxxxxx>
> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Tim Deegan <tim@xxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> CC: Julien Grall <julien.grall@xxxxxxx>
>
> This is a trivial bugfix, and is low risk for 4.10
> ---
> xen/include/public/grant_table.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/xen/include/public/grant_table.h
> b/xen/include/public/grant_table.h
> index 018036e..180d62c 100644
> --- a/xen/include/public/grant_table.h
> +++ b/xen/include/public/grant_table.h
> @@ -589,9 +589,9 @@ struct gnttab_cache_flush {
> } a;
> uint16_t offset; /* offset from start of grant */
> uint16_t length; /* size within the grant */
> -#define GNTTAB_CACHE_CLEAN (1<<0)
> -#define GNTTAB_CACHE_INVAL (1<<1)
> -#define GNTTAB_CACHE_SOURCE_GREF (1<<31)
> +#define GNTTAB_CACHE_CLEAN (1u<<0)
> +#define GNTTAB_CACHE_INVAL (1u<<1)
> +#define GNTTAB_CACHE_SOURCE_GREF (1u<<31)
> uint32_t op;
> };
> typedef struct gnttab_cache_flush gnttab_cache_flush_t;
> --
> 2.1.4
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |