Sergey Gorenko [Mon, 21 Aug 2017 20:59:05 +0000 (23:59 +0300)]
Fixed SRP support on RHEL7.2 by using blk_iopoll API in ib_core
On RHEL7.3 CONFIG_IRQ_POLL option is supported but not on RHEL7.2. So, SRP
fails to create cq with IB_POLL_SOFTIRQ.
Using blk_iopoll API instead of irq_poll in this case.
Signed-off-by: Sergey Gorenko <sergeygo@mellanox.com> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
IB/srp: force reconnect_delay module param to exceed fast_io_fail_tmo
This commit works-around a rare warning caused by a race condition between
srp_post_send and srp_rport_reconnect.
When reconnect_delay <= fast_io_fail_tmo, race condition of calling
srp_terminate_io() while srp_queuecommand() is running is not safe.
Forcing reconnect_delay > fast_io_fail_tmo causes all I/O to fail
before trying to reconnect to target.
Signed-off-by: Israel Rukshin <israelr@mellanox.com> Signed-off-by: Max Gurtovoy <maxg@mellanox.com> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
Final updates to ccl ABI between host and card to match OFED 4.8 and kernel 4.9.
Add some missing fields, update sizes of existing fields, and keep aligned on 8 byte
boundary. Bump driver version to 1.2. These changes are not backward compatible.
Signed-off-by: Patrick McCormick <patrick.m.mccormick@intel.com>
0003 patch should replace the existing and includes these changes:
Update ccl-direct ABI to pass PD correct local_dma_lkey.
Update ccl-direct ABI to pass cq flags.
Zero initialize sa path_recs in ibp_server to avoid null pointer deref.
The 0008 patch will be new:
Forward port QP multicast changes from 3.18-3 for mlx4 and mlx5
kernel QPs. This is needed for IPoIB with ccl-direct.
Signed-off-by: Mccormick, Patrick M <patrick.m.mccormick@intel.com>
Adit Ranadive [Wed, 15 Mar 2017 06:44:23 +0000 (23:44 -0700)]
vmw_pvrdma: Update patches with fixes
Added the following fixes:
- Put IB device in PORT_ACTIVE state when module is loaded on boot
- Zero out alloc_ucontext uresp
- Move hardcoded page numbers to macro
- Remove unused variables in post_send/post_recv
In ibp cm server change list modification patterns to be atomic. Before adding and removing
from a list would go something like:
1) Find item in list while holding reader lock
2) …
3) Search again for found item while holding writer lock, remove it
Multiple threads could end up holding pointers to items in the list and by the time they get to
deleting it, it may or may not exist in list.
Also: the ibp cm event handler for cm events should always return 0, if it returns non-zero ib_cm
will attempt to remove the cm_id, which is not correct (and causes ib_cm worker thread to dump
stack and hang).
Finally: trivial change an ibscif printk log level to KERN_INFO vs ALERT.
Signed-off-by: Patrick McCormick <patrick.m.mccormick@intel.com> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
Adit Ranadive [Wed, 21 Dec 2016 03:00:26 +0000 (19:00 -0800)]
compat-rdma: Build support for VMW_PVRDMA driver in OFED 4.8
Modified the build scripts to compile the VMware PVRDMA driver. I tested
this by compiling and installing the compat-rdma stuff in RHEL 7.3.
This is updated to reflect the new driver name.
Added the PVRDMA driver files as a tech preview. These patches are
based on the ones submitted upstream to the linux-rdma mailing list.
These apply cleanly to the Linux 4.8 tree.
1) kunmap -> kunmap_atomic , this fixes the ibscif polling thread switching into atomic mode.
2) Add include for tasklet in ibscf driver. SLES 12.1/2 kernels need this to compile ibscf.ko. This is our only “backport” needed for these kernels.
Signed-off-by: Mccormick, Patrick M <patrick.m.mccormick@intel.com> Signed-off-by: Jerrie Coffman <jerrie.l.coffman@intel.com> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
Pawel Schulfer [Tue, 6 Dec 2016 21:26:40 +0000 (13:26 -0800)]
Support RHEL7.2 and SLES12SP1 for QIB in OFED-4.8
Changes included in this patch:
1) Check for write_iter in file_operations structure
2) Check for inode_lock function in fs.h
3) Check for simple_positive function in dcache.h
4) Check for __GFP_RECLAIM in gfp.h
Adit Ranadive [Wed, 2 Nov 2016 21:20:42 +0000 (14:20 -0700)]
IB/pvrdma: Add Paravirtual RDMA driver patches for OFED-4.8
Added the PVRDMA driver files as a tech preview. These patches are
based on the ones submitted upstream to the linux-rdma mailing list.
These apply cleanly to a Linux 4.8-rc8 tree.
Jay Sternberg [Thu, 6 Oct 2016 18:37:42 +0000 (11:37 -0700)]
xeon-phi: add tech preview patches for xeon-phi
builds under 4.8 and RHEL 7.2. since mpss is not available for 4.8, creating an
empty /lib/modules/4.8.0/scif.symvers file will allow compilation to occur.
IB/security: Restrict use of the write() interface
The drivers/infiniband stack uses write() as a replacement for
bi-directional ioctl(). This is not safe. There are ways to
trigger write calls that result in the return structure that
is normally written to user space being shunted off to user
specified kernel memory instead.
For the immediate repair, detect and deny suspicious accesses to
the write API.
For long term, update the user space libraries and the kernel API
to something that doesn't present the same security vulnerabilities
(likely a structured ioctl() interface).
The impacted uAPI interfaces are generally only available if
hardware from drivers/infiniband is installed in the system.
Reported-by: Jann Horn <jann@thejh.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
[ Expanded check to all known write() entry points ] Cc: stable@vger.kernel.org Signed-off-by: Doug Ledford <dledford@redhat.com> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
The rdma_cm cma_acquire_dev routine requires changes to handle the mic0:ib0
device. The mic0:ib0 device is used for address resolution among scif devices
within the host. The attached patch adds checks needed to locate the scif
devices.
IB/ipoib: Do not update neigh validity if not resolved yet
ipoib_neigh_get whenever tries to access specific neigh updates its
"alive" variable member, the neigh now considered as updated and will
not bee cleaned by the GC process even if it needs to be resolved again.
Jay Sternberg [Mon, 22 Feb 2016 20:17:06 +0000 (12:17 -0800)]
xeon-phi: mlx5_ib bug fix releated to large memory regions registration.
Issue described in the release notes for Mellanox OFED 2.4-1.0.4
(page 12, bug fix item number 8) also effects xeon-phi's ability to
use the mlx5_ib is kernel-mode, i.e. ipoib and other ulp's.
Descripion for those release notes:
"Fixed an issue related to large memory regions registration. The problem
mainly occurred on PPC systems due to the large page size, and on non PPC
systems with large pages (contig pages)"
Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>