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>
Jay Sternberg [Fri, 9 Oct 2015 18:41:06 +0000 (11:41 -0700)]
xeon-phi: ibscif bug 2575: Allow xeon-phi support for Knights Landing
New patch file for the compat-rdma tech-preview/xeon-phi directory
The Knights Landing (KNL) version of Intel mpss will use the scif driver that
was upstreamed to kernel.org. Although the data structure layout is the same
as the Knights Corner (KNC) version, some functions have changed. The
scif_get_nodeIDs call is renamed to scif_get_node_ids and the scif_pci_info is
removed. These changes impact the ibscif and ib_qib drivers for KNL. The
attached patch will allow OFED-3.18-1 --with-xeon-phi to work with both
versions of mpss. This new patch file should be added to the compat-rdma
source rpm in the tech-preview/xeon-phi directory.
Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>