Skip to content

Commit e430416

Browse files
authored
Merge pull request #5110 from kolyshkin/1.4-backports
[1.4] assorted small backports
2 parents 3747639 + 5baeb39 commit e430416

35 files changed

+605
-69
lines changed

.cirrus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ task:
1111
env:
1212
HOME: /root
1313
CIRRUS_WORKING_DIR: /home/runc
14-
GO_VER_PREFIX: "1.24."
15-
BATS_VERSION: "v1.11.1"
14+
GO_VER_PREFIX: "1.25."
15+
BATS_VERSION: "v1.12.0"
1616
RPMS: gcc git-core iptables jq glibc-static libseccomp-devel make criu fuse-sshfs container-selinux
1717
# yamllint disable rule:key-duplicates
1818
matrix:

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ jobs:
108108
- name: Setup Bats and bats libs
109109
uses: bats-core/[email protected]
110110
with:
111-
bats-version: 1.11.1 # Known as BATS_VERSION in other places.
111+
bats-version: 1.12.0 # Known as BATS_VERSION in other places.
112112
support-install: false
113113
assert-install: false
114114
detik-install: false

.github/workflows/validate.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@ jobs:
114114
- uses: actions/checkout@v5
115115
- name: install shellcheck
116116
env:
117-
VERSION: v0.10.0
117+
VERSION: v0.11.0
118118
BASEURL: https://github.com/koalaman/shellcheck/releases/download
119-
SHA256: f35ae15a4677945428bdfe61ccc297490d89dd1e544cc06317102637638c6deb
119+
SHA256: 4da528ddb3a4d1b7b24a59d4e16eb2f5fd960f4bd9a3708a15baddbdf1d5a55b
120120
run: |
121121
mkdir ~/bin
122122
curl -sSfL --retry 5 $BASEURL/$VERSION/shellcheck-$VERSION.linux.x86_64.tar.xz |

.golangci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ run:
77
formatters:
88
enable:
99
- gofumpt
10+
settings:
11+
gofumpt:
12+
extra-rules: true
1013

1114
linters:
1215
enable:

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
ARG GO_VERSION=1.24
2-
ARG BATS_VERSION=v1.11.1
3-
ARG LIBSECCOMP_VERSION=2.5.6
1+
ARG GO_VERSION=1.25
2+
ARG BATS_VERSION=v1.12.0
3+
ARG LIBSECCOMP_VERSION=2.6.0
44

55
FROM golang:${GO_VERSION}-bookworm
66
ARG DEBIAN_FRONTEND=noninteractive

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/vishvananda/netlink v1.3.1
2424
github.com/vishvananda/netns v0.0.5
2525
golang.org/x/net v0.43.0
26-
golang.org/x/sys v0.37.0
26+
golang.org/x/sys v0.38.0
2727
google.golang.org/protobuf v1.36.8
2828
)
2929

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
8787
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
8888
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
8989
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
90-
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
91-
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
90+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
91+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
9292
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
9393
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
9494
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

internal/linux/linux.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package linux
22

33
import (
44
"os"
5-
"unsafe"
65

76
"golang.org/x/sys/unix"
87
)
@@ -16,7 +15,7 @@ func Dup3(oldfd, newfd, flags int) error {
1615
}
1716

