]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/uverbs: Protect from attempts to create flows on unsupported QP
authorLeon Romanovsky <leonro@mellanox.com>
Sun, 24 Jun 2018 08:23:42 +0000 (11:23 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 25 Jun 2018 21:27:51 +0000 (15:27 -0600)
commit6ad426dd905d4d35f12578da51a09230d70627b7
tree88b310c0ddc0236e46886c1f506c4b13d7f5661f
parente695b5df734ea93e1ec22d4388d19a0b6c5852a2
RDMA/uverbs: Protect from attempts to create flows on unsupported QP

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: 949b4c9d733d ("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>
drivers/infiniband/core/uverbs_cmd.c