File vsftpd-seccomp-getrandom.patch of Package vsftpd.22288

Index: vsftpd-3.0.3/seccompsandbox.c
===================================================================
--- vsftpd-3.0.3.orig/seccompsandbox.c	2021-12-21 15:38:16.049680456 +0100
+++ vsftpd-3.0.3/seccompsandbox.c	2021-12-21 15:38:16.061680223 +0100
@@ -47,6 +47,10 @@
   #define __NR_openat 257
 #endif
 
+#ifndef __NR_getrandom
+  #define __NR_getrandom 318
+#endif
+
 #ifndef O_LARGEFILE
   #define O_LARGEFILE 00100000
 #endif
@@ -561,6 +565,10 @@ seccomp_sandbox_setup_postlogin_broker()
     allow_nr_1_arg_match(__NR_recvmsg, 3, 0);
     // called by RAND_load_file
     allow_nr(__NR_stat);
+    // called from openssl's RAND_poll which is invoked in FIPS mode when the DRBG is seeded
+    allow_nr(__NR_getrandom);
+    allow_nr_1_arg_mask(__NR_open, 2, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_CLOEXEC);
+    allow_nr(__NR_getuid);
   }
   if (tunable_syslog_enable)
   {
openSUSE Build Service is sponsored by