diff -drupN a/fs/file.c b/fs/file.c
--- a/fs/file.c	2018-08-06 17:23:04.000000000 +0300
+++ b/fs/file.c	2022-06-12 05:28:14.000000000 +0300
@@ -563,6 +563,12 @@ int get_unused_fd_flags(unsigned flags)
 }
 EXPORT_SYMBOL(get_unused_fd_flags);
 
+int get_unused_fd_flags2(unsigned flags)
+{
+	return __alloc_fd(current->files, 3, rlimit(RLIMIT_NOFILE), flags);
+}
+EXPORT_SYMBOL(get_unused_fd_flags2);
+
 static void __put_unused_fd(struct files_struct *files, unsigned int fd)
 {
 	struct fdtable *fdt = files_fdtable(files);