Trinity fuzzer tool discussions
 help / color / mirror / Atom feed
* [PATCH] syscall/prctl.c: Fix unused variable build error with USE_SECCOMP=0.
@ 2013-12-04 18:33 Vinson Lee
  2013-12-04 18:44 ` Dave Jones
  0 siblings, 1 reply; 3+ messages in thread
From: Vinson Lee @ 2013-12-04 18:33 UTC (permalink / raw)
  To: trinity; +Cc: Vinson Lee

From: Vinson Lee <vlee@twitter.com>

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 <vlee@twitter.com>
---
 syscalls/prctl.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/syscalls/prctl.c b/syscalls/prctl.c
index acca027..bde76aa 100644
--- a/syscalls/prctl.c
+++ b/syscalls/prctl.c
@@ -33,7 +33,9 @@ static int prctl_opts[NR_PRCTL_OPTS] = {
 void sanitise_prctl(int childno)
 {
 	int option = prctl_opts[rand() % NR_PRCTL_OPTS];
+#ifdef USE_SECCOMP
 	struct sockaddr *saddr = NULL;
+#endif
 
 // For now, just do SECCOMP, the other options need some attention.
 option = PR_SET_SECCOMP;
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] syscall/prctl.c: Fix unused variable build error with USE_SECCOMP=0.
  2013-12-04 18:33 [PATCH] syscall/prctl.c: Fix unused variable build error with USE_SECCOMP=0 Vinson Lee
@ 2013-12-04 18:44 ` Dave Jones
  2013-12-04 18:49   ` Vinson Lee
  0 siblings, 1 reply; 3+ messages in thread
From: Dave Jones @ 2013-12-04 18:44 UTC (permalink / raw)
  To: Vinson Lee; +Cc: trinity, Vinson Lee

On Wed, Dec 04, 2013 at 10:33:00AM -0800, Vinson Lee wrote:
 > From: Vinson Lee <vlee@twitter.com>
 > 
 > 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 <vlee@twitter.com>

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;
 	}

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] syscall/prctl.c: Fix unused variable build error with USE_SECCOMP=0.
  2013-12-04 18:44 ` Dave Jones
@ 2013-12-04 18:49   ` Vinson Lee
  0 siblings, 0 replies; 3+ messages in thread
From: Vinson Lee @ 2013-12-04 18:49 UTC (permalink / raw)
  To: Dave Jones; +Cc: trinity, Vinson Lee

On Wed, Dec 4, 2013 at 10:44 AM, Dave Jones <davej@redhat.com> wrote:
> On Wed, Dec 04, 2013 at 10:33:00AM -0800, Vinson Lee wrote:
>  > From: Vinson Lee <vlee@twitter.com>
>  >
>  > 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 <vlee@twitter.com>
>
> 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;
>         }


I confirm that this diff also fixes the CentOS 6 build error.

Tested-by: Vinson Lee <vlee@twitter.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-12-04 18:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-04 18:33 [PATCH] syscall/prctl.c: Fix unused variable build error with USE_SECCOMP=0 Vinson Lee
2013-12-04 18:44 ` Dave Jones
2013-12-04 18:49   ` Vinson Lee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox