<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/infiniband/core/cm.c, branch linux-4.20.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.20.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.20.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-10-16T14:29:24Z</updated>
<entry>
<title>RDMA/cm: Respect returned status of cm_init_av_by_path</title>
<updated>2018-10-16T14:29:24Z</updated>
<author>
<name>Leon Romanovsky</name>
</author>
<published>2018-10-11T19:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e54b6a3bcd1ec972b25a164bdf495d9e7120b107'/>
<id>urn:sha1:e54b6a3bcd1ec972b25a164bdf495d9e7120b107</id>
<content type='text'>
Add missing check for failure of cm_init_av_by_path

Fixes: e1444b5a163e ("IB/cm: Fix automatic path migration support")
Reported-by: Slava Shwartsman &lt;slavash@mellanox.com&gt;
Reviewed-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
</content>
</entry>
<entry>
<title>RDMA/core: Use dev_name instead of ibdev-&gt;name</title>
<updated>2018-09-26T19:51:48Z</updated>
<author>
<name>Jason Gunthorpe</name>
</author>
<published>2018-09-20T22:42:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=896de0090a85f4c3a2b37fc0f46215a73c5b5429'/>
<id>urn:sha1:896de0090a85f4c3a2b37fc0f46215a73c5b5429</id>
<content type='text'>
These return the same thing but dev_name is a more conventional use of the
kernel API.

Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Reviewed-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Reviewed-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
Reviewed-by: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Introduce and use sgid_attr in CM requests</title>
<updated>2018-07-26T15:47:47Z</updated>
<author>
<name>Parav Pandit</name>
</author>
<published>2018-07-16T08:50:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cee104334c98dd04e9dd4d9a4fa4784f7f6aada9'/>
<id>urn:sha1:cee104334c98dd04e9dd4d9a4fa4784f7f6aada9</id>
<content type='text'>
For RoCE, when CM requests are received for RC and UD connections,
netdevice of the incoming request is unavailable. Because of that CM
requests are always forwarded to init_net namespace.

Now that we have the GID attribute available, introduce SGID attribute in
incoming CM requests and refer to the netdevice of it.  This is similar to
existing SGID attribute field in outgoing CM requests for RC and UD
transports.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Reviewed-by: Daniel Jurgens &lt;danielj@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB/cm: Remove unused and erroneous msg sequence encoding</title>
<updated>2018-07-09T17:39:28Z</updated>
<author>
<name>Håkon Bugge</name>
</author>
<published>2018-07-04T10:48:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=87a37ce9e400e40daee537ff95343e3c94743c6d'/>
<id>urn:sha1:87a37ce9e400e40daee537ff95343e3c94743c6d</id>
<content type='text'>
In cm_form_tid(), a two bit message sequence number is OR'ed into bit
31-30 of the lower TID value.

After commit f06d26537559 ("IB/cm: Randomize starting comm ID"), the
local_id is XOR'ed with a 32-bit random value. Hence, bit 31-30 in the
lower TID now has an arbitrarily value and it makes no sense to OR in
the message sequence number.

Adding to that, the evolution in use of IDR routines in cm_alloc_id()
has always had the possibility of returning a value with bit 30 set.

In addition, said bits are never checked.

Hence, remove the encoding and the corresponding enum.

Signed-off-by: Håkon Bugge &lt;haakon.bugge@oracle.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB/cm: Use sgid_attr from the AV</title>
<updated>2018-06-25T20:19:57Z</updated>
<author>
<name>Parav Pandit</name>
</author>
<published>2018-06-19T07:59:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8872d53e9b7fcf650f0e4be40887b3ad5210e33'/>
<id>urn:sha1:a8872d53e9b7fcf650f0e4be40887b3ad5210e33</id>
<content type='text'>
Prior patches now ensure that the AV has a sgid_attr, if one would have
been required.  Instead of querying for one, take it directly from the AH.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *'</title>
<updated>2018-06-25T20:19:57Z</updated>
<author>
<name>Parav Pandit</name>
</author>
<published>2018-06-19T07:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=398391071f2576bbc6351bcb92c78fc432190ac3'/>
<id>urn:sha1:398391071f2576bbc6351bcb92c78fc432190ac3</id>
<content type='text'>
While processing a path record entry in CM messages the associated GID
attribute is now also supplied.

