Explorar o código

[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>
Dave Jones %!s(int64=19) %!d(string=hai) anos
pai
achega
9aefe431f5
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      fs/splice.c

+ 2 - 1
fs/splice.c

@@ -445,7 +445,7 @@ find_page:
 		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 @@ out:
 		page_cache_release(page);
 		unlock_page(page);
 	}
+out_nomem:
 	buf->ops->unmap(info, buf);
 	return ret;
 }