diff mbox

IB: vmw_pvrdma: info leak in pvrdma_alloc_ucontext()

Message ID 20170104064110.GA8957@elgon.mountain (mailing list archive)
State Superseded
Headers show

Commit Message

Dan Carpenter Jan. 4, 2017, 6:41 a.m. UTC
We need to clear out the ->reserved member so we don't disclose
uninitialized stack information.

Fixes: 29c8d9eba550 ("IB: Add vmw_pvrdma driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
There are a bunch of ways to fix this...  I just the most mindless one
because I can never guess what IB prefers.  Feel free to fix it however
you feel is appropriate and give me a Reported-by tag.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Adit Ranadive Jan. 4, 2017, 5:40 p.m. UTC | #1
On Wed, Jan 04, 2017 at 09:41:11AM +0300, Dan Carpenter wrote:
> We need to clear out the ->reserved member so we don't disclose
> uninitialized stack information.
> 
> Fixes: 29c8d9eba550 ("IB: Add vmw_pvrdma driver")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> There are a bunch of ways to fix this...  I just the most mindless one
> because I can never guess what IB prefers.  Feel free to fix it however
> you feel is appropriate and give me a Reported-by tag.
> 
> diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c
> index 54891370d18a..c00c27f48f46 100644
> --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c
> +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c
> @@ -339,6 +339,7 @@ struct ib_ucontext *pvrdma_alloc_ucontext(struct ib_device *ibdev,
>  	context->ctx_handle = resp->ctx_handle;
>  
>  	/* copy back to user */
> +	memset(&uresp, 0, sizeof(uresp));
>  	uresp.qp_tab_size = vdev->dsr->caps.max_qp;
>  	ret = ib_copy_to_udata(udata, &uresp, sizeof(uresp));
>  	if (ret) {
> 

Thanks Dan! I'll add this to the other fixes to be sent out.

- Adit
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c
index 54891370d18a..c00c27f48f46 100644
--- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c
+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c
@@ -339,6 +339,7 @@  struct ib_ucontext *pvrdma_alloc_ucontext(struct ib_device *ibdev,
 	context->ctx_handle = resp->ctx_handle;
 
 	/* copy back to user */
+	memset(&uresp, 0, sizeof(uresp));
 	uresp.qp_tab_size = vdev->dsr->caps.max_qp;
 	ret = ib_copy_to_udata(udata, &uresp, sizeof(uresp));
 	if (ret) {