[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 4, 2013 at 10:44 AM, Dave Jones <davej@xxxxxxxxxx> wrote:
> On Wed, Dec 04, 2013 at 10:33:00AM -0800, Vinson Lee wrote:
>  > From: Vinson Lee <vlee@xxxxxxxxxxx>
>  >
>  > 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@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe trinity" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux