diff --git a/fs/aio.c b/fs/aio.c index 0606f033cd9b..42d8c09311d1 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1074,8 +1074,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();