diff options
author | Jim Foraker <foraker1@llnl.gov> | 2016-11-01 23:44:12 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-12-14 20:16:11 +0300 |
commit | 22dccc5454a39427de7b87a080d026b6bf66a7b9 (patch) | |
tree | 3d0d33f5d42f44c114fb98b26f7f998f129fddf3 /drivers/infiniband/hw | |
parent | f5eabf5e5129e8ab5b3e7f50b24444aca1680e64 (diff) | |
download | linux-22dccc5454a39427de7b87a080d026b6bf66a7b9.tar.xz |
IB/rdmavt: Only put mmap_info ref if it exists
rvt_create_qp() creates qp->ip only when a qp creation request comes from
userspace (udata is not NULL). If we exceed the number of available
queue pairs however, the error path always attempts to put a kref to this
structure. If the requestor is inside the kernel, this leads to a crash.
We fix this by checking that qp->ip is not NULL before caling kref_put().
Signed-off-by: Jim Foraker <foraker1@llnl.gov>
Acked-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Acked-by: Jonathan Toppins <jtoppins@redhat.com>
Acked-by: Alex Estrin <alex.estrin@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw')
0 files changed, 0 insertions, 0 deletions