The netlink message sent with type == 0, which doesn't have any client
behind it, caused to the overflow in max_num_ops array.
Fix it by declaring zero number of ops for the first client.
Fixes: c9901724a2f1 ("RDMA/netlink: Remove netlink clients infrastructure")
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 static bool is_nl_msg_valid(unsigned int type, unsigned int op)
 {
-       static const unsigned int max_num_ops[RDMA_NL_NUM_CLIENTS - 1] = {
+       static const unsigned int max_num_ops[RDMA_NL_NUM_CLIENTS] = {
+                                 0,
                                  RDMA_NL_RDMA_CM_NUM_OPS,
                                  RDMA_NL_IWPM_NUM_OPS,
                                  0,
         */
        BUILD_BUG_ON(RDMA_NL_NUM_CLIENTS != 6);
 
-       if (type > RDMA_NL_NUM_CLIENTS - 1)
+       if (type >= RDMA_NL_NUM_CLIENTS)
                return false;
 
-       return (op < max_num_ops[type - 1]) ? true : false;
+       return (op < max_num_ops[type]) ? true : false;
 }
 
 static bool is_nl_valid(unsigned int type, unsigned int op)