From 372e15c5db5f3f15423a2e6e6a71b77b39026ecf Mon Sep 17 00:00:00 2001 From: Leon Romanovsky Date: Wed, 21 Feb 2018 18:12:43 +0200 Subject: RDMA/uverbs: Reduce number of command header flags checks Simplify the code by directly checking the availability of extended command flog instead of doing multiple shift operations. Signed-off-by: Leon Romanovsky Signed-off-by: Doug Ledford --- drivers/infiniband/core/uverbs_main.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'drivers/infiniband/core') diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index 2a6deecf6f76..fbba831f879e 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c @@ -657,19 +657,12 @@ static bool verify_command_idx(u32 command, bool extended) static ssize_t process_hdr(struct ib_uverbs_cmd_hdr *hdr, u32 *command, bool *extended) { - u32 flags; - - if (hdr->command & ~(u32)(IB_USER_VERBS_CMD_FLAGS_MASK | + if (hdr->command & ~(u32)(IB_USER_VERBS_CMD_FLAG_EXTENDED | IB_USER_VERBS_CMD_COMMAND_MASK)) return -EINVAL; *command = hdr->command & IB_USER_VERBS_CMD_COMMAND_MASK; - flags = (hdr->command & - IB_USER_VERBS_CMD_FLAGS_MASK) >> IB_USER_VERBS_CMD_FLAGS_SHIFT; - - *extended = flags & IB_USER_VERBS_CMD_FLAG_EXTENDED; - if (flags & ~IB_USER_VERBS_CMD_FLAG_EXTENDED) - return -EINVAL; + *extended = hdr->command & IB_USER_VERBS_CMD_FLAG_EXTENDED; if (!verify_command_idx(*command, *extended)) return -EOPNOTSUPP; -- cgit v1.2.3-59-g8ed1b