Message ID | 20200217204318.13609-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 4ca501d6aaf21de31541deac35128bbea8427aa6 |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | RDMA/core: Fix use of logical OR in get_new_pps | expand |
On Mon, Feb 17, 2020 at 01:43:18PM -0700, Nathan Chancellor wrote: > 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://github.com/ClangBuiltLinux/linux/issues/889 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/infiniband/core/security.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Thanks, Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
On Mon, Feb 17, 2020 at 01:43:18PM -0700, Nathan Chancellor wrote: > 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://github.com/ClangBuiltLinux/linux/issues/889 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > Reviewed-by: Leon Romanovsky <leonro@mellanox.com> > --- > drivers/infiniband/core/security.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to for-next, thanks Jason
On Wed, Feb 19, 2020 at 04:46:25PM -0400, Jason Gunthorpe wrote: > On Mon, Feb 17, 2020 at 01:43:18PM -0700, Nathan Chancellor wrote: > > 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://github.com/ClangBuiltLinux/linux/issues/889 > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > Reviewed-by: Leon Romanovsky <leonro@mellanox.com> > > --- > > drivers/infiniband/core/security.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > Applied to for-next, thanks > > Jason Shouldn't this go into for-rc since the commit that introduced this was merged in 5.6-rc2? I guess I should have added that after the PATCH in the subject line, I always forget. Cheers, Nathan
On Wed, Feb 19, 2020 at 01:50:10PM -0700, Nathan Chancellor wrote: > On Wed, Feb 19, 2020 at 04:46:25PM -0400, Jason Gunthorpe wrote: > > On Mon, Feb 17, 2020 at 01:43:18PM -0700, Nathan Chancellor wrote: > > > 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://github.com/ClangBuiltLinux/linux/issues/889 > > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > > Reviewed-by: Leon Romanovsky <leonro@mellanox.com> > > > drivers/infiniband/core/security.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > Applied to for-next, thanks > > > > Jason > > Shouldn't this go into for-rc since the commit that introduced this was > merged in 5.6-rc2? I guess I should have added that after the PATCH in > the subject line, I always forget. Oops, that was a typo, it did go to -rc [each artisanal 'applied' message is uniquely hand crafted] Jason
diff --git a/drivers/infiniband/core/security.c b/drivers/infiniband/core/security.c index 2b4d80393bd0..b9a36ea244d4 100644 --- a/drivers/infiniband/core/security.c +++ b/drivers/infiniband/core/security.c @@ -348,7 +348,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)
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://github.com/ClangBuiltLinux/linux/issues/889 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/infiniband/core/security.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)