mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 10:19:50 +00:00
Merge pull request #117330 from akhilerm/update-seccomp
dependencies: udpate seccomp/libseccomp-golang to v0.10.0
This commit is contained in:
commit
d11bdad196
2
go.mod
2
go.mod
@ -207,7 +207,7 @@ require (
|
||||
github.com/prometheus/procfs v0.8.0 // indirect
|
||||
github.com/rubiojr/go-vhd v0.0.0-20200706105327-02e210299021 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect
|
||||
github.com/seccomp/libseccomp-golang v0.10.0 // indirect
|
||||
github.com/sirupsen/logrus v1.9.0 // indirect
|
||||
github.com/soheilhy/cmux v0.1.5 // indirect
|
||||
github.com/stoewer/go-strcase v1.2.0 // indirect
|
||||
|
3
go.sum
3
go.sum
@ -618,8 +618,9 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
|
||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
|
||||
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds=
|
||||
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg=
|
||||
github.com/seccomp/libseccomp-golang v0.10.0 h1:aA4bp+/Zzi0BnWZ2F1wgNBs5gTpm+na2rWM6M9YjLpY=
|
||||
github.com/seccomp/libseccomp-golang v0.10.0/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg=
|
||||
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
|
25
vendor/github.com/seccomp/libseccomp-golang/CHANGELOG
generated
vendored
25
vendor/github.com/seccomp/libseccomp-golang/CHANGELOG
generated
vendored
@ -2,6 +2,31 @@ libseccomp-golang: Releases
|
||||
===============================================================================
|
||||
https://github.com/seccomp/libseccomp-golang
|
||||
|
||||
* Version 0.10.0 - June 9, 2022
|
||||
- Minimum supported version of libseccomp bumped to v2.3.1
|
||||
- Add seccomp userspace notification API (ActNotify, filter.*Notif*)
|
||||
- Add filter.{Get,Set}SSB (to support SCMP_FLTATR_CTL_SSB)
|
||||
- Add filter.{Get,Set}Optimize (to support SCMP_FLTATR_CTL_OPTIMIZE)
|
||||
- Add filter.{Get,Set}RawRC (to support SCMP_FLTATR_API_SYSRAWRC)
|
||||
- Add ArchPARISC, ArchPARISC64, ArchRISCV64
|
||||
- Add ActKillProcess and ActKillThread; deprecate ActKill
|
||||
- Add go module support
|
||||
- Return ErrSyscallDoesNotExist when unable to resolve a syscall
|
||||
- Fix some functions to check for both kernel level API and libseccomp version
|
||||
- Fix MakeCondition to use sanitizeCompareOp
|
||||
- Fix AddRule to handle EACCES (from libseccomp >= 2.5.0)
|
||||
- Updated the main docs and converted to README.md
|
||||
- Added CONTRIBUTING.md, SECURITY.md, and administrative docs under doc/admin
|
||||
- Add GitHub action CI, enable more linters
|
||||
- test: test against various libseccomp versions
|
||||
- test: fix and simplify execInSubprocess
|
||||
- test: fix APILevelIsSupported
|
||||
- Refactor the Errno(-1 * retCode) pattern
|
||||
- Refactor/unify libseccomp version / API level checks
|
||||
- Code cleanups (linter, formatting, spelling fixes)
|
||||
- Cleanup: use errors.New instead of fmt.Errorf where appropriate
|
||||
- Cleanup: remove duplicated cgo stuff, redundant linux build tag
|
||||
|
||||
* Version 0.9.1 - May 21, 2019
|
||||
- Minimum supported version of libseccomp bumped to v2.2.0
|
||||
- Use Libseccomp's `seccomp_version` API to retrieve library version
|
||||
|
32
vendor/github.com/seccomp/libseccomp-golang/README.md
generated
vendored
32
vendor/github.com/seccomp/libseccomp-golang/README.md
generated
vendored
@ -22,19 +22,37 @@ The library source repository currently lives on GitHub at the following URLs:
|
||||
* https://github.com/seccomp/libseccomp-golang
|
||||
* https://github.com/seccomp/libseccomp
|
||||
|
||||
The project mailing list is currently hosted on Google Groups at the URL below,
|
||||
please note that a Google account is not required to subscribe to the mailing
|
||||
list.
|
||||
|
||||
* https://groups.google.com/d/forum/libseccomp
|
||||
|
||||
Documentation for this package is also available at:
|
||||
|
||||
* https://pkg.go.dev/github.com/seccomp/libseccomp-golang
|
||||
|
||||
## Verifying Releases
|
||||
|
||||
Starting with libseccomp-golang v0.10.0, the git tag corresponding to each
|
||||
release should be signed by one of the libseccomp-golang maintainers. It is
|
||||
recommended that before use you verify the release tags using the following
|
||||
command:
|
||||
|
||||
% git tag -v <tag>
|
||||
|
||||
At present, only the following keys, specified via the fingerprints below, are
|
||||
authorized to sign official libseccomp-golang release tags:
|
||||
|
||||
Paul Moore <paul@paul-moore.com>
|
||||
7100 AADF AE6E 6E94 0D2E 0AD6 55E4 5A5A E8CA 7C8A
|
||||
|
||||
Tom Hromatka <tom.hromatka@oracle.com>
|
||||
47A6 8FCE 37C7 D702 4FD6 5E11 356C E62C 2B52 4099
|
||||
|
||||
Kir Kolyshkin <kolyshkin@gmail.com>
|
||||
C242 8CD7 5720 FACD CF76 B6EA 17DE 5ECB 75A1 100E
|
||||
|
||||
More information on GnuPG and git tag verification can be found at their
|
||||
respective websites: https://git-scm.com/docs/git and https://gnupg.org.
|
||||
|
||||
## Installing the package
|
||||
|
||||
# go get github.com/seccomp/libseccomp-golang
|
||||
% go get github.com/seccomp/libseccomp-golang
|
||||
|
||||
## Contributing
|
||||
|
||||
|
1
vendor/github.com/seccomp/libseccomp-golang/SECURITY.md
generated
vendored
1
vendor/github.com/seccomp/libseccomp-golang/SECURITY.md
generated
vendored
@ -22,6 +22,7 @@ window.
|
||||
|
||||
* Paul Moore, paul@paul-moore.com
|
||||
* Tom Hromatka, tom.hromatka@oracle.com
|
||||
* Kir Kolyshkin, kolyshkin@gmail.com
|
||||
|
||||
### Resolving Sensitive Security Issues
|
||||
|
||||
|
15
vendor/github.com/seccomp/libseccomp-golang/seccomp.go
generated
vendored
15
vendor/github.com/seccomp/libseccomp-golang/seccomp.go
generated
vendored
@ -7,6 +7,7 @@
|
||||
package seccomp
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"runtime"
|
||||
@ -245,8 +246,8 @@ const (
|
||||
)
|
||||
|
||||
// ErrSyscallDoesNotExist represents an error condition where
|
||||
// libseccomp is unable to resolve the syscall
|
||||
var ErrSyscallDoesNotExist = fmt.Errorf("could not resolve syscall name")
|
||||
// libseccomp is unable to resolve the syscall.
|
||||
var ErrSyscallDoesNotExist = errors.New("could not resolve syscall name")
|
||||
|
||||
const (
|
||||
// Userspace notification response flags
|
||||
@ -556,7 +557,7 @@ func MakeCondition(arg uint, comparison ScmpCompareOp, values ...uint64) (ScmpCo
|
||||
} else if len(values) > 2 {
|
||||
return condStruct, fmt.Errorf("conditions can have at most 2 arguments (%d given)", len(values))
|
||||
} else if len(values) == 0 {
|
||||
return condStruct, fmt.Errorf("must provide at least one value to compare against")
|
||||
return condStruct, errors.New("must provide at least one value to compare against")
|
||||
}
|
||||
|
||||
condStruct.Argument = arg
|
||||
@ -611,7 +612,7 @@ func NewFilter(defaultAction ScmpAction) (*ScmpFilter, error) {
|
||||
|
||||
fPtr := C.seccomp_init(defaultAction.toNative())
|
||||
if fPtr == nil {
|
||||
return nil, fmt.Errorf("could not create filter")
|
||||
return nil, errors.New("could not create filter")
|
||||
}
|
||||
|
||||
filter := new(ScmpFilter)
|
||||
@ -623,7 +624,7 @@ func NewFilter(defaultAction ScmpAction) (*ScmpFilter, error) {
|
||||
// If the kernel does not support TSYNC, allow us to continue without error.
|
||||
if err := filter.setFilterAttr(filterAttrTsync, 0x1); err != nil && err != syscall.ENOTSUP {
|
||||
filter.Release()
|
||||
return nil, fmt.Errorf("could not create filter - error setting tsync bit: %v", err)
|
||||
return nil, fmt.Errorf("could not create filter: error setting tsync bit: %w", err)
|
||||
}
|
||||
|
||||
return filter, nil
|
||||
@ -695,14 +696,14 @@ func (f *ScmpFilter) Merge(src *ScmpFilter) error {
|
||||
defer src.lock.Unlock()
|
||||
|
||||
if !src.valid || !f.valid {
|
||||
return fmt.Errorf("one or more of the filter contexts is invalid or uninitialized")
|
||||
return errors.New("one or more of the filter contexts is invalid or uninitialized")
|
||||
}
|
||||
|
||||
// Merge the filters
|
||||
if retCode := C.seccomp_merge(f.filterCtx, src.filterCtx); retCode != 0 {
|
||||
e := errRc(retCode)
|
||||
if e == syscall.EINVAL {
|
||||
return fmt.Errorf("filters could not be merged due to a mismatch in attributes or invalid filter")
|
||||
return fmt.Errorf("filters could not be merged due to a mismatch in attributes or invalid filter: %w", e)
|
||||
}
|
||||
return e
|
||||
}
|
||||
|
17
vendor/github.com/seccomp/libseccomp-golang/seccomp_internal.go
generated
vendored
17
vendor/github.com/seccomp/libseccomp-golang/seccomp_internal.go
generated
vendored
@ -340,7 +340,7 @@ func ensureSupportedVersion() error {
|
||||
func getAPI() (uint, error) {
|
||||
api := C.seccomp_api_get()
|
||||
if api == 0 {
|
||||
return 0, fmt.Errorf("API level operations are not supported")
|
||||
return 0, errors.New("API level operations are not supported")
|
||||
}
|
||||
|
||||
return uint(api), nil
|
||||
@ -349,11 +349,12 @@ func getAPI() (uint, error) {
|
||||
// Set the API level
|
||||
func setAPI(api uint) error {
|
||||
if retCode := C.seccomp_api_set(C.uint(api)); retCode != 0 {
|
||||
if errRc(retCode) == syscall.EOPNOTSUPP {
|
||||
return fmt.Errorf("API level operations are not supported")
|
||||
e := errRc(retCode)
|
||||
if e == syscall.EOPNOTSUPP {
|
||||
return errors.New("API level operations are not supported")
|
||||
}
|
||||
|
||||
return fmt.Errorf("could not set API level: %v", retCode)
|
||||
return fmt.Errorf("could not set API level: %w", e)
|
||||
}
|
||||
|
||||
return nil
|
||||
@ -411,7 +412,7 @@ func (f *ScmpFilter) setFilterAttr(attr scmpFilterAttr, value C.uint32_t) error
|
||||
// Wrapper for seccomp_rule_add_... functions
|
||||
func (f *ScmpFilter) addRuleWrapper(call ScmpSyscall, action ScmpAction, exact bool, length C.uint, cond C.scmp_cast_t) error {
|
||||
if length != 0 && cond == nil {
|
||||
return fmt.Errorf("null conditions list, but length is nonzero")
|
||||
return errors.New("null conditions list, but length is nonzero")
|
||||
}
|
||||
|
||||
var retCode C.int
|
||||
@ -430,7 +431,7 @@ func (f *ScmpFilter) addRuleWrapper(call ScmpSyscall, action ScmpAction, exact b
|
||||
case syscall.EPERM, syscall.EACCES:
|
||||
return errDefAction
|
||||
case syscall.EINVAL:
|
||||
return fmt.Errorf("two checks on same syscall argument")
|
||||
return errors.New("two checks on same syscall argument")
|
||||
default:
|
||||
return e
|
||||
}
|
||||
@ -455,7 +456,7 @@ func (f *ScmpFilter) addRuleGeneric(call ScmpSyscall, action ScmpAction, exact b
|
||||
} else {
|
||||
argsArr := C.make_arg_cmp_array(C.uint(len(conds)))
|
||||
if argsArr == nil {
|
||||
return fmt.Errorf("error allocating memory for conditions")
|
||||
return errors.New("error allocating memory for conditions")
|
||||
}
|
||||
defer C.free(argsArr)
|
||||
|
||||
@ -495,7 +496,7 @@ func sanitizeAction(in ScmpAction) error {
|
||||
}
|
||||
|
||||
if inTmp != ActTrace && inTmp != ActErrno && (in&0xFFFF0000) != 0 {
|
||||
return fmt.Errorf("highest 16 bits must be zeroed except for Trace and Errno")
|
||||
return errors.New("highest 16 bits must be zeroed except for Trace and Errno")
|
||||
}
|
||||
|
||||
return nil
|
||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -634,7 +634,7 @@ github.com/rubiojr/go-vhd/vhd
|
||||
# github.com/russross/blackfriday/v2 v2.1.0
|
||||
## explicit
|
||||
github.com/russross/blackfriday/v2
|
||||
# github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646
|
||||
# github.com/seccomp/libseccomp-golang v0.10.0
|
||||
## explicit; go 1.14
|
||||
github.com/seccomp/libseccomp-golang
|
||||
# github.com/sirupsen/logrus v1.9.0
|
||||
|
Loading…
Reference in New Issue
Block a user