From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from quartz.orcorp.ca ([184.70.90.242]:59694 "EHLO quartz.orcorp.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751840AbcFBQwT (ORCPT ); Thu, 2 Jun 2016 12:52:19 -0400 Date: Thu, 2 Jun 2016 10:52:14 -0600 From: Jason Gunthorpe To: Max Gurtovoy Cc: matanb@mellanox.com, leon@leon.nu, sagi@grimberg.me, linux-rdma@vger.kernel.org, stable@vger.kernel.org, robert@leblancnet.us Subject: Re: [PATCH] IB/core: Fix bit curruption in ib_device_cap_flags structure Message-ID: <20160602165214.GB11685@obsidianresearch.com> References: <1464859685-18666-1-git-send-email-maxg@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1464859685-18666-1-git-send-email-maxg@mellanox.com> Sender: stable-owner@vger.kernel.org List-ID: On Thu, Jun 02, 2016 at 12:28:05PM +0300, Max Gurtovoy wrote: > ib_device_cap_flags 64-bit expansion caused caps overlapping > and made consumers read wrong device capabilities. For example > IB_DEVICE_SG_GAPS_REG was falsely read by the iser driver causing > it to use a non-existing capability. This happened because signed > int becomes sign extended when converted it to u64. Fix this by > casting IB_DEVICE_ON_DEMAND_PAGING enumeration to ULL. > > Fixes: fb532d6a79b9 ('IB/{core, ulp} Support above 32 possible device capability flags') > Reported-by: Robert LeBlanc > Cc: Stable #[v4.6+] > Acked-by: Sagi Grimberg > Signed-off-by: Max Gurtovoy > Signed-off-by: Matan Barak > include/rdma/ib_verbs.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) Reviewed-by: Jason Gunthorpe