RDMA/umem: Do not use current->tgid to track the mm_struct
authorJason Gunthorpe <jgg@mellanox.com>
Sun, 16 Sep 2018 17:44:45 +0000 (20:44 +0300)
committerDoug Ledford <dledford@redhat.com>
Thu, 20 Sep 2018 20:19:30 +0000 (16:19 -0400)
commitd4b4dd1b9706e48c370f88d3adfe713e43423cc9
tree7ac48fd0e16c8b61fcab634e46e84738a10d3649
parentce92db1ca84de2ebc5be7a81a68f2e220799fcf5
RDMA/umem: Do not use current->tgid to track the mm_struct

This is just wrong, the process that calls into the reg_mr is the process
associated with the umem, and that does not have to be the same process
that created the context.

When this code was first written mmgrab() didn't exist, however these days
we can just directly hold the mm_struct pointer in the umem and have no
ambiguity when it comes to releasing the umem as to which mm it was
associated with.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/umem.c
include/rdma/ib_umem.h