mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Allow CLONE_SETTLS for Go 1.16
https://go.googlesource.com/go/+/0941fc3 switches the Go runtime (on amd64) from using arch_prctl(ARCH_SET_FS) to CLONE_SETTLS to set the TLS. PiperOrigin-RevId: 333100550
This commit is contained in:
committed by
gVisor bot
parent
f134f873fc
commit
13a9a622e1
@@ -25,6 +25,7 @@ import (
|
||||
|
||||
func init() {
|
||||
allowedSyscalls[syscall.SYS_ARCH_PRCTL] = []seccomp.Rule{
|
||||
// TODO(b/168828518): No longer used in Go 1.16+.
|
||||
{seccomp.EqualTo(linux.ARCH_SET_FS)},
|
||||
}
|
||||
|
||||
@@ -32,6 +33,21 @@ func init() {
|
||||
// parent_tidptr and child_tidptr are always 0 because neither
|
||||
// CLONE_PARENT_SETTID nor CLONE_CHILD_SETTID are used.
|
||||
{
|
||||
seccomp.EqualTo(
|
||||
syscall.CLONE_VM |
|
||||
syscall.CLONE_FS |
|
||||
syscall.CLONE_FILES |
|
||||
syscall.CLONE_SETTLS |
|
||||
syscall.CLONE_SIGHAND |
|
||||
syscall.CLONE_SYSVSEM |
|
||||
syscall.CLONE_THREAD),
|
||||
seccomp.MatchAny{}, // newsp
|
||||
seccomp.EqualTo(0), // parent_tidptr
|
||||
seccomp.EqualTo(0), // child_tidptr
|
||||
seccomp.MatchAny{}, // tls
|
||||
},
|
||||
{
|
||||
// TODO(b/168828518): No longer used in Go 1.16+ (on amd64).
|
||||
seccomp.EqualTo(
|
||||
syscall.CLONE_VM |
|
||||
syscall.CLONE_FS |
|
||||
|
||||
@@ -24,8 +24,6 @@ import (
|
||||
|
||||
func init() {
|
||||
allowedSyscalls[syscall.SYS_CLONE] = []seccomp.Rule{
|
||||
// parent_tidptr and child_tidptr are always 0 because neither
|
||||
// CLONE_PARENT_SETTID nor CLONE_CHILD_SETTID are used.
|
||||
{
|
||||
seccomp.EqualTo(
|
||||
syscall.CLONE_VM |
|
||||
|
||||
@@ -25,6 +25,7 @@ import (
|
||||
|
||||
func init() {
|
||||
allowedSyscalls[syscall.SYS_ARCH_PRCTL] = []seccomp.Rule{
|
||||
// TODO(b/168828518): No longer used in Go 1.16+.
|
||||
{seccomp.EqualTo(linux.ARCH_SET_FS)},
|
||||
}
|
||||
|
||||
@@ -32,6 +33,21 @@ func init() {
|
||||
// parent_tidptr and child_tidptr are always 0 because neither
|
||||
// CLONE_PARENT_SETTID nor CLONE_CHILD_SETTID are used.
|
||||
{
|
||||
seccomp.EqualTo(
|
||||
syscall.CLONE_VM |
|
||||
syscall.CLONE_FS |
|
||||
syscall.CLONE_FILES |
|
||||
syscall.CLONE_SETTLS |
|
||||
syscall.CLONE_SIGHAND |
|
||||
syscall.CLONE_SYSVSEM |
|
||||
syscall.CLONE_THREAD),
|
||||
seccomp.MatchAny{}, // newsp
|
||||
seccomp.EqualTo(0), // parent_tidptr
|
||||
seccomp.EqualTo(0), // child_tidptr
|
||||
seccomp.MatchAny{}, // tls
|
||||
},
|
||||
{
|
||||
// TODO(b/168828518): No longer used in Go 1.16+ (on amd64).
|
||||
seccomp.EqualTo(
|
||||
syscall.CLONE_VM |
|
||||
syscall.CLONE_FS |
|
||||
|
||||
Reference in New Issue
Block a user