<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/infiniband/core/cma.c, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.3.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-10-20T18:16:51Z</updated>
<entry>
<title>IB/cma: Use inner P_Key to determine netdev</title>
<updated>2015-10-20T18:16:51Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-10-20T06:53:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab3964ad2acfbb0dc5414d4c86fa6d8d690f27a1'/>
<id>urn:sha1:ab3964ad2acfbb0dc5414d4c86fa6d8d690f27a1</id>
<content type='text'>
When discussing the patches to demux ids in rdma_cm instead of ib_cm, it
was decided that it is best to use the P_Key value in the packet headers.
However, the mlx5 and ipath drivers are currently unable to send correct
P_Key values in GMP headers. They always send using a single P_Key that is
set during the GSI QP initialization.

Change the rdma_cm code to look at the P_Key value that is part of the
packet payload as a workaround. Once the drivers are fixed this patch can
be reverted.

Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to
RDMA CM")
Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Potential NULL dereference in cma_id_from_event</title>
<updated>2015-10-20T17:13:42Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-09-21T13:02:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3b51f9f6f5d91cd16afaed0c22df2c56ed5f92e'/>
<id>urn:sha1:b3b51f9f6f5d91cd16afaed0c22df2c56ed5f92e</id>
<content type='text'>
If the lookup of a listening ID failed for an AF_IB request, the code
would try to call dev_put() on a NULL net_dev.

Fixes: be688195bd08 ("IB/cma: Fix net_dev reference leak with failed
requests")
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Accept connection without a valid netdev on RoCE</title>
<updated>2015-10-06T18:25:16Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-10-06T14:56:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8cab5dab15ff5c2acc3faefdde28919b0341c11'/>
<id>urn:sha1:b8cab5dab15ff5c2acc3faefdde28919b0341c11</id>
<content type='text'>
The netdev checks recently added to RDMA CM expect a valid netdev to be
found for both InfiniBand and RoCE, but the code that find a netdev is
only implemented for InfiniBand.

Currently RoCE doesn't provide an API to find the netdev matching a
given set of parameters, so this patch just disables the netdev enforcement
for each incoming connections when the link layer is RoCE.

Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to RDMA CM")
Reported-by: Kamal Heib &lt;kamalh@mellanox.com&gt;
Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Fix net_dev reference leak with failed requests</title>
<updated>2015-08-30T22:08:28Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-08-27T12:55:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be688195bd08b1c045f89d72c07c7e3ef6516f38'/>
<id>urn:sha1:be688195bd08b1c045f89d72c07c7e3ef6516f38</id>
<content type='text'>
When no matching listening ID is found for a given request, the net_dev
that was used to find the request isn't released.

Fixes: 0b3ca768fcb0 ("IB/cma: Use found net_dev for passive connections")
Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Share ib_cm_ids between rdma_cm_ids</title>
<updated>2015-08-30T19:48:24Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=51efe394bcab3a0c511634f7ae58bb88b1686983'/>
<id>urn:sha1:51efe394bcab3a0c511634f7ae58bb88b1686983</id>
<content type='text'>
Use ib_cm_insert_listen to create listening IB CM IDs or share existing
ones if needed. When given a request on a specific CM ID, the code now
matches the request to the RDMA CM ID based on the request parameters, so
it no longer needs to rely on the ib_cm's private data matching
capabilities.

Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Use found net_dev for passive connections</title>
<updated>2015-08-30T19:48:24Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b3ca768fcb07338c99df5e3ccec99119435e321'/>
<id>urn:sha1:0b3ca768fcb07338c99df5e3ccec99119435e321</id>
<content type='text'>
When receiving a new connection in cma_req_handler, we actually already
know the net_dev that is used for the connection's creation. Instead of
calling cma_translate_addr to resolve the new connection id's source
address, just use the net_dev that was found.

Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Validate routing of incoming requests</title>
<updated>2015-08-30T19:48:23Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f887f2ac87c25124a90adf97d76b258eba6295cb'/>
<id>urn:sha1:f887f2ac87c25124a90adf97d76b258eba6295cb</id>
<content type='text'>
Pass incoming request parameters through the relevant IPv4/IPv6 routing
tables and make sure the network stack is configured to handle such
requests.

Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Add net_dev and private data checks to RDMA CM</title>
<updated>2015-08-30T19:48:23Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c21b5bcef73e6649429c1d9b39f5065e756d857'/>
<id>urn:sha1:4c21b5bcef73e6649429c1d9b39f5065e756d857</id>
<content type='text'>
Instead of relying on a the ib_cm module to check an incoming CM request's
private data header, add these checks to the RDMA CM module. This allows a
following patch to to clean up the ib_cm interface and remove the code that
looks into the private headers. It will also allow supporting namespaces in
RDMA CM by making these checks namespace aware later on.

Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Helper functions to access port space IDRs</title>
<updated>2015-08-30T19:48:23Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aac978e15230fccb7a3e9190eb58732925019300'/>
<id>urn:sha1:aac978e15230fccb7a3e9190eb58732925019300</id>
<content type='text'>
Add helper functions to access the IDRs by port-space and port number.

Pass around the port-space enum in cma.c instead of using pointers to
port-space IDRs.

Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Yotam Kenneth &lt;yotamke@mellanox.com&gt;
Signed-off-by: Shachar Raindel &lt;raindel@mellanox.com&gt;
Signed-off-by: Guy Shapiro &lt;guysh@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Refactor RDMA IP CM private-data parsing code</title>
<updated>2015-08-30T19:48:22Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c505f70a28d943e15a6702ca75bea4f332a03ed'/>
<id>urn:sha1:0c505f70a28d943e15a6702ca75bea4f332a03ed</id>
<content type='text'>
When receiving a connection request, rdma_cm needs to associate the request
with a network device, in order to disambiguate requests. To do this, it
needs to know the request's destination IP. For this the module needs to
allow getting this information from the private data in the request packet,
instead of relying on the information already being in the listening RDMA
CM ID.

When creating a new incoming connection ID, the code in
cma_save_ip{4,6}_info can no longer rely on the listener's private data to
find the port number, so it reads it from the requested service ID.

Signed-off-by: Guy Shapiro &lt;guysh@mellanox.com&gt;
Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Yotam Kenneth &lt;yotamke@mellanox.com&gt;
Signed-off-by: Shachar Raindel &lt;raindel@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
</feed>