1817
// Exec wraps [unix.Exec].
19-
func Exec(cmd string, args []string, env []string) error {
18+
func Exec(cmd string, args, env []string) error {
2019
err := retryOnEINTR(func() error {
2120
return unix.Exec(cmd, args, env)
2221
})
@@ -75,13 +74,9 @@ func Sendmsg(fd int, p, oob []byte, to unix.Sockaddr, flags int) error {
7574
}
7675

7776
// SetMempolicy wraps set_mempolicy.
78-
func SetMempolicy(mode uint, mask *unix.CPUSet) error {
77+
func SetMempolicy(mode int, mask *unix.CPUSet) error {
7978
err := retryOnEINTR(func() error {
80-
_, _, errno := unix.Syscall(unix.SYS_SET_MEMPOLICY, uintptr(mode), uintptr(unsafe.Pointer(mask)), unsafe.Sizeof(*mask)*8)
81-
if errno != 0 {
82-
return errno
83-
}
84-
return nil
79+
return unix.SetMemPolicy(mode, mask)
8580
})
8681
return os.NewSyscallError("set_mempolicy", err)
8782
}

libcontainer/configs/memorypolicy.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,31 @@ package configs
33
import "golang.org/x/sys/unix"
44

55
// Memory policy modes and flags as defined in /usr/include/linux/mempolicy.h
6-
6+
//
7+
// Deprecated: use constants from [unix] instead.
8+
//
79
//nolint:revive,staticcheck,nolintlint // ignore ALL_CAPS errors in consts from numaif.h, will match unix.* in the future
810
const (
9-
MPOL_DEFAULT = 0
10-
MPOL_PREFERRED = 1
11-
MPOL_BIND = 2
12-
MPOL_INTERLEAVE = 3
13-
MPOL_LOCAL = 4
14-
MPOL_PREFERRED_MANY = 5
15-
MPOL_WEIGHTED_INTERLEAVE = 6
11+
MPOL_DEFAULT = unix.MPOL_DEFAULT
12+
MPOL_PREFERRED = unix.MPOL_PREFERRED
13+
MPOL_BIND = unix.MPOL_BIND
14+
MPOL_INTERLEAVE = unix.MPOL_INTERLEAVE
15+
MPOL_LOCAL = unix.MPOL_LOCAL
16+
MPOL_PREFERRED_MANY = unix.MPOL_PREFERRED_MANY
17+
MPOL_WEIGHTED_INTERLEAVE = unix.MPOL_WEIGHTED_INTERLEAVE
1618

17-
MPOL_F_STATIC_NODES = 1 << 15
18-
MPOL_F_RELATIVE_NODES = 1 << 14
19-
MPOL_F_NUMA_BALANCING = 1 << 13
19+
MPOL_F_STATIC_NODES = unix.MPOL_F_STATIC_NODES
20+
MPOL_F_RELATIVE_NODES = unix.MPOL_F_RELATIVE_NODES
21+
MPOL_F_NUMA_BALANCING = unix.MPOL_F_NUMA_BALANCING
2022
)
2123

2224
// LinuxMemoryPolicy contains memory policy configuration.
2325
type LinuxMemoryPolicy struct {
2426
// Mode specifies memory policy mode without mode flags. See
2527
// set_mempolicy() documentation for details.
26-
Mode uint `json:"mode,omitempty"`
28+
Mode int `json:"mode,omitempty"`
2729
// Flags contains mode flags.
28-
Flags uint `json:"flags,omitempty"`
30+
Flags int `json:"flags,omitempty"`
2931
// Nodes contains NUMA nodes to which the mode applies.
3032
Nodes *unix.CPUSet `json:"nodes,omitempty"`
3133
}

libcontainer/configs/validate/validator.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -490,16 +490,16 @@ func memoryPolicy(config *configs.Config) error {
490490
return nil
491491
}
492492
switch mpol.Mode {
493-
case configs.MPOL_DEFAULT, configs.MPOL_LOCAL:
493+
case unix.MPOL_DEFAULT, unix.MPOL_LOCAL:
494494
if mpol.Nodes != nil && mpol.Nodes.Count() != 0 {
495495
return fmt.Errorf("memory policy mode requires 0 nodes but got %d", mpol.Nodes.Count())
496496
}
497-
case configs.MPOL_BIND, configs.MPOL_INTERLEAVE,
498-
configs.MPOL_PREFERRED_MANY, configs.MPOL_WEIGHTED_INTERLEAVE:
497+
case unix.MPOL_BIND, unix.MPOL_INTERLEAVE,
498+
unix.MPOL_PREFERRED_MANY, unix.MPOL_WEIGHTED_INTERLEAVE:
499499
if mpol.Nodes == nil || mpol.Nodes.Count() == 0 {
500500
return fmt.Errorf("memory policy mode requires at least one node but got 0")
501501
}
502-
case configs.MPOL_PREFERRED:
502+
case unix.MPOL_PREFERRED:
503503
// Zero or more nodes are allowed by the kernel.
504504
default:
505505
return fmt.Errorf("invalid memory policy mode: %d", mpol.Mode)

0 commit comments

Comments
 (0)