Changelog v0 -> v1: * Added Dennis's ROB * Dropped for now "RDMA/verbs: Drop uverbs_ex_mask" patch, I'm waiting for mlx5 shared code in order to avoid unnecessary merge conflicts. * Added patch to convert __u32 to kernel type * Simplified more command flags checks * Rebased --------------------------------------------------------------------------- Hi, This series comes as an outcome of [1] which was sent to rdma-rc and it should be applied on top of that patch. During review process of that patch, we realized that the ib_uverbs_write() has number of flaws and this series tries to fix them: 1. Localize all processing and verification code in specific functions. 2. Fix the command mask insufficient checks. 3. Simplify code to allow drop uverbs_ex_mask and in the future we will drop uverbs_mask too. 4. Fix differences in error codes. Thanks [1] https://marc.info/?l=linux-rdma&m=151851719021404&w=2 Leon Romanovsky (14): RDMA/uverbs: Convert command mask validity check function to be bool RDMA/uverbs: Update sizeof users RDMA/uverbs: Refactor flags checks and update return value RDMA/uverbs: Fail as early as possible if not enough header data was provided RDMA/uverbs: Return not supported error code for unsupported commands RDMA/uverbs: Unify return values of not supported command RDMA/uverbs: Refactor command header processing RDMA/uverbs: Properly check command supported mask RDMA/uverbs: Move uncontext check before SRCU read lock RDMa/uverbs: Copy ex_hdr outside of SRCU read lock RDMA/uverbs: Refactor the header validation logic RDMA/uverbs: Replace user's types with kernel's types RDMA/uverbs: Reduce number of command header flags checks RDMA/verbs: Return proper error code for not supported system call drivers/infiniband/core/uverbs_main.c | 214 +++++++++++++++------------------- drivers/infiniband/core/verbs.c | 46 ++++---- include/uapi/rdma/ib_user_verbs.h | 5 +- 3 files changed, 121 insertions(+), 144 deletions(-) -- 2.16.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html