Hi Roland,
Please find the third revision of a patchset against create_flow/destroy_flow
and associated extended command scheme.
These are fixes that *must* be applied before making the new uverbs
widely available in v3.13:
- patches 1 and 2 address a warning reported by sparse.
- patch 3 handle an uncommon type of extended command.
- patch 4, 5 and 6 ensure that commands will be extensible:
- one patch add a missing check of comp_mask;
- the other patches add checks on reserved fields.
- patch 7 fix an error path which was not setting the error code.
- patch 8 ensure the response buffer of an extended command
is a valid memory region for userspace. Doing the check earlier,
on the *full* response buffer, might be safer.
- patch 9 prevent out of bound access and underflow.
Please review and apply for v3.13.
Changes from patchset v2 [1]:
- add a patch to check the input length in extended uverbs,
create_flow and destroy_flow.
Changes from patchset v1 [2]:
- add patch to verify early response buffer using access_ok(),
just like vfs_read().
Regards.
[1] [PATCH v2 for v3.13 0/8] create_flow/destroy_flow fixes for v3.13
http://marc.info/[email protected]
[2] [PATCH for v3.13 0/7] create_flow/destroy_flow fixes for v3.13
http://marc.info/[email protected]
Yann Droneaud (9):
IB/core: const'ify inbuf in struct ib_udata
IB/uverbs: remove implicit cast in INIT_UDATA()
IB/uverbs: set outbuf to NULL when no core response space is provided
IB/uverbs: check reserved field in extended command header
IB/uverbs: check comp_mask in destroy_flow
IB/uverbs: check reserved fields in create_flow
IB/uverbs: set error code when fail to consume all flow_spec items
IB/uverbs: check access to userspace response buffer in extended
command
IB/uverbs: check input length in flow steering uverbs
drivers/infiniband/core/uverbs.h | 12 ++++++------
drivers/infiniband/core/uverbs_cmd.c | 37 +++++++++++++++++++++++++----------
drivers/infiniband/core/uverbs_main.c | 21 +++++++++++++++-----
include/rdma/ib_verbs.h | 2 +-
4 files changed, 50 insertions(+), 22 deletions(-)
--
1.8.4.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html