Skip to content
  • Marc-André Lureau's avatar
    70dfabea
    seccomp: set the seccomp filter to all threads · 70dfabea
    Marc-André Lureau authored
    
    
    When using "-seccomp on", the seccomp policy is only applied to the
    main thread, the vcpu worker thread and other worker threads created
    after seccomp policy is applied; the seccomp policy is not applied to
    e.g. the RCU thread because it is created before the seccomp policy is
    applied and SECCOMP_FILTER_FLAG_TSYNC isn't used.
    
    This can be verified with
    for task in /proc/`pidof qemu`/task/*; do cat $task/status | grep Secc ; done
    Seccomp:	2
    Seccomp:	0
    Seccomp:	0
    Seccomp:	2
    Seccomp:	2
    Seccomp:	2
    
    Starting with libseccomp 2.2.0 and kernel >= 3.17, we can use
    seccomp_attr_set(ctx, > SCMP_FLTATR_CTL_TSYNC, 1) to update the policy
    on all threads.
    
    libseccomp requirement was bumped to 2.2.0 in previous patch.
    libseccomp should fail to set the filter if it can't honour
    SCMP_FLTATR_CTL_TSYNC (untested), and thus -sandbox will now fail on
    kernel < 3.17.
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Acked-by: default avatarEduardo Otubo <otubo@redhat.com>
    70dfabea
    seccomp: set the seccomp filter to all threads
    Marc-André Lureau authored
    
    
    When using "-seccomp on", the seccomp policy is only applied to the
    main thread, the vcpu worker thread and other worker threads created
    after seccomp policy is applied; the seccomp policy is not applied to
    e.g. the RCU thread because it is created before the seccomp policy is
    applied and SECCOMP_FILTER_FLAG_TSYNC isn't used.
    
    This can be verified with
    for task in /proc/`pidof qemu`/task/*; do cat $task/status | grep Secc ; done
    Seccomp:	2
    Seccomp:	0
    Seccomp:	0
    Seccomp:	2
    Seccomp:	2
    Seccomp:	2
    
    Starting with libseccomp 2.2.0 and kernel >= 3.17, we can use
    seccomp_attr_set(ctx, > SCMP_FLTATR_CTL_TSYNC, 1) to update the policy
    on all threads.
    
    libseccomp requirement was bumped to 2.2.0 in previous patch.
    libseccomp should fail to set the filter if it can't honour
    SCMP_FLTATR_CTL_TSYNC (untested), and thus -sandbox will now fail on
    kernel < 3.17.
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Acked-by: default avatarEduardo Otubo <otubo@redhat.com>
Loading