Commit a9dbf5c8 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma

Pull rdma fixes from Doug Ledford:
 "Third round of -rc fixes for 4.10 kernel:

   - two security related issues in the rxe driver

   - one compile issue in the RDMA uapi header"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
  RDMA: Don't reference kernel private header from UAPI header
  IB/rxe: Fix mem_check_range integer overflow
  IB/rxe: Fix resid update
parents aca9fa0c 646ebd41
...@@ -59,9 +59,11 @@ int mem_check_range(struct rxe_mem *mem, u64 iova, size_t length) ...@@ -59,9 +59,11 @@ int mem_check_range(struct rxe_mem *mem, u64 iova, size_t length)
case RXE_MEM_TYPE_MR: case RXE_MEM_TYPE_MR:
case RXE_MEM_TYPE_FMR: case RXE_MEM_TYPE_FMR:
return ((iova < mem->iova) || if (iova < mem->iova ||
((iova + length) > (mem->iova + mem->length))) ? length > mem->length ||
-EFAULT : 0; iova > mem->iova + mem->length - length)
return -EFAULT;
return 0;
default: default:
return -EFAULT; return -EFAULT;
......
...@@ -479,7 +479,7 @@ static enum resp_states check_rkey(struct rxe_qp *qp, ...@@ -479,7 +479,7 @@ static enum resp_states check_rkey(struct rxe_qp *qp,
goto err2; goto err2;
} }
resid = mtu; qp->resp.resid = mtu;
} else { } else {
if (pktlen != resid) { if (pktlen != resid) {
state = RESPST_ERR_LENGTH; state = RESPST_ERR_LENGTH;
......
...@@ -37,7 +37,6 @@ ...@@ -37,7 +37,6 @@
#define IB_USER_VERBS_H #define IB_USER_VERBS_H
#include <linux/types.h> #include <linux/types.h>
#include <rdma/ib_verbs.h>
/* /*
* Increment this value if any changes that break userspace ABI * Increment this value if any changes that break userspace ABI
...@@ -548,11 +547,17 @@ enum { ...@@ -548,11 +547,17 @@ enum {
}; };
enum { enum {
IB_USER_LEGACY_LAST_QP_ATTR_MASK = IB_QP_DEST_QPN /*
* This value is equal to IB_QP_DEST_QPN.
*/
IB_USER_LEGACY_LAST_QP_ATTR_MASK = 1ULL << 20,
}; };
enum { enum {
IB_USER_LAST_QP_ATTR_MASK = IB_QP_RATE_LIMIT /*
* This value is equal to IB_QP_RATE_LIMIT.
*/
IB_USER_LAST_QP_ATTR_MASK = 1ULL << 25,
}; };
struct ib_uverbs_ex_create_qp { struct ib_uverbs_ex_create_qp {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment