On Mon, 2017-07-31 at 10:09 +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > The "lg" variable is declared as int so in all places where > this variable is used as a shift operand, the output will be > int too. > > This produces the following smatch warning: > drivers/infiniband/hw/mthca/mthca_cmd.c:701 mthca_map_cmd() warn: > should '1 << lg' be a 64 bit type? > > Simple declaration of "1" to be "1ULL" will fix the issue. > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx> > --- > drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/mthca/mthca_cmd.c b/drivers/infiniband/hw/mthca/mthca_cmd.c > index 9d83a53c0c67..1052c35f2e75 100644 > --- a/drivers/infiniband/hw/mthca/mthca_cmd.c > +++ b/drivers/infiniband/hw/mthca/mthca_cmd.c > @@ -698,7 +698,7 @@ static int mthca_map_cmd(struct mthca_dev *dev, u16 op, struct mthca_icm *icm, > for (i = 0; i < mthca_icm_size(&iter) >> lg; ++i) { > if (virt != -1) { > pages[nent * 2] = cpu_to_be64(virt); > - virt += 1 << lg; > + virt += 1ULL << lg; > } > > pages[nent * 2 + 1] = Hello Leon, Is my analysis correct that lg can be equal to or larger than 32? If so, isn't this patch a bug fix that needs a "Fixes:" tag? Thanks, Bart.-- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html