diff options
| -rw-r--r-- | drivers/infiniband/core/uverbs_mem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/core/uverbs_mem.c b/drivers/infiniband/core/uverbs_mem.c index 36a32c315668..efe147dbeb42 100644 --- a/drivers/infiniband/core/uverbs_mem.c +++ b/drivers/infiniband/core/uverbs_mem.c | |||
| @@ -211,8 +211,10 @@ void ib_umem_release_on_close(struct ib_device *dev, struct ib_umem *umem) | |||
| 211 | */ | 211 | */ |
| 212 | 212 | ||
| 213 | work = kmalloc(sizeof *work, GFP_KERNEL); | 213 | work = kmalloc(sizeof *work, GFP_KERNEL); |
| 214 | if (!work) | 214 | if (!work) { |
| 215 | mmput(mm); | ||
| 215 | return; | 216 | return; |
| 217 | } | ||
| 216 | 218 | ||
| 217 | INIT_WORK(&work->work, ib_umem_account, work); | 219 | INIT_WORK(&work->work, ib_umem_account, work); |
| 218 | work->mm = mm; | 220 | work->mm = mm; |
