Re: [PATCH v2 libmlx5 6/6] fix undefined uuar_index value assignment
From: Jarod Wilson <hidden>
Date: 2016-07-28 16:40:01
On Thu, Jul 28, 2016 at 06:53:36PM +0300, Yishai Hadas wrote:
On 7/28/2016 4:31 AM, Jarod Wilson wrote:quoted
In the case of (attr->comp_mask & MLX5_CREATE_QP_EX2_COMP_MASK) being not true, uuar_index gets set to resp.uuar_index, but nothing ever initializes resp.uuar_index. That said, both this case, and the true case, it looks like uuar_index never gets assigned to anything but 0. In the true path, resp_ex gets memset to 0, and then nothing ever sets uuar_index. Not sure what the intended use was here, but ultimately, uuar_index is always going to be 0 with this patch (0 or undetermined garbage before). Additionally, I'm not sure if the cmd and resp size parameters passed to ibv_cmd_create_qp_ex() are correct, but they're at least larger than they might be, which should be fine. I think. But I'm just guessing here.In both cases the data comes back from the kernel driver in the vendor channel path and uuar_index gets a real value. That's why ibv_cmd_create_qp_ex gets resp_size which is really larger than struct ibv_create_qp_resp which holds the output from the IB layer. No change is needed here.
Hm. Well, coverity and clang dislike the current state, and this patch does make them happy, but I suppose I can be persuaded to ignore them. -- Jarod Wilson jarod-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html