• Leon Romanovsky's avatar
    RDMA/srp: Rename SRP sysfs name after IB device rename trigger · dc1435c0
    Leon Romanovsky authored
    SRP logic used device name and port index as symlink to relevant
    kobject. If the IB device is renamed then the prior name will be re-used
    by the next device plugged in and sysfs will panic as SRP will try to
    re-use the same name.
    
     mlx5_ib: Mellanox Connect-IB Infiniband driver v5.0-0
     sysfs: cannot create duplicate filename '/class/infiniband_srp/srp-mlx5_0-1'
     CPU: 3 PID: 1107 Comm: modprobe Not tainted 5.1.0-for-upstream-perf-2019-05-12_15-09-52-87 #1
     Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1ubuntu1 04/01/2014
     Call Trace:
      dump_stack+0x5a/0x73
      sysfs_warn_dup+0x58/0x70
      sysfs_do_create_link_sd.isra.2+0xa3/0xb0
      device_add+0x33f/0x660
      srp_add_one+0x301/0x4f0 [ib_srp]
      add_client_context+0x99/0xe0 [ib_core]
      enable_device_and_get+0xd1/0x1b0 [ib_core]
      ib_register_device+0x533/0x710 [ib_core]
      ? mutex_lock+0xe/0x30
      __mlx5_ib_add+0x23/0x70 [mlx5_ib]
      mlx5_add_device+0x4e/0xd0 [mlx5_core]
      mlx5_register_interface+0x85/0xc0 [mlx5_core]
      ? 0xffffffffa0791000
      do_one_initcall+0x4b/0x1cb
      ? kmem_cache_alloc_trace+0xc6/0x1d0
      ? do_init_module+0x22/0x21f
      do_init_module+0x5a/0x21f
      load_module+0x17f2/0x1ca0
      ? m_show+0x1c0/0x1c0
      __do_sys_finit_module+0x94/0xe0
      do_syscall_64+0x48/0x120
      entry_SYSCALL_64_after_hwframe+0x44/0xa9
     RIP: 0033:0x7f157cce10d9
    
    The module load/unload sequence was used to trigger such kernel panic:
     sudo modprobe ib_srp
     sudo modprobe -r mlx5_ib
     sudo modprobe -r mlx5_core
     sudo modprobe mlx5_core
    
    Have SRP track the name of the core device so that it can't have a name
    collision.
    
    Fixes: d21943dd ("RDMA/core: Implement IB device rename function")
    Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    dc1435c0
device.c 68.8 KB