Currently for RoCE a netdevice's net namespace pointer and ifindex are
stored in path record entry. Both of these fields of the netdev can change
anytime while processing CM messages. Additionally storing net namespace
without holding reference will lead to use-after-free crash. Therefore it
is removed. Netdevice information for RoCE is instead provided via
referenced gid attribute in ib_cm requests.

Such a design leads to a situation where the kernel can crash when the net
pointer becomes invalid. However today it is always initialized to
init_net, which cannot become invalid. In order to support processing
packets in any arbitrary namespace of the received packet, it is necessary
to avoid such conditions.

This patch removes the dependency on the net pointer and ifindex; instead
it will rely on SGID attribute which contains a pointer to netdev.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB/cm: Pass the sgid_attr through various events</title>
<updated>2018-06-25T20:19:57Z</updated>
<author>
<name>Parav Pandit</name>
</author>
<published>2018-06-19T07:59:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=815d456ef21a132b60ce67908d289235e9bb896c'/>
<id>urn:sha1:815d456ef21a132b60ce67908d289235e9bb896c</id>
<content type='text'>
Make the sgid_attr available along with path information to the event
consumer, this allows the consumer to keep using the same GID table entry
as the event is related to.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB: Make init_ah_attr_grh_fields set sgid_attr</title>
<updated>2018-06-25T20:19:56Z</updated>
<author>
<name>Parav Pandit</name>
</author>
<published>2018-06-19T07:59:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa74f4878d61c83244ad8613082989b60a566ca4'/>
<id>urn:sha1:aa74f4878d61c83244ad8613082989b60a566ca4</id>
<content type='text'>
Use the sgid and other information from the path record to figure out the
sgid_attrs.

Store the selected table entry in the sgid_attr for everything else to
use.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB: Make ib_init_ah_attr_from_wc set sgid_attr</title>
<updated>2018-06-25T20:19:56Z</updated>
<author>
<name>Parav Pandit</name>
</author>
<published>2018-06-19T07:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7403217656dcf6c51f09d0bca7a12db0de8934a'/>
<id>urn:sha1:b7403217656dcf6c51f09d0bca7a12db0de8934a</id>
<content type='text'>
The work completion is inspected to determine what dgid table entry was
used to receieve the packet, produces a sgid_attr that matches and sticks
it in the ah_attr.

All callers of this function are now required to release the ah_attr on
success.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
</content>
</entry>
<entry>
<title>IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs</title>
<updated>2018-06-18T17:11:26Z</updated>
<author>
<name>Jason Gunthorpe</name>
</author>
<published>2018-06-13T07:22:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d97099fe53ed9ab8b17d084bed0099feb08a48c1'/>
<id>urn:sha1:d97099fe53ed9ab8b17d084bed0099feb08a48c1</id>
<content type='text'>
Introduce AH attribute copy, move and replace APIs to be used by core and
provider drivers.

In CM code flow when ah attribute might be re-initialized twice while
processing incoming request, or initialized once while from path record
while sending out CM requests. Therefore use rdma_move_ah_attr API to
handle such scenarios instead of memcpy().

Provider drivers keeps a copy ah_attr during the lifetime of the ah.
Therefore, use rdma_replace_ah_attr() which conditionally release
reference to old ah_attr and holds reference to new attribute whose
referrence is released when the AH is freed.

Signed-off-by: Parav Pandit &lt;parav@mellanox.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@mellanox.com&gt;
</content>
</entry>
</feed>
