diff options
author | Haggai Eran <haggaie@mellanox.com> | 2015-09-01 09:56:56 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-29 19:26:17 +0200 |
commit | 26783066148258ea62996c30d9c063dd193cb7a2 (patch) | |
tree | 3030c31cb679304b5b6d29682e25693a42d04e6e | |
parent | 6465d5d793ecc69c78c1ad7da2e4bbd13de9f063 (diff) | |
download | lwn-26783066148258ea62996c30d9c063dd193cb7a2.tar.gz lwn-26783066148258ea62996c30d9c063dd193cb7a2.zip |
IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow
commit 11d748045c6dadb279d1acdb6d2ea8f3f2ede85b upstream.
The mlx5_ib_reg_user_mr() function will attempt to call clean_mr() in
its error flow even though there is never a case where the error flow
occurs with a valid MR pointer to destroy.
Remove the clean_mr() call and the incorrect comment above it.
Fixes: b4cfe447d47b ("IB/mlx5: Implement on demand paging by adding
support for MMU notifiers")
Cc: Eli Cohen <eli@mellanox.com>
Signed-off-by: Haggai Eran <haggaie@mellanox.com>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/infiniband/hw/mlx5/mr.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c index 71c593583864..0c52f078759c 100644 --- a/drivers/infiniband/hw/mlx5/mr.c +++ b/drivers/infiniband/hw/mlx5/mr.c @@ -1119,19 +1119,7 @@ struct ib_mr *mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, return &mr->ibmr; error: - /* - * Destroy the umem *before* destroying the MR, to ensure we - * will not have any in-flight notifiers when destroying the - * MR. - * - * As the MR is completely invalid to begin with, and this - * error path is only taken if we can't push the mr entry into - * the pagefault tree, this is safe. - */ - ib_umem_release(umem); - /* Kill the MR, and return an error code. */ - clean_mr(mr); return ERR_PTR(err); } |