diff --git a/[refs] b/[refs] index f1686baac7a0..4b32a2c0cd03 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1fec74a9cda95772887c82ede5c0ac60f5be857e +refs/heads/master: c60099bfe3a5e6fa22a930627689b3769c52153f diff --git a/trunk/kernel/power/swap.c b/trunk/kernel/power/swap.c index 9b2ee5344dee..1a3b0dd2c3fc 100644 --- a/trunk/kernel/power/swap.c +++ b/trunk/kernel/power/swap.c @@ -425,7 +425,8 @@ static int submit(int rw, pgoff_t page_off, struct page *page, bio_set_pages_dirty(bio); bio_put(bio); } else { - get_page(page); + if (rw == READ) + get_page(page); /* These pages are freed later */ bio->bi_private = *bio_chain; *bio_chain = bio; submit_bio(rw | (1 << BIO_RW_SYNC), bio);