The intention of this code is to find matching entries exactly, the driver
never creates phys_addr's with different lens so the current expression is
not a bug, but it doesn't make sense and confuses review tooling.

Search for exact match instead.

Link: 
https://sashiko.dev/#/patchset/0-v1-e911b76a94d1%2B65d95-rdma_udata_rep_jgg%40nvidia.com?part=4
Signed-off-by: Jason Gunthorpe <[email protected]>
---
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c 
b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index c17e2a54dbcaf9..463c9a5703fc4e 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -215,7 +215,7 @@ static void ocrdma_del_mmap(struct ocrdma_ucontext *uctx, 
u64 phy_addr,
 
        mutex_lock(&uctx->mm_list_lock);
        list_for_each_entry_safe(mm, tmp, &uctx->mm_head, entry) {
-               if (len != mm->key.len && phy_addr != mm->key.phy_addr)
+               if (len != mm->key.len || phy_addr != mm->key.phy_addr)
                        continue;
 
                list_del(&mm->entry);
@@ -233,7 +233,7 @@ static bool ocrdma_search_mmap(struct ocrdma_ucontext 
*uctx, u64 phy_addr,
 
        mutex_lock(&uctx->mm_list_lock);
        list_for_each_entry(mm, &uctx->mm_head, entry) {
-               if (len != mm->key.len && phy_addr != mm->key.phy_addr)
+               if (len != mm->key.len || phy_addr != mm->key.phy_addr)
                        continue;
 
                found = true;
-- 
2.43.0


Reply via email to