splice: fix double page unlock
commit36e1ed699210fd0173dfe0a8b2cde8a6b648ba3f
authorJens Axboe <jens.axboe@oracle.com>
Fri, 20 Jul 2007 13:21:36 +0000 (20 15:21 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 9 Aug 2007 21:27:32 +0000 (9 14:27 -0700)
tree367f6ec90883e7289e5d9f17f6ebae0acff4de76
parent6b6c21263e3fe3f036c1bb04a65d032394167e64
splice: fix double page unlock

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: Greg Kroah-Hartman <gregkh@suse.de>
fs/splice.c