On Wed, Dec 04, 2013 at 10:33:00AM -0800, Vinson Lee wrote:
 > From: Vinson Lee <[email protected]>
 > 
 > This patch fixes this build error on CentOS 6.
 > 
 >   CC syscalls/prctl.o
 > cc1: warnings being treated as errors
 > syscalls/prctl.c: In function ‘sanitise_prctl’:
 > syscalls/prctl.c:36: error: unused variable ‘saddr’
 > 
 > Signed-off-by: Vinson Lee <[email protected]>

bigger diff, but I think this looks cleaner..
Can you test ?


diff --git a/syscalls/prctl.c b/syscalls/prctl.c
index acca0279acab..09364df6a37a 100644
--- a/syscalls/prctl.c
+++ b/syscalls/prctl.c
@@ -17,6 +17,7 @@
 #include "maps.h"
 #include "shm.h"
 #include "compat.h"
+#include "trinity.h"
 
 #define NR_PRCTL_OPTS 28
 static int prctl_opts[NR_PRCTL_OPTS] = {
@@ -29,31 +30,39 @@ static int prctl_opts[NR_PRCTL_OPTS] = {
        PR_MCE_KILL, PR_MCE_KILL_GET,
 };
 
+
+#ifdef USE_SECCOMP
+static void do_set_seccomp(int childno)
+{
+       struct sockaddr *saddr = NULL;
+
+//     if (rand() % 3 == SECCOMP_MODE_FILTER) {
+
+// FIXME: This leaks memory, but needs to be cleared after the syscall is done.
+               gen_seccomp_bpf((unsigned long **) &saddr, NULL);
+               shm->a2[childno] = SECCOMP_MODE_FILTER;
+               shm->a3[childno] = (unsigned long) saddr;
+//     }
+}
+#else
+static void do_set_seccomp(__unused__ int childno) { }
+#endif
+
 /* We already got a generic_sanitise at this point */
 void sanitise_prctl(int childno)
 {
        int option = prctl_opts[rand() % NR_PRCTL_OPTS];
-       struct sockaddr *saddr = NULL;
 
 // For now, just do SECCOMP, the other options need some attention.
-option = PR_SET_SECCOMP;
+       option = PR_SET_SECCOMP;
 
-       /* Also allow crap by small chance */
-       if (rand() % 100 != 0)
-               shm->a1[childno] = option;
+       shm->a1[childno] = option;
 
        switch (option) {
        case PR_SET_SECCOMP:
-#ifdef USE_SECCOMP
-//             if (rand() % 3 == SECCOMP_MODE_FILTER) {
-// FIXME: This leaks memory, but needs to be cleared
-// after the syscall is done.
-                       gen_seccomp_bpf((unsigned long **) &saddr, NULL);
-                       shm->a2[childno] = SECCOMP_MODE_FILTER;
-                       shm->a3[childno] = (unsigned long) saddr;
-//             }
-#endif
+               do_set_seccomp(childno);
                break;
+
        default:
                break;
        }
--
To unsubscribe from this list: send the line "unsubscribe trinity" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to