aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/verbs.c
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2018-06-12 09:40:23 -0600
committerJason Gunthorpe <jgg@mellanox.com>2018-06-12 14:39:32 -0600
commit1eb9364ce81d9445ad6f9d44921a91d2a6597156 (patch)
tree027b021e6efb08f389e12e1bd7af94bfc7b3f323 /drivers/infiniband/core/verbs.c
parentIB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()' (diff)
downloadlinux-dev-1eb9364ce81d9445ad6f9d44921a91d2a6597156.tar.xz
linux-dev-1eb9364ce81d9445ad6f9d44921a91d2a6597156.zip
IB/uverbs: Fix ordering of ucontext check in ib_uverbs_write
During disassociation the ucontext will become NULL, however due to how the SRCU locking works the ucontext must only be examined after looking at the ib_dev, which governs the RCU control flow. With the wrong ordering userspace will see EINVAL instead of EIO for a disassociated uverbs FD, which breaks rdma-core. Cc: stable@vger.kernel.org Fixes: 491d5c6a3023 ("RDMA/uverbs: Move uncontext check before SRCU read lock") Reported-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Diffstat (limited to 'drivers/infiniband/core/verbs.c')
0 files changed, 0 insertions, 0 deletions