> -----Original Message----- > From: Jason Gunthorpe [mailto:jgg@xxxxxxxx] > Sent: Tuesday, May 01, 2018 1:44 PM > To: Parav Pandit <parav@xxxxxxxxxxxx> > Cc: Doug Ledford <dledford@xxxxxxxxxx>; Leon Romanovsky > <leon@xxxxxxxxxx>; RDMA mailing list <linux-rdma@xxxxxxxxxxxxxxx>; Raju > Rangoju <rajur@xxxxxxxxxxx>; Leon Romanovsky <leonro@xxxxxxxxxxxx> > Subject: Re: [PATCH rdma-rc] RDMA/cma: Zero out qp and ah attribute > > On Tue, May 01, 2018 at 06:26:09PM +0000, Parav Pandit wrote: > > > On Tue, May 01, 2018 at 02:05:13PM -0400, Doug Ledford wrote: > > > > On Mon, 2018-04-30 at 15:56 -0600, Jason Gunthorpe wrote: > > > > > On Sun, Apr 29, 2018 at 10:46:46AM +0300, Leon Romanovsky wrote: > > > > > > From: Parav Pandit <parav@xxxxxxxxxxxx> > > > > > > > > > > > > Commit given in fixes tag introduced an accurate check to > > > > > > validate device, port, index by referring to the cache layer > > > > > > for querying GIDs for all link layers (IB, RoCE and iWarp). > > > > > > > > > > > > When rdmacm tries to modify the QP to RTR state for kernel > > > > > > consumers, qp and ah attributes are uninitialized. Each > > > > > > transport layer (IB/iWarp) initializes them depending on transport type. > > > > > > However qp ah_attr are not used for iWarp and remained > > > > > > uninitialized, which is further used in ib_query_gid() call. > > > > > > This results into a failure to query the GID due to an invalid > > > > > > GID index coming from the uninitialized stack memory. > > > > > > This is reported and discussed in thread [1]. > > > > > > > > > > What is ib_query_gid supposed to do for iWarp? > > > > > > > > Return the sole entry in the GID table. But, you pass the index, > > > > so you have to know to pass index 0. In this case, because of > > > > uninitialized memory in the ah_attr, it's being told to try and > > > > return another entry that is invalid. > > > > > > Ok, but what is in the 0 index of the GID table for iWarp? > > It's a GID derived based on mac address of netdev. > > It is not used for anything right? > Right. Please go through commit log. It is in Leon's queue. https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git/commit/?h=rdma-next&id=8858e62f3ff9b6cd0242edeb89b47e61a2c24a5f -- 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