The out label is only used in one place and return ret directly without
something like resource cleanup or lock release and so on. So we should
remove this jump label and do some cleanup.

Signed-off-by: Miaohe Lin <linmia...@huawei.com>
---
 mm/page_io.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/mm/page_io.c b/mm/page_io.c
index ae33d0b77dc9..35eac34cbd93 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -359,13 +359,11 @@ int __swap_writepage(struct page *page, struct 
writeback_control *wbc,
                return 0;
        }
 
-       ret = 0;
        bio = get_swap_bio(GFP_NOIO, page, end_write_func);
        if (bio == NULL) {
                set_page_dirty(page);
                unlock_page(page);
-               ret = -ENOMEM;
-               goto out;
+               return -ENOMEM;
        }
        bio->bi_opf = REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc);
        bio_associate_blkg_from_page(bio, page);
@@ -373,8 +371,8 @@ int __swap_writepage(struct page *page, struct 
writeback_control *wbc,
        set_page_writeback(page);
        unlock_page(page);
        submit_bio(bio);
-out:
-       return ret;
+
+       return 0;
 }
 
 int swap_readpage(struct page *page, bool synchronous)
-- 
2.19.1

Reply via email to