• Aharon Landau's avatar
    RDMA/mlx5: Delete right entry from MR signature database · 6466f03f
    Aharon Landau authored
    The value mr->sig is stored in the entry upon mr allocation, however, ibmr
    is wrongly entered here as "old", therefore, xa_cmpxchg() does not replace
    the entry with NULL, which leads to the following trace:
    
     WARNING: CPU: 28 PID: 2078 at drivers/infiniband/hw/mlx5/main.c:3643 mlx5_ib_stage_init_cleanup+0x4d/0x60 [mlx5_ib]
     Modules linked in: nvme_rdma nvme_fabrics nvme_core 8021q garp mrp bonding bridge stp llc rfkill rpcrdma sunrpc rdma_ucm ib_srpt ib_isert iscsi_tad
     CPU: 28 PID: 2078 Comm: reboot Tainted: G               X --------- ---  5.13.0-0.rc2.19.el9.x86_64 #1
     Hardware name: Dell Inc. PowerEdge R430/03XKDV, BIOS 2.9.1 12/07/2018
     RIP: 0010:mlx5_ib_stage_init_cleanup+0x4d/0x60 [mlx5_ib]
     Code: 8d bb 70 1f 00 00 be 00 01 00 00 e8 9d 94 ce da 48 3d 00 01 00 00 75 02 5b c3 0f 0b 5b c3 0f 0b 48 83 bb b0 20 00 00 00 74 d5 <0f> 0b eb d1 4
     RSP: 0018:ffffa8db06d33c90 EFLAGS: 00010282
     RAX: 0000000000000000 RBX: ffff97f890a44000 RCX: ffff97f900ec0160
     RDX: 0000000000000000 RSI: 0000000080080001 RDI: ffff97f890a44000
     RBP: ffffffffc0c189b8 R08: 0000000000000001 R09: 0000000000000000
     R10: 0000000000000001 R11: 0000000000000300 R12: ffff97f890a44000
     R13: ffffffffc0c36030 R14: 00000000fee1dead R15: 0000000000000000
     FS:  00007f0d5a8a3b40(0000) GS:ffff98077fb80000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 0000555acbf4f450 CR3: 00000002a6f56002 CR4: 00000000001706e0
     Call Trace:
      mlx5r_remove+0x39/0x60 [mlx5_ib]
      auxiliary_bus_remove+0x1b/0x30
      __device_release_driver+0x17a/0x230
      device_release_driver+0x24/0x30
      bus_remove_device+0xdb/0x140
      device_del+0x18b/0x3e0
      mlx5_detach_device+0x59/0x90 [mlx5_core]
      mlx5_unload_one+0x22/0x60 [mlx5_core]
      shutdown+0x31/0x3a [mlx5_core]
      pci_device_shutdown+0x34/0x60
      device_shutdown+0x15b/0x1c0
      __do_sys_reboot.cold+0x2f/0x5b
      ? vfs_writev+0xc7/0x140
      ? handle_mm_fault+0xc5/0x290
      ? do_writev+0x6b/0x110
      do_syscall_64+0x40/0x80
      entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Fixes: e6fb246c ("RDMA/mlx5: Consolidate MR destruction to mlx5_ib_dereg_mr()")
    Link: https://lore.kernel.org/r/f3f585ea0db59c2a78f94f65eedeafc5a2374993.1623309971.git.leonro@nvidia.comSigned-off-by: default avatarAharon Landau <aharonl@nvidia.com>
    Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    6466f03f
mr.c 69.5 KB