VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
author: Christoph Hellwig <hch@lst.de> 2020-07-28 17:49:47 +0200 committer: Al Viro <viro@zeniv.linux.org.uk> 2020-08-04 21:02:38 -0400 commit: f073531070d24bbb82cb2658952d949f4851024b parent: 235e57935bf328c4cce371ffc4dd1d8fab4885cd
Commit Summary:
init: add an init_dup helper
Diffstat:
1 file changed, 10 insertions, 0 deletions
diff --git a/fs/init.c b/fs/init.c
index db5c48a85644..e9c320a48cf1 100644
--- a/fs/init.c
+++ b/fs/init.c
@@ -8,6 +8,7 @@
 #include <linux/namei.h>
 #include <linux/fs.h>
 #include <linux/fs_struct.h>
+#include <linux/file.h>
 #include <linux/init_syscalls.h>
 #include <linux/security.h>
 #include "internal.h"
@@ -251,3 +252,14 @@ int __init init_utimes(char *filename, struct timespec64 *ts)
 	path_put(&path);
 	return error;
 }
+
+int __init init_dup(struct file *file)
+{
+	int fd;
+
+	fd = get_unused_fd_flags(0);
+	if (fd < 0)
+		return fd;
+	fd_install(fd, get_file(file));
+	return 0;
+}