<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/infiniband/core, branch v3.17</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.17</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.17'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2014-09-22T17:05:40Z</updated>
<entry>
<title>Merge branches 'core', 'ipoib', 'iser', 'mlx4', 'ocrdma' and 'qib' into for-next</title>
<updated>2014-09-22T17:05:40Z</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2014-09-22T17:05:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3bdad2d13fa62bcb59ca2506e74ce467ea436586'/>
<id>urn:sha1:3bdad2d13fa62bcb59ca2506e74ce467ea436586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IB/core: When marshaling uverbs path, clear unused fields</title>
<updated>2014-09-22T16:46:52Z</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2014-09-02T12:32:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a59c5850f09b4c2d6ad2fc47e5e1be8d654529d6'/>
<id>urn:sha1:a59c5850f09b4c2d6ad2fc47e5e1be8d654529d6</id>
<content type='text'>
When marsheling a user path to the kernel struct ib_sa_path, need
to zero smac, dmac and set the vlan id to the "no vlan" value.

Fixes: dd5f03beb4f7 ("IB/core: Ethernet L2 attributes in verbs/cm structures")
Reported-by: Aleksey Senin &lt;alekseys@mellanox.com&gt;
Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Signed-off-by: Or Gerlitz &lt;ogerlitz@mellanox.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>IB: ib_umem_release() should decrement mm-&gt;pinned_vm from ib_umem_get</title>
<updated>2014-09-19T16:55:42Z</updated>
<author>
<name>Shawn Bohrer</name>
<email>sbohrer@rgmadvisors.com</email>
</author>
<published>2014-09-03T17:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=87773dd56d5405ac28119fcfadacefd35877c18f'/>
<id>urn:sha1:87773dd56d5405ac28119fcfadacefd35877c18f</id>
<content type='text'>
In debugging an application that receives -ENOMEM from ib_reg_mr(), I
found that ib_umem_get() can fail because the pinned_vm count has
wrapped causing it to always be larger than the lock limit even with
RLIMIT_MEMLOCK set to RLIM_INFINITY.

The wrapping of pinned_vm occurs because the process that calls
ib_reg_mr() will have its mm-&gt;pinned_vm count incremented.  Later a
different process with a different mm_struct than the one that
allocated the ib_umem struct ends up releasing it which results in
decrementing the new processes mm-&gt;pinned_vm count past zero and
wrapping.

I'm not entirely sure what circumstances cause a different process to
release the ib_umem than the one that allocated it but the kernel
stack trace of the freeing process from my situation looks like the
following:

    Call Trace:
     [&lt;ffffffff814d64b1&gt;] dump_stack+0x19/0x1b
     [&lt;ffffffffa0b522a5&gt;] ib_umem_release+0x1f5/0x200 [ib_core]
     [&lt;ffffffffa0b90681&gt;] mlx4_ib_destroy_qp+0x241/0x440 [mlx4_ib]
     [&lt;ffffffffa0b4d93c&gt;] ib_destroy_qp+0x12c/0x170 [ib_core]
     [&lt;ffffffffa0cc7129&gt;] ib_uverbs_close+0x259/0x4e0 [ib_uverbs]
     [&lt;ffffffff81141cba&gt;] __fput+0xba/0x240
     [&lt;ffffffff81141e4e&gt;] ____fput+0xe/0x10
     [&lt;ffffffff81060894&gt;] task_work_run+0xc4/0xe0
     [&lt;ffffffff810029e5&gt;] do_notify_resume+0x95/0xa0
     [&lt;ffffffff814e3dd0&gt;] int_signal+0x12/0x17

The following patch fixes the issue by storing the pid struct of the
process that calls ib_umem_get() so that ib_umem_release and/or
ib_umem_account() can properly decrement the pinned_vm count of the
correct mm_struct.

