diff options
-rw-r--r-- | fs/aio.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -587,7 +587,7 @@ int aio_put_req(struct kiocb *req) | |||
587 | static struct kioctx *lookup_ioctx(unsigned long ctx_id) | 587 | static struct kioctx *lookup_ioctx(unsigned long ctx_id) |
588 | { | 588 | { |
589 | struct mm_struct *mm = current->mm; | 589 | struct mm_struct *mm = current->mm; |
590 | struct kioctx *ctx = NULL; | 590 | struct kioctx *ctx, *ret = NULL; |
591 | struct hlist_node *n; | 591 | struct hlist_node *n; |
592 | 592 | ||
593 | rcu_read_lock(); | 593 | rcu_read_lock(); |
@@ -595,12 +595,13 @@ static struct kioctx *lookup_ioctx(unsigned long ctx_id) | |||
595 | hlist_for_each_entry_rcu(ctx, n, &mm->ioctx_list, list) { | 595 | hlist_for_each_entry_rcu(ctx, n, &mm->ioctx_list, list) { |
596 | if (ctx->user_id == ctx_id && !ctx->dead) { | 596 | if (ctx->user_id == ctx_id && !ctx->dead) { |
597 | get_ioctx(ctx); | 597 | get_ioctx(ctx); |
598 | ret = ctx; | ||
598 | break; | 599 | break; |
599 | } | 600 | } |
600 | } | 601 | } |
601 | 602 | ||
602 | rcu_read_unlock(); | 603 | rcu_read_unlock(); |
603 | return ctx; | 604 | return ret; |
604 | } | 605 | } |
605 | 606 | ||
606 | /* | 607 | /* |