linux/drivers/infiniband
Mike Marciniszyn 16170d9c10 IB/hfi1: Rework debugfs to use SRCU
The debugfs RCU trips many debug kernel warnings because of potential
sleeps with an RCU read lock held. This includes both user copy calls
and slab allocations throughout the file.

This patch switches the RCU to use SRCU for file remove/access
race protection.

In one case, the SRCU is implicit in the use of the raw debugfs file
object and just works.

In the seq_file case, a wrapper around seq_read() and seq_lseek() is
used to enforce the SRCU using the debugfs supplied functions
debugfs_use_file_start() and debugfs_use_file_stop().

The sychronize_rcu() is deleted since the SRCU prevents the remove
access race.

The RCU locking is kept for qp_stats since the QP hash list is
protected using the non-sleepable RCU.

Reviewed-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-09-02 14:26:55 -04:00
..
core IB/core: Fix use after free in send_leave function 2016-09-02 14:06:27 -04:00
hw IB/hfi1: Rework debugfs to use SRCU 2016-09-02 14:26:55 -04:00
sw IB/rdmvat: Fix double vfree() in rvt_create_qp() error path 2016-08-22 15:00:42 -04:00
ulp IB/ipoib: Fix memory corruption in ipoib cm mode connect flow 2016-09-02 14:07:38 -04:00
Kconfig Soft RoCE driver 2016-08-04 11:13:12 -04:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00