diff options
-rw-r--r-- | fs/splice.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/splice.c b/fs/splice.c index 22496d2a73fa..0a0973218084 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -594,7 +594,7 @@ find_page: | |||
594 | ret = add_to_page_cache_lru(page, mapping, index, | 594 | ret = add_to_page_cache_lru(page, mapping, index, |
595 | GFP_KERNEL); | 595 | GFP_KERNEL); |
596 | if (unlikely(ret)) | 596 | if (unlikely(ret)) |
597 | goto out; | 597 | goto out_release; |
598 | } | 598 | } |
599 | 599 | ||
600 | ret = mapping->a_ops->prepare_write(file, page, offset, offset+this_len); | 600 | ret = mapping->a_ops->prepare_write(file, page, offset, offset+this_len); |
@@ -650,8 +650,9 @@ find_page: | |||
650 | */ | 650 | */ |
651 | mark_page_accessed(page); | 651 | mark_page_accessed(page); |
652 | out: | 652 | out: |
653 | page_cache_release(page); | ||
654 | unlock_page(page); | 653 | unlock_page(page); |
654 | out_release: | ||
655 | page_cache_release(page); | ||
655 | out_ret: | 656 | out_ret: |
656 | return ret; | 657 | return ret; |
657 | } | 658 | } |