splice: fix bad unlock_page() in error case
authorJens Axboe <jens.axboe@oracle.com>
Fri, 20 Jul 2007 13:18:12 +0000 (15:18 +0200)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 20 Jul 2007 16:07:01 +0000 (09:07 -0700)
commit6a860c979b35469e4d77da781a96bdb2ca05ae64
tree3160a7a4c76743fa4ca9a9eb9ccb0d67bc363d9b
parent9d1ca6f13cfedfd127f3be7e447bd6d922806a65
splice: fix bad unlock_page() in error case

If add_to_page_cache_lru() fails, the page will not be locked. But
splice jumps to an error path that does a page release and unlock,
causing a BUG() in unlock_page().

Fix this by adding one more label that just releases the page. This bug
was actually triggered on EL5 by gurudas pai <gurudas.pai@oracle.com>
using fio.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/splice.c