RDMA/device: Don't fire uevent before device is fully initialized
authorLeon Romanovsky <leonro@mellanox.com>
Sun, 5 May 2019 16:33:20 +0000 (19:33 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 7 May 2019 16:02:43 +0000 (13:02 -0300)
commite7a5b4aafd82771f8924905c208d5d236ddcb671
treebae764d152d85fb319e3844635d533b264b1df32
parentd2c4ada1ed883ea1310112965f2f1d713a470699
RDMA/device: Don't fire uevent before device is fully initialized

When the refcount is 0 the device is invisible to netlink. However in the
patch below the refcount = 1 was moved to after the device_add().  This
creates a race where userspace can issue a netlink query after the
device_add() event and not see the device as visible.

Ensure that no uevent is fired before device is fully registered.

Fixes: d79af7242bb2 ("RDMA/device: Expose ib_device_try_get(()")
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/device.c