All of lore.kernel.org
 help / color / mirror / Atom feed
* request for 4.14-stable: 940efcc8889f ("RDMA/uverbs: Protect from attempts to create flows on unsupported QP")
@ 2018-07-29 18:08 Sudip Mukherjee
  2018-07-30 12:12 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 2+ messages in thread
From: Sudip Mukherjee @ 2018-07-29 18:08 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: stable, syzkaller, Noa Osherovich, Leon Romanovsky, Jason Gunthorpe

[-- Attachment #1: Type: text/plain, Size: 89 bytes --]

Hi Greg,

This was missing in 4.14-stable. Please apply to your queue.

--
Regards
Sudip

[-- Attachment #2: 0005-RDMA-uverbs-Protect-from-attempts-to-create-flows-on.patch --]
[-- Type: text/x-diff, Size: 1768 bytes --]

>From 4c9252a8f092e69c9671109ede7090591dee2e8f Mon Sep 17 00:00:00 2001
From: Leon Romanovsky <leonro@mellanox.com>
Date: Sun, 24 Jun 2018 11:23:42 +0300
Subject: [PATCH] RDMA/uverbs: Protect from attempts to create flows on unsupported QP

commit 940efcc8889f0d15567eb07fc9fd69b06e366aa5 upstream

Flows can be created on UD and RAW_PACKET QP types. Attempts to provide
other QP types as an input causes to various unpredictable failures.

The reason is that in order to support all various types (e.g. XRC), we
are supposed to use real_qp handle and not qp handle and expect to
driver/FW to fail such (XRC) flows. The simpler and safer variant is to
ban all QP types except UD and RAW_PACKET, instead of relying on
driver/FW.

Cc: <stable@vger.kernel.org> # 3.11
Fixes: 436f2ad05a0b ("IB/core: Export ib_create/destroy_flow through uverbs")
Cc: syzkaller <syzkaller@googlegroups.com>
Reported-by: Noa Osherovich <noaos@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
---
 drivers/infiniband/core/uverbs_cmd.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
index 186dce6bba8f..b8229d7b0ff5 100644
--- a/drivers/infiniband/core/uverbs_cmd.c
+++ b/drivers/infiniband/core/uverbs_cmd.c
@@ -3376,6 +3376,11 @@ int ib_uverbs_ex_create_flow(struct ib_uverbs_file *file,
 		goto err_uobj;
 	}
 
+	if (qp->qp_type != IB_QPT_UD && qp->qp_type != IB_QPT_RAW_PACKET) {
+		err = -EINVAL;
+		goto err_put;
+	}
+
 	flow_attr = kzalloc(sizeof(*flow_attr) + cmd.flow_attr.num_of_specs *
 			    sizeof(union ib_flow_spec), GFP_KERNEL);
 	if (!flow_attr) {
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: request for 4.14-stable: 940efcc8889f ("RDMA/uverbs: Protect from attempts to create flows on unsupported QP")
  2018-07-29 18:08 request for 4.14-stable: 940efcc8889f ("RDMA/uverbs: Protect from attempts to create flows on unsupported QP") Sudip Mukherjee
@ 2018-07-30 12:12 ` Greg Kroah-Hartman
  0 siblings, 0 replies; 2+ messages in thread
From: Greg Kroah-Hartman @ 2018-07-30 12:12 UTC (permalink / raw)
  To: Sudip Mukherjee
  Cc: stable, syzkaller, Noa Osherovich, Leon Romanovsky, Jason Gunthorpe

On Sun, Jul 29, 2018 at 07:08:14PM +0100, Sudip Mukherjee wrote:
> Hi Greg,
> 
> This was missing in 4.14-stable. Please apply to your queue.

Also missing in 4.9 and 4.17, so I've added it everywhere, thanks!

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-07-30 13:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-29 18:08 request for 4.14-stable: 940efcc8889f ("RDMA/uverbs: Protect from attempts to create flows on unsupported QP") Sudip Mukherjee
2018-07-30 12:12 ` Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.