diff mbox series

RDMA/core: Fix use of logical OR in get_new_pps

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

Commit Message

Nathan Chancellor Feb. 17, 2020, 8:43 p.m. UTC
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(-)

Comments

Leon Romanovsky Feb. 18, 2020, 4:33 p.m. UTC | #1
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>
Jason Gunthorpe Feb. 19, 2020, 8:46 p.m. UTC | #2
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
Nathan Chancellor Feb. 19, 2020, 8:50 p.m. UTC | #3
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
Jason Gunthorpe Feb. 19, 2020, 8:54 p.m. UTC | #4
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 mbox series

Patch

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)