Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755589AbbLQInu (ORCPT ); Thu, 17 Dec 2015 03:43:50 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:36290 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751742AbbLQInq (ORCPT ); Thu, 17 Dec 2015 03:43:46 -0500 Subject: Re: [PATCH RESEND] infiniband:core:Add needed error path in cm_init_av_by_path To: Jason Gunthorpe References: <1450194724-7107-1-git-send-email-xerofoify@gmail.com> <5670420A.7040202@profitbricks.com> <20151215173022.GB25965@obsidianresearch.com> <56713C5F.5020507@profitbricks.com> <20151216181644.GF32594@obsidianresearch.com> Cc: Nicholas Krause , dledford@redhat.com, sean.hefty@intel.com, hal.rosenstock@gmail.com, haggaie@mellanox.com, matanb@mellanox.com, doront@mellanox.com, david.ahern@oracle.com, erezsh@mellanox.com, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org From: Michael Wang Message-ID: <567275BF.1010208@profitbricks.com> Date: Thu, 17 Dec 2015 09:43:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20151216181644.GF32594@obsidianresearch.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1637 Lines: 53 On 12/16/2015 07:16 PM, Jason Gunthorpe wrote: > On Wed, Dec 16, 2015 at 11:26:39AM +0100, Michael Wang wrote: [snip] >> >> I've rechecked the ib_init_ah_from_path() again, and found it >> still set IB_AH_GRH when the GID cache missing, but with: > > How do you mean? > > ah_attr->ah_flags = IB_AH_GRH; > ah_attr->grh.dgid = rec->dgid; > > ret = ib_find_cached_gid(device, &rec->sgid, ndev, &port_num, > &gid_index); > if (ret) { > if (ndev) > dev_put(ndev); > return ret; > } > > If find_cached_gid fails then ib_init_ah_from_path also fails. > > Is there a case where ib_find_cached_gid can succeed but not return > good data? Just for the GRH header, ib_find_cached_gid() will failed but the flag and dgid will be correct, and others are all 0 including hop limit, but may be just coincidence... As long as hop_limit > 1 means the pkg do have to pass through a router to other subnet, the fix make sense :-) Regards, Michael Wang > > I agree it would read nicer if the ah_flags and gr.dgid was moved > after the ib_find_cached_gid > >> BTW, cma_sidr_rep_handler() also call ib_init_ah_from_path() with out >> a check on return. > > That sounds like a problem. > > Jason > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/