From: Weihang Li <liweihang@hisilicon.com>
To: Doug Ledford <dledford@redhat.com>, oulijun <oulijun@huawei.com>,
"Jason Gunthorpe" <jgg@ziepe.ca>
Cc: <leon@kernel.org>, <linux-rdma@vger.kernel.org>, <linuxarm@huawei.com>
Subject: Re: [RFC PATCH V2 for-next] RDMA/hns: Add UD support for hip08
Date: Wed, 13 Nov 2019 14:47:28 +0800 [thread overview]
Message-ID: <6de24f84-c360-eb1f-9f3e-a90ff7f9a75c@hisilicon.com> (raw)
In-Reply-To: <4ab0f98e4569a9700d94173c7f3d93e00bd9635b.camel@redhat.com>
On 2019/10/22 0:45, Doug Ledford wrote:
> On Mon, 2019-10-21 at 10:58 -0400, Doug Ledford wrote:
>> On Mon, 2019-10-21 at 22:20 +0800, oulijun wrote:
>>> 在 2019/10/21 22:13, Jason Gunthorpe 写道:
>>>> On Sat, Oct 19, 2019 at 04:46:12PM +0800, Lijun Ou wrote:
>>>>> index bd78ff9..722cc5f 100644
>>>>> +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
>>>>> @@ -377,6 +377,10 @@ static int hns_roce_set_user_sq_size(struct
>>>>> hns_roce_dev *hr_dev,
>>>>> hr_qp->sge.sge_cnt = roundup_pow_of_two(hr_qp-
>>>>>> sq.wqe_cnt *
>>>>> (hr_qp-
>>>>>> sq.max_gs - 2));
>>>>>
>>>>> + if (hr_qp->ibqp.qp_type == IB_QPT_UD)
>>>>> + hr_qp->sge.sge_cnt = roundup_pow_of_two(hr_qp-
>>>>>> sq.wqe_cnt *
>>>>> + hr_qp-
>>>>>> sq.max_gs);
>>>>> +
>>>>> if ((hr_qp->sq.max_gs > 2) && (hr_dev->pci_dev->revision
>>>>> ==
>>>>> 0x20)) {
>>>>> if (hr_qp->sge.sge_cnt > hr_dev-
>>>>>> caps.max_extend_sg) {
>>>>> dev_err(hr_dev->dev,
>>>>> @@ -1022,6 +1026,9 @@ struct ib_qp *hns_roce_create_qp(struct
>>>>> ib_pd *pd,
>>>>> int ret;
>>>>>
>>>>> switch (init_attr->qp_type) {
>>>>> + case IB_QPT_UD:
>>>>> + if (!capable(CAP_NET_RAW))
>>>>> + return -EPERM;
>>>> This needs a big comment explaining why this HW requires it.
>>>>
>>>> Jason
>>>>
>>> Add the detail comments for HW limit?
>>
>> I can add those comments while taking the pactch. Plus we need to add
>> a
>> fallthrough annotation at the same place. I'll fix it up and unfreeze
>> the hns queue.
>>
>
> Does this meet people's approval?
>
> switch (init_attr->qp_type) {
> case IB_QPT_UD:
> /*
> * DO NOT REMOVE!
> * The HNS RoCE hardware has a security vulnerability.
> * Normally, UD packet routing is achieved using nothing
> * but the ib_ah struct, which contains the src gid in the
> * sgid_attr element. Th src gid is sufficient for the
> * hardware to know if any vlan tag is needed, as well as
> * any priority tag. In the case of HNS RoCE, the vlan
> * tag is passed to the hardware along with the src gid.
> * This allows a situation where a malicious user could
> * intentionally send packets with a gid that belongs to
> * vlan A, but direct the packets to go out to vlan B
> * instead.
> * Because the ability to send out packets with arbitrary
> * headers is reserved for CAP_NET_RAW, and because UD
> * queue pairs can be tricked into doing that, make all
> * UD queue pairs on this hardware require CAP_NET_RAW.
> */
> if (!capable(CAP_NET_RAW))
> return -EPERM;
> /* fallthrough */
> case IB_QPT_RC: {
>
Hi Doug,
To avoid the potential risk of vlan config issue, we decide to remove this patch.
Thanks a lot for the work of you, Jason and Leon on this issue.
Weihang
next prev parent reply other threads:[~2019-11-13 6:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-19 8:46 [RFC PATCH V2 for-next] RDMA/hns: Add UD support for hip08 Lijun Ou
2019-10-21 14:13 ` Jason Gunthorpe
2019-10-21 14:20 ` oulijun
2019-10-21 14:58 ` Doug Ledford
2019-10-21 16:45 ` Doug Ledford
2019-10-22 5:44 ` Leon Romanovsky
2019-11-13 6:47 ` Weihang Li [this message]
2019-10-22 1:07 ` oulijun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6de24f84-c360-eb1f-9f3e-a90ff7f9a75c@hisilicon.com \
--to=liweihang@hisilicon.com \
--cc=dledford@redhat.com \
--cc=jgg@ziepe.ca \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=oulijun@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox