diff options
author | Artemy Kovalyov <artemyko@mellanox.com> | 2017-01-18 16:58:08 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-02-14 11:41:17 -0500 |
commit | d9d0674c0f8a950634fd2166a291e93e606a576c (patch) | |
tree | b3aef371511dd496b0534798759ec3214fc7fef3 /drivers | |
parent | d07d1d70ce1ad1c525f51f459ce36ca49ec2bf48 (diff) | |
download | linux-stable-d9d0674c0f8a950634fd2166a291e93e606a576c.tar.gz linux-stable-d9d0674c0f8a950634fd2166a291e93e606a576c.tar.bz2 linux-stable-d9d0674c0f8a950634fd2166a291e93e606a576c.zip |
IB/umem: Indicate that process is being terminated
When process is killed while pagefault operation still in progress -
function will fail. In this specific case we don't want any warnings in
dmesg to avoid log analyzers false alerts. So we need distinct error
code for this case.
Signed-off-by: Artemy Kovalyov <artemyko@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/core/umem_odp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/infiniband/core/umem_odp.c b/drivers/infiniband/core/umem_odp.c index 1104d367b8f2..f2fc0431512d 100644 --- a/drivers/infiniband/core/umem_odp.c +++ b/drivers/infiniband/core/umem_odp.c @@ -573,7 +573,8 @@ out: * for failure. * An -EAGAIN error code is returned when a concurrent mmu notifier prevents * the function from completing its task. - * + * An -ENOENT error code indicates that userspace process is being terminated + * and mm was already destroyed. * @umem: the umem to map and pin * @user_virt: the address from which we need to map. * @bcnt: the minimal number of bytes to pin and map. The mapping might be @@ -621,7 +622,7 @@ int ib_umem_odp_map_dma_pages(struct ib_umem *umem, u64 user_virt, u64 bcnt, owning_mm = get_task_mm(owning_process); if (owning_mm == NULL) { - ret = -EINVAL; + ret = -ENOENT; goto out_put_task; } |