All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH] syscalls/copy_file_range02.c: Add new check for EINVAL
@ 2019-06-10  9:49 Jinhui huang
  0 siblings, 0 replies; only message in thread
From: Jinhui huang @ 2019-06-10  9:49 UTC (permalink / raw)
  To: ltp

Add a new checkpoint that copy_file_range() returns EINVAL when
copying contents to non regular file.

Signed-off-by: Jinhui huang <huangjh.jy@cn.fujitsu.com>
---
 .../kernel/syscalls/copy_file_range/copy_file_range02.c    | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
index 07c0207..db99344 100644
--- a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
+++ b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
@@ -19,6 +19,13 @@
  *    -> EBADF
  * 6) Try to copy contents with invalid 'flags' value
  *    -> EINVAL
+ * 7) Try to copy contents to pipe ->EINVAL
+ *
+ * Note:
+ * copy_file_range() returns EISDIR and EINVAL when copying contents to
+ * directory and any other non regualr files since the commit:
+ * 11cbfb10775a vfs: deny copy_file_range() for non regular files
+ *
  */
 
 #define _GNU_SOURCE
@@ -33,6 +40,7 @@ static int fd_mnted;
 static int fd_dir;
 static int fd_closed;
 static int fd_append;
+static int fd_pipe[2];
 
 static struct tcase {
 	int	*copy_to_fd;
@@ -45,6 +53,7 @@ static struct tcase {
 	{&fd_append,	0,	EBADF},
 	{&fd_closed,	0,	EBADF},
 	{&fd_dest,	-1,	EINVAL},
+	{&fd_pipe[0],   0,      EINVAL},
 };
 
 static void verify_copy_file_range(unsigned int n)
@@ -84,6 +93,10 @@ static void cleanup(void)
 		SAFE_CLOSE(fd_dest);
 	if (fd_src > 0)
 		SAFE_CLOSE(fd_src);
+	if (fd_pipe[0] > 0)
+		SAFE_CLOSE(fd_pipe[0]);
+	if (fd_pipe[1] > 0)
+		SAFE_CLOSE(fd_pipe[1]);
 }
 
 static void setup(void)
@@ -101,6 +114,7 @@ static void setup(void)
 	fd_closed = -1;
 	fd_append = SAFE_OPEN(FILE_DEST_PATH,
 			O_RDWR | O_CREAT | O_APPEND, 0664);
+	SAFE_PIPE(fd_pipe);
 
 	SAFE_WRITE(1, fd_src,  CONTENT,  CONTSIZE);
 }
-- 
1.8.3.1




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-06-10  9:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-10  9:49 [LTP] [PATCH] syscalls/copy_file_range02.c: Add new check for EINVAL Jinhui huang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.