[PATCH] splice: potential !page dereference
We can get to out: with a NULL page, which we probably
don't want to be calling page_cache_release() on.
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
diff --git a/fs/splice.c b/fs/splice.c
index b450acd..26f5f7e 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -445,7 +445,7 @@
ret = -ENOMEM;
page = find_or_create_page(mapping, index, gfp_mask);
if (!page)
- goto out;
+ goto out_nomem;
/*
* If the page is uptodate, it is also locked. If it isn't
@@ -508,6 +508,7 @@
page_cache_release(page);
unlock_page(page);
}
+out_nomem:
buf->ops->unmap(info, buf);
return ret;
}