Signed-off-by: Shawn Bohrer &lt;sbohrer@rgmadvisors.com&gt;
Reviewed-by: Shachar Raindel &lt;raindel@mellanox.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>Merge branches 'core', 'cxgb4', 'ipoib', 'iser', 'iwcm', 'mad', 'misc', 'mlx4', 'mlx5', 'ocrdma' and 'srp' into for-next</title>
<updated>2014-08-14T15:58:04Z</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2014-08-14T15:58:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d087f6ad724dfbcdc3df8e0191b80d9d8d839e71'/>
<id>urn:sha1:d087f6ad724dfbcdc3df8e0191b80d9d8d839e71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IB/mad: Add user space RMPP support</title>
<updated>2014-08-11T03:36:00Z</updated>
<author>
<name>Ira Weiny</name>
<email>ira.weiny@intel.com</email>
</author>
<published>2014-08-08T23:00:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1471cb6ca67990a306500e69e52ffb28c93ccbbc'/>
<id>urn:sha1:1471cb6ca67990a306500e69e52ffb28c93ccbbc</id>
<content type='text'>
Using the new registration mechanism, define a flag that indicates the
user wishes to process RMPP messages in user space rather than have
the kernel process them.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: add new ioctl to ABI to support new registration options</title>
<updated>2014-08-11T03:36:00Z</updated>
<author>
<name>Ira Weiny</name>
<email>ira.weiny@intel.com</email>
</author>
<published>2014-08-08T23:00:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0f29b46d49b0ca50536632c6a33986c3171f5ea1'/>
<id>urn:sha1:0f29b46d49b0ca50536632c6a33986c3171f5ea1</id>
<content type='text'>
Registrations options are specified through flags.  Definitions of flags will
be in subsequent patches.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: Add dev_notice messages for various umad/mad registration failures</title>
<updated>2014-08-11T03:36:00Z</updated>
<author>
<name>Ira Weiny</name>
<email>ira.weiny@intel.com</email>
</author>
<published>2014-08-08T23:00:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9ad13a423484725324fb2c5c5ab527d6bf9d84cc'/>
<id>urn:sha1:9ad13a423484725324fb2c5c5ab527d6bf9d84cc</id>
<content type='text'>
Registration failures can be difficult to debug from userspace.  This
gives more visibility.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: Update module to [pr|dev]_* style print messages</title>
<updated>2014-08-11T03:35:39Z</updated>
<author>
<name>Ira Weiny</name>
<email>ira.weiny@intel.com</email>
</author>
<published>2014-08-08T23:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7ef5d4b0463c095a994890131918d3301d8404ee'/>
<id>urn:sha1:7ef5d4b0463c095a994890131918d3301d8404ee</id>
<content type='text'>
Use dev_* style print when struct device is available.

Also combine previously line broken user-visible strings as per
Documentation/CodingStyle:

"However, never break user-visible strings such as printk messages,
because that breaks the ability to grep for them."

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;

[ Remove PFX so the patch actually builds.  - Roland ]

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>IB/umad: Update module to [pr|dev]_* style print messages</title>
<updated>2014-08-11T02:50:07Z</updated>
<author>
<name>Ira Weiny</name>
<email>ira.weiny@intel.com</email>
</author>
<published>2014-08-08T23:00:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f426a40eb695d315466f130618db30cafb27db90'/>
<id>urn:sha1:f426a40eb695d315466f130618db30cafb27db90</id>
<content type='text'>
Use dev_* style print when struct device is available.

Also combine previously line broken user-visible strings as per
Documentation/CodingStyle:

"However, never break user-visible strings such as printk messages,
because that breaks the ability to grep for them."

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/iwcm: Use a default listen backlog if needed</title>
<updated>2014-08-05T14:33:24Z</updated>
<author>
<name>Steve Wise</name>
<email>swise@opengridcomputing.com</email>
</author>
<published>2014-07-25T14:11:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2f0304d21867476394cd51a54e97f7273d112261'/>
<id>urn:sha1:2f0304d21867476394cd51a54e97f7273d112261</id>
<content type='text'>
If the user creates a listening cm_id with backlog of 0 the IWCM ends
up not allowing any connection requests at all.  The correct behavior
is for the IWCM to pick a default value if the user backlog parameter
is zero.

Lustre from version 1.8.8 onward uses a backlog of 0, which breaks
iwarp support without this fix.

Signed-off-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
</feed>
