Re: [PATCH rdma-next 06/31] IB/ipoib: Avoid memory leak if neigh destination was changed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 16 Nov 2017, at 09:30, Erez Shitrit <erezsh@xxxxxxxxxxxxxxxxxx> wrote:
> 
> On Wed, Nov 15, 2017 at 5:39 PM, Jason Gunthorpe <jgg@xxxxxxxx> wrote:
>> On Wed, Nov 15, 2017 at 09:01:07AM +0200, Erez Shitrit wrote:
>>>>>      if (!IS_ERR_OR_NULL(ah)) {
>>>>> +             /* check there is no mismatch from the request */
>>>>> +             if (memcmp(pathrec->dgid.raw, path->pathrec.dgid.raw,
>>>>> +                        sizeof(union ib_gid))) {
>>>>> +                     pr_warn("%s got PathRec for gid %pI6 while asked for %pI6\n",
>>>>> +                             dev->name, pathrec->dgid.raw, path->pathrec.dgid.raw);
>>>>> +                     /* overwrite the response from the sm  before copy to the db */
>>>>> +                     memcpy(pathrec->dgid.raw, path->pathrec.dgid.raw,
>>>>> +                            sizeof(union ib_gid));
>>>> 
>>>> This doesn't seem like it should be a warning, and replacing the
>>>> good DGID from the SA with local garbage seems really wrong.
>>> 
>>> IPoIB is L2 driver and should act as a pipe and cannot add its opinion
>>> about what is a good or a garbage GID.
>> 
>> Which is why ipoib should not override the result from the SA.
> 
> It override only the DGID in the record, and that for IPoIB uses only,
> not the ah which is the important.
> otherwise if the host will re-ask again for that DGID it will not be
> found in IPoIB database, and new record will be created and so on till
> the end of all the device memory.

Isn’t the correct solution to mask away the 16-bit subnet prefix when looking up a unicast DGID in the database?


Thxs, Håkon

> 
>> 
>> It needs to work in a way where it looks up a DGID from the LLADDR and
>> gets back a wire GRH and LRH which come from SA.
> 
> For that there is the ah object, this object is used as it came from the SA.
> 
>> 
>>> If the host is asking for specific mac address, IPoIB should return
>>> the response for the original request/mac and should not decide what
>>> is good for the host.
>> 
>> No, it is up to the SA to return the GRH to put in the packets, it
>> should never be changed in any way by a ULP.
> 
> The change is only for the ULP, the user/host has no idea of that, and
> it gets the same ah that came from the SA.
> 
>> 
>> Jason
> --
> 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

--
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



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux