diff --git a/fs/splice.c b/fs/splice.c
index 14e2262c0a046641ece8086c7f7329a8a114ebda..9b559ee711a8e59f8e12fb0029b4d5a0356b7df4 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1234,7 +1234,7 @@ static int get_iovec_page_array(const struct iovec __user *iov,
 		if (unlikely(!len))
 			break;
 		error = -EFAULT;
-		if (unlikely(!base))
+		if (!access_ok(VERIFY_READ, base, len))
 			break;
 
 		/*