diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2018-06-12 16:38:35 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2018-06-12 16:38:35 -0700 |
commit | 5aff29efbec020f0997e5cdbefce0ff383518986 (patch) | |
tree | 8b7df95c23b3cd2cfa17873ff0fa999dd5ae35bd /fs/aio.c | |
parent | 9bd034225300c7ddf14f4b4c28531efc7a5e1524 (diff) | |
parent | 3ef8a2eeb6dcd1fa61ec8ae107976e655f50e412 (diff) |
Merge branch 'ib/4.17-xen-kbdfront-runtime-config' into next
Bring in xen-kbdfront changes.
Diffstat (limited to 'fs/aio.c')
-rw-r--r-- | fs/aio.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -634,9 +634,8 @@ static void free_ioctx_users(struct percpu_ref *ref) while (!list_empty(&ctx->active_reqs)) { req = list_first_entry(&ctx->active_reqs, struct aio_kiocb, ki_list); - - list_del_init(&req->ki_list); kiocb_cancel(req); + list_del_init(&req->ki_list); } spin_unlock_irq(&ctx->ctx_lock); @@ -1078,8 +1077,8 @@ static struct kioctx *lookup_ioctx(unsigned long ctx_id) ctx = rcu_dereference(table->table[id]); if (ctx && ctx->user_id == ctx_id) { - percpu_ref_get(&ctx->users); - ret = ctx; + if (percpu_ref_tryget_live(&ctx->users)) + ret = ctx; } out: rcu_read_unlock(); |