On Tue, Jul 21, 2015 at 06:40:16PM -0500, Michael Roth wrote:
> Current code for generating DRC type mask generates the following warning with
> clang -fsanitizer=undefined -fsanitizer=shift:
> 
>   runtime error: left shift of negative value -1
> 
> Fix this by calculating the mask like a sane person would.
> 
> Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com>

Sorry I missed this before - please CC me on patches to the spapr
code.  I actually already wrote an equivalent patch and put it in
spapr-next.


> ---
>  hw/ppc/spapr_drc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
> index ee87432..0e7d725 100644
> --- a/hw/ppc/spapr_drc.c
> +++ b/hw/ppc/spapr_drc.c
> @@ -32,7 +32,7 @@
>  
>  #define DRC_CONTAINER_PATH "/dr-connector"
>  #define DRC_INDEX_TYPE_SHIFT 28
> -#define DRC_INDEX_ID_MASK (~(~0 << DRC_INDEX_TYPE_SHIFT))
> +#define DRC_INDEX_ID_MASK ((1 << DRC_INDEX_TYPE_SHIFT) - 1)
>  
>  static sPAPRDRConnectorTypeShift get_type_shift(sPAPRDRConnectorType type)
>  {

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: pgp8338gFQg_C.pgp
Description: PGP signature

Reply via email to