| From 9b3dc68bc6b1ec0ab003fc6dd23d681100a008f1 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 17 Feb 2020 13:43:18 -0700 |
| Subject: RDMA/core: Fix use of logical OR in get_new_pps |
| |
| From: Nathan Chancellor <natechancellor@gmail.com> |
| |
| [ Upstream commit 4ca501d6aaf21de31541deac35128bbea8427aa6 ] |
| |
| Clang warns: |
| |
| ../drivers/infiniband/core/security.c:351:41: warning: converting the |
| enum constant to a boolean [-Wint-in-bool-context] |
| if (!(qp_attr_mask & (IB_QP_PKEY_INDEX || IB_QP_PORT)) && qp_pps) { |
| ^ |
| 1 warning generated. |
| |
| A bitwise OR should have been used instead. |
| |
| Fixes: 1dd017882e01 ("RDMA/core: Fix protection fault in get_pkey_idx_qp_list") |
| Link: https://lore.kernel.org/r/20200217204318.13609-1-natechancellor@gmail.com |
| Link: https://github.com/ClangBuiltLinux/linux/issues/889 |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> |
| Reviewed-by: Leon Romanovsky <leonro@mellanox.com> |
| Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/core/security.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/core/security.c b/drivers/infiniband/core/security.c |
| index 9e27ca18d3270..2d5608315dc80 100644 |
| --- a/drivers/infiniband/core/security.c |
| +++ b/drivers/infiniband/core/security.c |
| @@ -352,7 +352,7 @@ static struct ib_ports_pkeys *get_new_pps(const struct ib_qp *qp, |
| if ((qp_attr_mask & IB_QP_PKEY_INDEX) && (qp_attr_mask & IB_QP_PORT)) |
| new_pps->main.state = IB_PORT_PKEY_VALID; |
| |
| - if (!(qp_attr_mask & (IB_QP_PKEY_INDEX || IB_QP_PORT)) && qp_pps) { |
| + if (!(qp_attr_mask & (IB_QP_PKEY_INDEX | IB_QP_PORT)) && qp_pps) { |
| new_pps->main.port_num = qp_pps->main.port_num; |
| new_pps->main.pkey_index = qp_pps->main.pkey_index; |
| if (qp_pps->main.state != IB_PORT_PKEY_NOT_VALID) |
| -- |
| 2.20.1 |
| |