Message ID | 1437522016-23226-1-git-send-email-mdroth@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
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 <mdroth@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) > {
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) {
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 <mdroth@linux.vnet.ibm.com> --- hw/ppc/spapr_drc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)