OSDN Git Service

RDMA/mlx4: Don't crash machine if zap_vma_ptes() fails
authorLeon Romanovsky <leonro@mellanox.com>
Tue, 29 May 2018 12:14:06 +0000 (15:14 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 1 Jun 2018 15:16:58 +0000 (11:16 -0400)
The failure reported by zap_vma_ptes() means that wrong VMA pages
were supplied, however it is impossible for this type of address.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/main.c

index 1fea149..722c825 100644 (file)
@@ -1186,7 +1186,6 @@ static const struct vm_operations_struct mlx4_ib_vm_ops = {
 static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext)
 {
        int i;
-       int ret = 0;
        struct vm_area_struct *vma;
        struct mlx4_ib_ucontext *context = to_mucontext(ibcontext);
 
@@ -1198,13 +1197,8 @@ static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext)
                if (!vma)
                        continue;
 
-               ret = zap_vma_ptes(context->hw_bar_info[i].vma,
-                                  context->hw_bar_info[i].vma->vm_start,
-                                  PAGE_SIZE);
-               if (ret) {
-                       pr_err("Error: zap_vma_ptes failed for index=%d, ret=%d\n", i, ret);
-                       BUG_ON(1);
-               }
+               zap_vma_ptes(context->hw_bar_info[i].vma,
+                            context->hw_bar_info[i].vma->vm_start, PAGE_SIZE);
 
                context->hw_bar_info[i].vma->vm_flags &=
                        ~(VM_SHARED | VM_MAYSHARE);