mirror of
https://github.com/containers/podman.git
synced 2025-06-17 23:20:59 +08:00
Bump github.com/opencontainers/runc from 1.0.0-rc93 to 1.0.0-rc94
Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.0.0-rc93 to 1.0.0-rc94. - [Release notes](https://github.com/opencontainers/runc/releases) - [Commits](https://github.com/opencontainers/runc/compare/v1.0.0-rc93...v1.0.0-rc94) Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
6
go.mod
6
go.mod
@ -46,8 +46,8 @@ require (
|
|||||||
github.com/onsi/gomega v1.12.0
|
github.com/onsi/gomega v1.12.0
|
||||||
github.com/opencontainers/go-digest v1.0.0
|
github.com/opencontainers/go-digest v1.0.0
|
||||||
github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6
|
github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6
|
||||||
github.com/opencontainers/runc v1.0.0-rc93
|
github.com/opencontainers/runc v1.0.0-rc94
|
||||||
github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
|
||||||
github.com/opencontainers/runtime-tools v0.9.0
|
github.com/opencontainers/runtime-tools v0.9.0
|
||||||
github.com/opencontainers/selinux v1.8.0
|
github.com/opencontainers/selinux v1.8.0
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
@ -64,7 +64,7 @@ require (
|
|||||||
go.etcd.io/bbolt v1.3.5
|
go.etcd.io/bbolt v1.3.5
|
||||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
|
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
|
||||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a
|
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da
|
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
|
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
|
||||||
k8s.io/api v0.21.0
|
k8s.io/api v0.21.0
|
||||||
k8s.io/apimachinery v0.21.0
|
k8s.io/apimachinery v0.21.0
|
||||||
|
14
go.sum
14
go.sum
@ -107,6 +107,7 @@ github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b h1:T4nW
|
|||||||
github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho=
|
github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho=
|
||||||
github.com/checkpoint-restore/go-criu/v4 v4.0.2/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
|
github.com/checkpoint-restore/go-criu/v4 v4.0.2/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
|
||||||
github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
|
github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
|
||||||
|
github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M=
|
||||||
github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE=
|
github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE=
|
||||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=
|
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=
|
||||||
@ -117,6 +118,7 @@ github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmE
|
|||||||
github.com/cilium/ebpf v0.0.0-20200507155900-a9f01edf17e3/go.mod h1:XT+cAw5wfvsodedcijoh1l9cf7v1x9FlFB/3VmF/O8s=
|
github.com/cilium/ebpf v0.0.0-20200507155900-a9f01edf17e3/go.mod h1:XT+cAw5wfvsodedcijoh1l9cf7v1x9FlFB/3VmF/O8s=
|
||||||
github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc=
|
github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc=
|
||||||
github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
|
github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
|
||||||
|
github.com/cilium/ebpf v0.5.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||||
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
|
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
|
||||||
@ -139,6 +141,7 @@ github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on
|
|||||||
github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
|
github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
|
||||||
github.com/containerd/console v1.0.0/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
|
github.com/containerd/console v1.0.0/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
|
||||||
github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
|
github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
|
||||||
|
github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ=
|
||||||
github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||||
github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||||
github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||||
@ -304,6 +307,7 @@ github.com/fanliao/go-promise v0.0.0-20141029170127-1890db352a72/go.mod h1:Pjfxu
|
|||||||
github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
|
github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
|
||||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
|
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
|
||||||
|
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||||
@ -513,6 +517,7 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv
|
|||||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
|
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
@ -645,15 +650,17 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P
|
|||||||
github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||||
github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||||
github.com/opencontainers/runc v1.0.0-rc91/go.mod h1:3Sm6Dt7OT8z88EbdQqqcRN2oCT54jbi72tT/HqgflT8=
|
github.com/opencontainers/runc v1.0.0-rc91/go.mod h1:3Sm6Dt7OT8z88EbdQqqcRN2oCT54jbi72tT/HqgflT8=
|
||||||
github.com/opencontainers/runc v1.0.0-rc93 h1:x2UMpOOVf3kQ8arv/EsDGwim8PTNqzL1/EYDr/+scOM=
|
|
||||||
github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0=
|
github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0=
|
||||||
|
github.com/opencontainers/runc v1.0.0-rc94 h1:atqAFoBGp+Wkh9HKpYN3g/8NCbMzYG6SJrr+YgwamgM=
|
||||||
|
github.com/opencontainers/runc v1.0.0-rc94/go.mod h1:z+bZxa/+Tz/FmYVWkhUajJdzFeOqjc5vrqskhVyHGUM=
|
||||||
github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-spec v1.0.3-0.20200520003142-237cc4f519e2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.3-0.20200520003142-237cc4f519e2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d h1:pNa8metDkwZjb9g4T8s+krQ+HRgZAkqnXml+wNir/+s=
|
|
||||||
github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc=
|
||||||
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
|
github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
|
||||||
github.com/opencontainers/runtime-tools v0.9.0 h1:FYgwVsKRI/H9hU32MJ/4MLOzXWodKK5zsQavY8NPMkU=
|
github.com/opencontainers/runtime-tools v0.9.0 h1:FYgwVsKRI/H9hU32MJ/4MLOzXWodKK5zsQavY8NPMkU=
|
||||||
github.com/opencontainers/runtime-tools v0.9.0/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
|
github.com/opencontainers/runtime-tools v0.9.0/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
|
||||||
@ -1025,8 +1032,9 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||||||
golang.org/x/sys v0.0.0-20210216224549-f992740a1bac/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210216224549-f992740a1bac/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
|
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 h1:dXfMednGJh/SUUFjTLsWJz3P+TQt9qnR11GgeI3vWKs=
|
||||||
|
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
|
28
vendor/github.com/opencontainers/runc/libcontainer/apparmor/apparmor_linux.go
generated
vendored
28
vendor/github.com/opencontainers/runc/libcontainer/apparmor/apparmor_linux.go
generated
vendored
@ -1,27 +1,41 @@
|
|||||||
package apparmor
|
package apparmor
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
"sync"
|
||||||
|
|
||||||
"github.com/opencontainers/runc/libcontainer/utils"
|
"github.com/opencontainers/runc/libcontainer/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
appArmorEnabled bool
|
||||||
|
checkAppArmor sync.Once
|
||||||
|
)
|
||||||
|
|
||||||
// IsEnabled returns true if apparmor is enabled for the host.
|
// IsEnabled returns true if apparmor is enabled for the host.
|
||||||
func IsEnabled() bool {
|
func IsEnabled() bool {
|
||||||
if _, err := os.Stat("/sys/kernel/security/apparmor"); err == nil {
|
checkAppArmor.Do(func() {
|
||||||
buf, err := ioutil.ReadFile("/sys/module/apparmor/parameters/enabled")
|
if _, err := os.Stat("/sys/kernel/security/apparmor"); err == nil {
|
||||||
return err == nil && bytes.HasPrefix(buf, []byte("Y"))
|
buf, err := ioutil.ReadFile("/sys/module/apparmor/parameters/enabled")
|
||||||
}
|
appArmorEnabled = err == nil && len(buf) > 1 && buf[0] == 'Y'
|
||||||
return false
|
}
|
||||||
|
})
|
||||||
|
return appArmorEnabled
|
||||||
}
|
}
|
||||||
|
|
||||||
func setProcAttr(attr, value string) error {
|
func setProcAttr(attr, value string) error {
|
||||||
// Under AppArmor you can only change your own attr, so use /proc/self/
|
// Under AppArmor you can only change your own attr, so use /proc/self/
|
||||||
// instead of /proc/<tid>/ like libapparmor does
|
// instead of /proc/<tid>/ like libapparmor does
|
||||||
f, err := os.OpenFile("/proc/self/attr/"+attr, os.O_WRONLY, 0)
|
attrPath := "/proc/self/attr/apparmor/" + attr
|
||||||
|
if _, err := os.Stat(attrPath); errors.Is(err, os.ErrNotExist) {
|
||||||
|
// fall back to the old convention
|
||||||
|
attrPath = "/proc/self/attr/" + attr
|
||||||
|
}
|
||||||
|
|
||||||
|
f, err := os.OpenFile(attrPath, os.O_WRONLY, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
36
vendor/github.com/opencontainers/runc/libcontainer/cgroups/cgroups.go
generated
vendored
36
vendor/github.com/opencontainers/runc/libcontainer/cgroups/cgroups.go
generated
vendored
@ -7,37 +7,44 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Manager interface {
|
type Manager interface {
|
||||||
// Applies cgroup configuration to the process with the specified pid
|
// Apply creates a cgroup, if not yet created, and adds a process
|
||||||
|
// with the specified pid into that cgroup. A special value of -1
|
||||||
|
// can be used to merely create a cgroup.
|
||||||
Apply(pid int) error
|
Apply(pid int) error
|
||||||
|
|
||||||
// Returns the PIDs inside the cgroup set
|
// GetPids returns the PIDs of all processes inside the cgroup.
|
||||||
GetPids() ([]int, error)
|
GetPids() ([]int, error)
|
||||||
|
|
||||||
// Returns the PIDs inside the cgroup set & all sub-cgroups
|
// GetAllPids returns the PIDs of all processes inside the cgroup
|
||||||
|
// any all its sub-cgroups.
|
||||||
GetAllPids() ([]int, error)
|
GetAllPids() ([]int, error)
|
||||||
|
|
||||||
// Returns statistics for the cgroup set
|
// GetStats returns cgroups statistics.
|
||||||
GetStats() (*Stats, error)
|
GetStats() (*Stats, error)
|
||||||
|
|
||||||
// Toggles the freezer cgroup according with specified state
|
// Freeze sets the freezer cgroup to the specified state.
|
||||||
Freeze(state configs.FreezerState) error
|
Freeze(state configs.FreezerState) error
|
||||||
|
|
||||||
// Destroys the cgroup set
|
// Destroy removes cgroup.
|
||||||
Destroy() error
|
Destroy() error
|
||||||
|
|
||||||
// Path returns a cgroup path to the specified controller/subsystem.
|
// Path returns a cgroup path to the specified controller/subsystem.
|
||||||
// For cgroupv2, the argument is unused and can be empty.
|
// For cgroupv2, the argument is unused and can be empty.
|
||||||
Path(string) string
|
Path(string) string
|
||||||
|
|
||||||
// Sets the cgroup as configured.
|
// Set sets cgroup resources parameters/limits. If the argument is nil,
|
||||||
Set(container *configs.Config) error
|
// the resources specified during Manager creation (or the previous call
|
||||||
|
// to Set) are used.
|
||||||
|
Set(r *configs.Resources) error
|
||||||
|
|
||||||
// GetPaths returns cgroup path(s) to save in a state file in order to restore later.
|
// GetPaths returns cgroup path(s) to save in a state file in order to
|
||||||
|
// restore later.
|
||||||
//
|
//
|
||||||
// For cgroup v1, a key is cgroup subsystem name, and the value is the path
|
// For cgroup v1, a key is cgroup subsystem name, and the value is the
|
||||||
// to the cgroup for this subsystem.
|
// path to the cgroup for this subsystem.
|
||||||
//
|
//
|
||||||
// For cgroup v2 unified hierarchy, a key is "", and the value is the unified path.
|
// For cgroup v2 unified hierarchy, a key is "", and the value is the
|
||||||
|
// unified path.
|
||||||
GetPaths() map[string]string
|
GetPaths() map[string]string
|
||||||
|
|
||||||
// GetCgroups returns the cgroup data as configured.
|
// GetCgroups returns the cgroup data as configured.
|
||||||
@ -46,6 +53,9 @@ type Manager interface {
|
|||||||
// GetFreezerState retrieves the current FreezerState of the cgroup.
|
// GetFreezerState retrieves the current FreezerState of the cgroup.
|
||||||
GetFreezerState() (configs.FreezerState, error)
|
GetFreezerState() (configs.FreezerState, error)
|
||||||
|
|
||||||
// Whether the cgroup path exists or not
|
// Exists returns whether the cgroup path exists or not.
|
||||||
Exists() bool
|
Exists() bool
|
||||||
|
|
||||||
|
// OOMKillCount reports OOM kill count for the cgroup.
|
||||||
|
OOMKillCount() (uint64, error)
|
||||||
}
|
}
|
||||||
|
35
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fscommon/open.go
generated
vendored
35
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fscommon/open.go
generated
vendored
@ -5,7 +5,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
securejoin "github.com/cyphar/filepath-securejoin"
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
@ -17,7 +16,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// Set to true by fs unit tests
|
// TestMode is set to true by unit tests that need "fake" cgroupfs.
|
||||||
TestMode bool
|
TestMode bool
|
||||||
|
|
||||||
cgroupFd int = -1
|
cgroupFd int = -1
|
||||||
@ -71,12 +70,12 @@ func OpenFile(dir, file string, flags int) (*os.File, error) {
|
|||||||
flags |= os.O_TRUNC | os.O_CREATE
|
flags |= os.O_TRUNC | os.O_CREATE
|
||||||
mode = 0o600
|
mode = 0o600
|
||||||
}
|
}
|
||||||
|
if prepareOpenat2() != nil {
|
||||||
|
return openFallback(dir, file, flags, mode)
|
||||||
|
}
|
||||||
reldir := strings.TrimPrefix(dir, cgroupfsPrefix)
|
reldir := strings.TrimPrefix(dir, cgroupfsPrefix)
|
||||||
if len(reldir) == len(dir) { // non-standard path, old system?
|
if len(reldir) == len(dir) { // non-standard path, old system?
|
||||||
return openWithSecureJoin(dir, file, flags, mode)
|
return openFallback(dir, file, flags, mode)
|
||||||
}
|
|
||||||
if prepareOpenat2() != nil {
|
|
||||||
return openWithSecureJoin(dir, file, flags, mode)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
relname := reldir + "/" + file
|
relname := reldir + "/" + file
|
||||||
@ -93,11 +92,29 @@ func OpenFile(dir, file string, flags int) (*os.File, error) {
|
|||||||
return os.NewFile(uintptr(fd), cgroupfsPrefix+relname), nil
|
return os.NewFile(uintptr(fd), cgroupfsPrefix+relname), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func openWithSecureJoin(dir, file string, flags int, mode os.FileMode) (*os.File, error) {
|
var errNotCgroupfs = errors.New("not a cgroup file")
|
||||||
path, err := securejoin.SecureJoin(dir, file)
|
|
||||||
|
// openFallback is used when openat2(2) is not available. It checks the opened
|
||||||
|
// file is on cgroupfs, returning an error otherwise.
|
||||||
|
func openFallback(dir, file string, flags int, mode os.FileMode) (*os.File, error) {
|
||||||
|
path := dir + "/" + file
|
||||||
|
fd, err := os.OpenFile(path, flags, mode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if TestMode {
|
||||||
|
return fd, nil
|
||||||
|
}
|
||||||
|
// Check this is a cgroupfs file.
|
||||||
|
var st unix.Statfs_t
|
||||||
|
if err := unix.Fstatfs(int(fd.Fd()), &st); err != nil {
|
||||||
|
_ = fd.Close()
|
||||||
|
return nil, &os.PathError{Op: "statfs", Path: path, Err: err}
|
||||||
|
}
|
||||||
|
if st.Type != unix.CGROUP_SUPER_MAGIC && st.Type != unix.CGROUP2_SUPER_MAGIC {
|
||||||
|
_ = fd.Close()
|
||||||
|
return nil, &os.PathError{Op: "open", Path: path, Err: errNotCgroupfs}
|
||||||
|
}
|
||||||
|
|
||||||
return os.OpenFile(path, flags, mode)
|
return fd, nil
|
||||||
}
|
}
|
||||||
|
50
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fscommon/utils.go
generated
vendored
50
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fscommon/utils.go
generated
vendored
@ -35,22 +35,42 @@ func ParseUint(s string, base, bitSize int) (uint64, error) {
|
|||||||
return value, nil
|
return value, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCgroupParamKeyValue parses a space-separated "name value" kind of cgroup
|
// ParseKeyValue parses a space-separated "name value" kind of cgroup
|
||||||
// parameter and returns its components. For example, "io_service_bytes 1234"
|
// parameter and returns its key as a string, and its value as uint64
|
||||||
// will return as "io_service_bytes", 1234.
|
// (ParseUint is used to convert the value). For example,
|
||||||
func GetCgroupParamKeyValue(t string) (string, uint64, error) {
|
// "io_service_bytes 1234" will be returned as "io_service_bytes", 1234.
|
||||||
parts := strings.Fields(t)
|
func ParseKeyValue(t string) (string, uint64, error) {
|
||||||
switch len(parts) {
|
parts := strings.SplitN(t, " ", 3)
|
||||||
case 2:
|
if len(parts) != 2 {
|
||||||
value, err := ParseUint(parts[1], 10, 64)
|
return "", 0, fmt.Errorf("line %q is not in key value format", t)
|
||||||
if err != nil {
|
|
||||||
return "", 0, fmt.Errorf("unable to convert to uint64: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return parts[0], value, nil
|
|
||||||
default:
|
|
||||||
return "", 0, ErrNotValidFormat
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
value, err := ParseUint(parts[1], 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return "", 0, fmt.Errorf("unable to convert to uint64: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return parts[0], value, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetValueByKey reads a key-value pairs from the specified cgroup file,
|
||||||
|
// and returns a value of the specified key. ParseUint is used for value
|
||||||
|
// conversion.
|
||||||
|
func GetValueByKey(path, file, key string) (uint64, error) {
|
||||||
|
content, err := ReadFile(path, file)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
lines := strings.Split(string(content), "\n")
|
||||||
|
for _, line := range lines {
|
||||||
|
arr := strings.Split(line, " ")
|
||||||
|
if len(arr) == 2 && arr[0] == key {
|
||||||
|
return ParseUint(arr[1], 10, 64)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCgroupParamUint reads a single uint64 value from the specified cgroup file.
|
// GetCgroupParamUint reads a single uint64 value from the specified cgroup file.
|
||||||
|
26
vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go
generated
vendored
26
vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go
generated
vendored
@ -16,7 +16,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/opencontainers/runc/libcontainer/cgroups/fscommon"
|
"github.com/opencontainers/runc/libcontainer/cgroups/fscommon"
|
||||||
"github.com/opencontainers/runc/libcontainer/system"
|
"github.com/opencontainers/runc/libcontainer/userns"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
@ -37,7 +37,7 @@ func IsCgroup2UnifiedMode() bool {
|
|||||||
var st unix.Statfs_t
|
var st unix.Statfs_t
|
||||||
err := unix.Statfs(unifiedMountpoint, &st)
|
err := unix.Statfs(unifiedMountpoint, &st)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) && system.RunningInUserNS() {
|
if os.IsNotExist(err) && userns.RunningInUserNS() {
|
||||||
// ignore the "not found" error if running in userns
|
// ignore the "not found" error if running in userns
|
||||||
logrus.WithError(err).Debugf("%s missing, assuming cgroup v1", unifiedMountpoint)
|
logrus.WithError(err).Debugf("%s missing, assuming cgroup v1", unifiedMountpoint)
|
||||||
isUnified = false
|
isUnified = false
|
||||||
@ -400,17 +400,6 @@ func WriteCgroupProc(dir string, pid int) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Since the OCI spec is designed for cgroup v1, in some cases
|
|
||||||
// there is need to convert from the cgroup v1 configuration to cgroup v2
|
|
||||||
// the formula for BlkIOWeight is y = (1 + (x - 10) * 9999 / 990)
|
|
||||||
// convert linearly from [10-1000] to [1-10000]
|
|
||||||
func ConvertBlkIOToCgroupV2Value(blkIoWeight uint16) uint64 {
|
|
||||||
if blkIoWeight == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
return uint64(1 + (uint64(blkIoWeight)-10)*9999/990)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Since the OCI spec is designed for cgroup v1, in some cases
|
// Since the OCI spec is designed for cgroup v1, in some cases
|
||||||
// there is need to convert from the cgroup v1 configuration to cgroup v2
|
// there is need to convert from the cgroup v1 configuration to cgroup v2
|
||||||
// the formula for cpuShares is y = (1 + ((x - 2) * 9999) / 262142)
|
// the formula for cpuShares is y = (1 + ((x - 2) * 9999) / 262142)
|
||||||
@ -450,3 +439,14 @@ func ConvertMemorySwapToCgroupV2Value(memorySwap, memory int64) (int64, error) {
|
|||||||
|
|
||||||
return memorySwap - memory, nil
|
return memorySwap - memory, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Since the OCI spec is designed for cgroup v1, in some cases
|
||||||
|
// there is need to convert from the cgroup v1 configuration to cgroup v2
|
||||||
|
// the formula for BlkIOWeight to IOWeight is y = (1 + (x - 10) * 9999 / 990)
|
||||||
|
// convert linearly from [10-1000] to [1-10000]
|
||||||
|
func ConvertBlkIOToIOWeightValue(blkIoWeight uint16) uint64 {
|
||||||
|
if blkIoWeight == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return uint64(1 + (uint64(blkIoWeight)-10)*9999/990)
|
||||||
|
}
|
||||||
|
6
vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_linux.go
generated
vendored
6
vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_linux.go
generated
vendored
@ -54,12 +54,6 @@ type Resources struct {
|
|||||||
// Total memory usage (memory + swap); set `-1` to enable unlimited swap
|
// Total memory usage (memory + swap); set `-1` to enable unlimited swap
|
||||||
MemorySwap int64 `json:"memory_swap"`
|
MemorySwap int64 `json:"memory_swap"`
|
||||||
|
|
||||||
// Kernel memory limit (in bytes)
|
|
||||||
KernelMemory int64 `json:"kernel_memory"`
|
|
||||||
|
|
||||||
// Kernel memory limit for TCP use (in bytes)
|
|
||||||
KernelMemoryTCP int64 `json:"kernel_memory_tcp"`
|
|
||||||
|
|
||||||
// CPU shares (relative weight vs. other containers)
|
// CPU shares (relative weight vs. other containers)
|
||||||
CpuShares uint64 `json:"cpu_shares"`
|
CpuShares uint64 `json:"cpu_shares"`
|
||||||
|
|
||||||
|
12
vendor/github.com/opencontainers/runc/libcontainer/configs/config.go
generated
vendored
12
vendor/github.com/opencontainers/runc/libcontainer/configs/config.go
generated
vendored
@ -222,25 +222,25 @@ const (
|
|||||||
// the runtime environment has been created but before the pivot_root has been executed.
|
// the runtime environment has been created but before the pivot_root has been executed.
|
||||||
// CreateRuntime is called immediately after the deprecated Prestart hook.
|
// CreateRuntime is called immediately after the deprecated Prestart hook.
|
||||||
// CreateRuntime commands are called in the Runtime Namespace.
|
// CreateRuntime commands are called in the Runtime Namespace.
|
||||||
CreateRuntime = "createRuntime"
|
CreateRuntime HookName = "createRuntime"
|
||||||
|
|
||||||
// CreateContainer commands MUST be called as part of the create operation after
|
// CreateContainer commands MUST be called as part of the create operation after
|
||||||
// the runtime environment has been created but before the pivot_root has been executed.
|
// the runtime environment has been created but before the pivot_root has been executed.
|
||||||
// CreateContainer commands are called in the Container namespace.
|
// CreateContainer commands are called in the Container namespace.
|
||||||
CreateContainer = "createContainer"
|
CreateContainer HookName = "createContainer"
|
||||||
|
|
||||||
// StartContainer commands MUST be called as part of the start operation and before
|
// StartContainer commands MUST be called as part of the start operation and before
|
||||||
// the container process is started.
|
// the container process is started.
|
||||||
// StartContainer commands are called in the Container namespace.
|
// StartContainer commands are called in the Container namespace.
|
||||||
StartContainer = "startContainer"
|
StartContainer HookName = "startContainer"
|
||||||
|
|
||||||
// Poststart commands are executed after the container init process starts.
|
// Poststart commands are executed after the container init process starts.
|
||||||
// Poststart commands are called in the Runtime Namespace.
|
// Poststart commands are called in the Runtime Namespace.
|
||||||
Poststart = "poststart"
|
Poststart HookName = "poststart"
|
||||||
|
|
||||||
// Poststop commands are executed after the container init process exits.
|
// Poststop commands are executed after the container init process exits.
|
||||||
// Poststop commands are called in the Runtime Namespace.
|
// Poststop commands are called in the Runtime Namespace.
|
||||||
Poststop = "poststop"
|
Poststop HookName = "poststop"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Capabilities struct {
|
type Capabilities struct {
|
||||||
@ -387,7 +387,7 @@ func (c Command) Run(s *specs.State) error {
|
|||||||
return err
|
return err
|
||||||
case <-timerCh:
|
case <-timerCh:
|
||||||
cmd.Process.Kill()
|
cmd.Process.Kill()
|
||||||
cmd.Wait()
|
<-errC
|
||||||
return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds())
|
return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
9
vendor/github.com/opencontainers/runc/libcontainer/configs/configs_fuzzer.go
generated
vendored
Normal file
9
vendor/github.com/opencontainers/runc/libcontainer/configs/configs_fuzzer.go
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// +build gofuzz
|
||||||
|
|
||||||
|
package configs
|
||||||
|
|
||||||
|
func FuzzUnmarshalJSON(data []byte) int {
|
||||||
|
hooks := Hooks{}
|
||||||
|
_ = hooks.UnmarshalJSON(data)
|
||||||
|
return 1
|
||||||
|
}
|
4
vendor/github.com/opencontainers/runc/libcontainer/devices/device.go
generated
vendored
4
vendor/github.com/opencontainers/runc/libcontainer/devices/device.go
generated
vendored
@ -168,3 +168,7 @@ func (d *Rule) CgroupString() string {
|
|||||||
}
|
}
|
||||||
return fmt.Sprintf("%c %s:%s %s", d.Type, major, minor, d.Permissions)
|
return fmt.Sprintf("%c %s:%s %s", d.Type, major, minor, d.Permissions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d *Rule) Mkdev() (uint64, error) {
|
||||||
|
return mkDev(d)
|
||||||
|
}
|
||||||
|
107
vendor/github.com/opencontainers/runc/libcontainer/devices/device_unix.go
generated
vendored
107
vendor/github.com/opencontainers/runc/libcontainer/devices/device_unix.go
generated
vendored
@ -4,13 +4,118 @@ package devices
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (d *Rule) Mkdev() (uint64, error) {
|
var (
|
||||||
|
// ErrNotADevice denotes that a file is not a valid linux device.
|
||||||
|
ErrNotADevice = errors.New("not a device node")
|
||||||
|
)
|
||||||
|
|
||||||
|
// Testing dependencies
|
||||||
|
var (
|
||||||
|
unixLstat = unix.Lstat
|
||||||
|
ioutilReadDir = ioutil.ReadDir
|
||||||
|
)
|
||||||
|
|
||||||
|
func mkDev(d *Rule) (uint64, error) {
|
||||||
if d.Major == Wildcard || d.Minor == Wildcard {
|
if d.Major == Wildcard || d.Minor == Wildcard {
|
||||||
return 0, errors.New("cannot mkdev() device with wildcards")
|
return 0, errors.New("cannot mkdev() device with wildcards")
|
||||||
}
|
}
|
||||||
return unix.Mkdev(uint32(d.Major), uint32(d.Minor)), nil
|
return unix.Mkdev(uint32(d.Major), uint32(d.Minor)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Given the path to a device and its cgroup_permissions(which cannot be easily queried) look up the
|
||||||
|
// information about a linux device and return that information as a Device struct.
|
||||||
|
func DeviceFromPath(path, permissions string) (*Device, error) {
|
||||||
|
var stat unix.Stat_t
|
||||||
|
err := unixLstat(path, &stat)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
devType Type
|
||||||
|
mode = stat.Mode
|
||||||
|
devNumber = uint64(stat.Rdev)
|
||||||
|
major = unix.Major(devNumber)
|
||||||
|
minor = unix.Minor(devNumber)
|
||||||
|
)
|
||||||
|
switch mode & unix.S_IFMT {
|
||||||
|
case unix.S_IFBLK:
|
||||||
|
devType = BlockDevice
|
||||||
|
case unix.S_IFCHR:
|
||||||
|
devType = CharDevice
|
||||||
|
case unix.S_IFIFO:
|
||||||
|
devType = FifoDevice
|
||||||
|
default:
|
||||||
|
return nil, ErrNotADevice
|
||||||
|
}
|
||||||
|
return &Device{
|
||||||
|
Rule: Rule{
|
||||||
|
Type: devType,
|
||||||
|
Major: int64(major),
|
||||||
|
Minor: int64(minor),
|
||||||
|
Permissions: Permissions(permissions),
|
||||||
|
},
|
||||||
|
Path: path,
|
||||||
|
FileMode: os.FileMode(mode &^ unix.S_IFMT),
|
||||||
|
Uid: stat.Uid,
|
||||||
|
Gid: stat.Gid,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// HostDevices returns all devices that can be found under /dev directory.
|
||||||
|
func HostDevices() ([]*Device, error) {
|
||||||
|
return GetDevices("/dev")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDevices recursively traverses a directory specified by path
|
||||||
|
// and returns all devices found there.
|
||||||
|
func GetDevices(path string) ([]*Device, error) {
|
||||||
|
files, err := ioutilReadDir(path)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var out []*Device
|
||||||
|
for _, f := range files {
|
||||||
|
switch {
|
||||||
|
case f.IsDir():
|
||||||
|
switch f.Name() {
|
||||||
|
// ".lxc" & ".lxd-mounts" added to address https://github.com/lxc/lxd/issues/2825
|
||||||
|
// ".udev" added to address https://github.com/opencontainers/runc/issues/2093
|
||||||
|
case "pts", "shm", "fd", "mqueue", ".lxc", ".lxd-mounts", ".udev":
|
||||||
|
continue
|
||||||
|
default:
|
||||||
|
sub, err := GetDevices(filepath.Join(path, f.Name()))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
out = append(out, sub...)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
case f.Name() == "console":
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
device, err := DeviceFromPath(filepath.Join(path, f.Name()), "rwm")
|
||||||
|
if err != nil {
|
||||||
|
if err == ErrNotADevice {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if device.Type == FifoDevice {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
out = append(out, device)
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
5
vendor/github.com/opencontainers/runc/libcontainer/devices/device_windows.go
generated
vendored
5
vendor/github.com/opencontainers/runc/libcontainer/devices/device_windows.go
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
package devices
|
|
||||||
|
|
||||||
func (d *Rule) Mkdev() (uint64, error) {
|
|
||||||
return 0, nil
|
|
||||||
}
|
|
112
vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go
generated
vendored
112
vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go
generated
vendored
@ -1,112 +0,0 @@
|
|||||||
package devices
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
|
|
||||||
"golang.org/x/sys/unix"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// ErrNotADevice denotes that a file is not a valid linux device.
|
|
||||||
ErrNotADevice = errors.New("not a device node")
|
|
||||||
)
|
|
||||||
|
|
||||||
// Testing dependencies
|
|
||||||
var (
|
|
||||||
unixLstat = unix.Lstat
|
|
||||||
ioutilReadDir = ioutil.ReadDir
|
|
||||||
)
|
|
||||||
|
|
||||||
// Given the path to a device and its cgroup_permissions(which cannot be easily queried) look up the
|
|
||||||
// information about a linux device and return that information as a Device struct.
|
|
||||||
func DeviceFromPath(path, permissions string) (*Device, error) {
|
|
||||||
var stat unix.Stat_t
|
|
||||||
err := unixLstat(path, &stat)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
devType Type
|
|
||||||
mode = stat.Mode
|
|
||||||
devNumber = uint64(stat.Rdev)
|
|
||||||
major = unix.Major(devNumber)
|
|
||||||
minor = unix.Minor(devNumber)
|
|
||||||
)
|
|
||||||
switch mode & unix.S_IFMT {
|
|
||||||
case unix.S_IFBLK:
|
|
||||||
devType = BlockDevice
|
|
||||||
case unix.S_IFCHR:
|
|
||||||
devType = CharDevice
|
|
||||||
case unix.S_IFIFO:
|
|
||||||
devType = FifoDevice
|
|
||||||
default:
|
|
||||||
return nil, ErrNotADevice
|
|
||||||
}
|
|
||||||
return &Device{
|
|
||||||
Rule: Rule{
|
|
||||||
Type: devType,
|
|
||||||
Major: int64(major),
|
|
||||||
Minor: int64(minor),
|
|
||||||
Permissions: Permissions(permissions),
|
|
||||||
},
|
|
||||||
Path: path,
|
|
||||||
FileMode: os.FileMode(mode),
|
|
||||||
Uid: stat.Uid,
|
|
||||||
Gid: stat.Gid,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// HostDevices returns all devices that can be found under /dev directory.
|
|
||||||
func HostDevices() ([]*Device, error) {
|
|
||||||
return GetDevices("/dev")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetDevices recursively traverses a directory specified by path
|
|
||||||
// and returns all devices found there.
|
|
||||||
func GetDevices(path string) ([]*Device, error) {
|
|
||||||
files, err := ioutilReadDir(path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
var out []*Device
|
|
||||||
for _, f := range files {
|
|
||||||
switch {
|
|
||||||
case f.IsDir():
|
|
||||||
switch f.Name() {
|
|
||||||
// ".lxc" & ".lxd-mounts" added to address https://github.com/lxc/lxd/issues/2825
|
|
||||||
// ".udev" added to address https://github.com/opencontainers/runc/issues/2093
|
|
||||||
case "pts", "shm", "fd", "mqueue", ".lxc", ".lxd-mounts", ".udev":
|
|
||||||
continue
|
|
||||||
default:
|
|
||||||
sub, err := GetDevices(filepath.Join(path, f.Name()))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
out = append(out, sub...)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
case f.Name() == "console":
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
device, err := DeviceFromPath(filepath.Join(path, f.Name()), "rwm")
|
|
||||||
if err != nil {
|
|
||||||
if err == ErrNotADevice {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if os.IsNotExist(err) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if device.Type == FifoDevice {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
out = append(out, device)
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
49
vendor/github.com/opencontainers/runc/libcontainer/system/linux.go
generated
vendored
49
vendor/github.com/opencontainers/runc/libcontainer/system/linux.go
generated
vendored
@ -3,12 +3,9 @@
|
|||||||
package system
|
package system
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"sync"
|
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"github.com/opencontainers/runc/libcontainer/user"
|
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -87,52 +84,6 @@ func Setctty() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
|
||||||
inUserNS bool
|
|
||||||
nsOnce sync.Once
|
|
||||||
)
|
|
||||||
|
|
||||||
// RunningInUserNS detects whether we are currently running in a user namespace.
|
|
||||||
// Originally copied from github.com/lxc/lxd/shared/util.go
|
|
||||||
func RunningInUserNS() bool {
|
|
||||||
nsOnce.Do(func() {
|
|
||||||
uidmap, err := user.CurrentProcessUIDMap()
|
|
||||||
if err != nil {
|
|
||||||
// This kernel-provided file only exists if user namespaces are supported
|
|
||||||
return
|
|
||||||
}
|
|
||||||
inUserNS = UIDMapInUserNS(uidmap)
|
|
||||||
})
|
|
||||||
return inUserNS
|
|
||||||
}
|
|
||||||
|
|
||||||
func UIDMapInUserNS(uidmap []user.IDMap) bool {
|
|
||||||
/*
|
|
||||||
* We assume we are in the initial user namespace if we have a full
|
|
||||||
* range - 4294967295 uids starting at uid 0.
|
|
||||||
*/
|
|
||||||
if len(uidmap) == 1 && uidmap[0].ID == 0 && uidmap[0].ParentID == 0 && uidmap[0].Count == 4294967295 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetParentNSeuid returns the euid within the parent user namespace
|
|
||||||
func GetParentNSeuid() int64 {
|
|
||||||
euid := int64(os.Geteuid())
|
|
||||||
uidmap, err := user.CurrentProcessUIDMap()
|
|
||||||
if err != nil {
|
|
||||||
// This kernel-provided file only exists if user namespaces are supported
|
|
||||||
return euid
|
|
||||||
}
|
|
||||||
for _, um := range uidmap {
|
|
||||||
if um.ID <= euid && euid <= um.ID+um.Count-1 {
|
|
||||||
return um.ParentID + euid - um.ID
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return euid
|
|
||||||
}
|
|
||||||
|
|
||||||
// SetSubreaper sets the value i as the subreaper setting for the calling process
|
// SetSubreaper sets the value i as the subreaper setting for the calling process
|
||||||
func SetSubreaper(i int) error {
|
func SetSubreaper(i int) error {
|
||||||
return unix.Prctl(unix.PR_SET_CHILD_SUBREAPER, uintptr(i), 0, 0, 0)
|
return unix.Prctl(unix.PR_SET_CHILD_SUBREAPER, uintptr(i), 0, 0, 0)
|
||||||
|
27
vendor/github.com/opencontainers/runc/libcontainer/system/unsupported.go
generated
vendored
27
vendor/github.com/opencontainers/runc/libcontainer/system/unsupported.go
generated
vendored
@ -1,27 +0,0 @@
|
|||||||
// +build !linux
|
|
||||||
|
|
||||||
package system
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/opencontainers/runc/libcontainer/user"
|
|
||||||
)
|
|
||||||
|
|
||||||
// RunningInUserNS is a stub for non-Linux systems
|
|
||||||
// Always returns false
|
|
||||||
func RunningInUserNS() bool {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// UIDMapInUserNS is a stub for non-Linux systems
|
|
||||||
// Always returns false
|
|
||||||
func UIDMapInUserNS(uidmap []user.IDMap) bool {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetParentNSeuid returns the euid within the parent user namespace
|
|
||||||
// Always returns os.Geteuid on non-linux
|
|
||||||
func GetParentNSeuid() int {
|
|
||||||
return os.Geteuid()
|
|
||||||
}
|
|
5
vendor/github.com/opencontainers/runc/libcontainer/system/userns_deprecated.go
generated
vendored
Normal file
5
vendor/github.com/opencontainers/runc/libcontainer/system/userns_deprecated.go
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package system
|
||||||
|
|
||||||
|
import "github.com/opencontainers/runc/libcontainer/userns"
|
||||||
|
|
||||||
|
var RunningInUserNS = userns.RunningInUserNS
|
2
vendor/github.com/opencontainers/runc/libcontainer/user/MAINTAINERS
generated
vendored
2
vendor/github.com/opencontainers/runc/libcontainer/user/MAINTAINERS
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
Tianon Gravi <admwiggin@gmail.com> (@tianon)
|
|
||||||
Aleksa Sarai <cyphar@cyphar.com> (@cyphar)
|
|
41
vendor/github.com/opencontainers/runc/libcontainer/user/lookup.go
generated
vendored
41
vendor/github.com/opencontainers/runc/libcontainer/user/lookup.go
generated
vendored
@ -1,41 +0,0 @@
|
|||||||
package user
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// The current operating system does not provide the required data for user lookups.
|
|
||||||
ErrUnsupported = errors.New("user lookup: operating system does not provide passwd-formatted data")
|
|
||||||
// No matching entries found in file.
|
|
||||||
ErrNoPasswdEntries = errors.New("no matching entries in passwd file")
|
|
||||||
ErrNoGroupEntries = errors.New("no matching entries in group file")
|
|
||||||
)
|
|
||||||
|
|
||||||
// LookupUser looks up a user by their username in /etc/passwd. If the user
|
|
||||||
// cannot be found (or there is no /etc/passwd file on the filesystem), then
|
|
||||||
// LookupUser returns an error.
|
|
||||||
func LookupUser(username string) (User, error) {
|
|
||||||
return lookupUser(username)
|
|
||||||
}
|
|
||||||
|
|
||||||
// LookupUid looks up a user by their user id in /etc/passwd. If the user cannot
|
|
||||||
// be found (or there is no /etc/passwd file on the filesystem), then LookupId
|
|
||||||
// returns an error.
|
|
||||||
func LookupUid(uid int) (User, error) {
|
|
||||||
return lookupUid(uid)
|
|
||||||
}
|
|
||||||
|
|
||||||
// LookupGroup looks up a group by its name in /etc/group. If the group cannot
|
|
||||||
// be found (or there is no /etc/group file on the filesystem), then LookupGroup
|
|
||||||
// returns an error.
|
|
||||||
func LookupGroup(groupname string) (Group, error) {
|
|
||||||
return lookupGroup(groupname)
|
|
||||||
}
|
|
||||||
|
|
||||||
// LookupGid looks up a group by its group id in /etc/group. If the group cannot
|
|
||||||
// be found (or there is no /etc/group file on the filesystem), then LookupGid
|
|
||||||
// returns an error.
|
|
||||||
func LookupGid(gid int) (Group, error) {
|
|
||||||
return lookupGid(gid)
|
|
||||||
}
|
|
20
vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
generated
vendored
20
vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
generated
vendored
@ -16,13 +16,19 @@ const (
|
|||||||
unixGroupPath = "/etc/group"
|
unixGroupPath = "/etc/group"
|
||||||
)
|
)
|
||||||
|
|
||||||
func lookupUser(username string) (User, error) {
|
// LookupUser looks up a user by their username in /etc/passwd. If the user
|
||||||
|
// cannot be found (or there is no /etc/passwd file on the filesystem), then
|
||||||
|
// LookupUser returns an error.
|
||||||
|
func LookupUser(username string) (User, error) {
|
||||||
return lookupUserFunc(func(u User) bool {
|
return lookupUserFunc(func(u User) bool {
|
||||||
return u.Name == username
|
return u.Name == username
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func lookupUid(uid int) (User, error) {
|
// LookupUid looks up a user by their user id in /etc/passwd. If the user cannot
|
||||||
|
// be found (or there is no /etc/passwd file on the filesystem), then LookupId
|
||||||
|
// returns an error.
|
||||||
|
func LookupUid(uid int) (User, error) {
|
||||||
return lookupUserFunc(func(u User) bool {
|
return lookupUserFunc(func(u User) bool {
|
||||||
return u.Uid == uid
|
return u.Uid == uid
|
||||||
})
|
})
|
||||||
@ -51,13 +57,19 @@ func lookupUserFunc(filter func(u User) bool) (User, error) {
|
|||||||
return users[0], nil
|
return users[0], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func lookupGroup(groupname string) (Group, error) {
|
// LookupGroup looks up a group by its name in /etc/group. If the group cannot
|
||||||
|
// be found (or there is no /etc/group file on the filesystem), then LookupGroup
|
||||||
|
// returns an error.
|
||||||
|
func LookupGroup(groupname string) (Group, error) {
|
||||||
return lookupGroupFunc(func(g Group) bool {
|
return lookupGroupFunc(func(g Group) bool {
|
||||||
return g.Name == groupname
|
return g.Name == groupname
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func lookupGid(gid int) (Group, error) {
|
// LookupGid looks up a group by its group id in /etc/group. If the group cannot
|
||||||
|
// be found (or there is no /etc/group file on the filesystem), then LookupGid
|
||||||
|
// returns an error.
|
||||||
|
func LookupGid(gid int) (Group, error) {
|
||||||
return lookupGroupFunc(func(g Group) bool {
|
return lookupGroupFunc(func(g Group) bool {
|
||||||
return g.Gid == gid
|
return g.Gid == gid
|
||||||
})
|
})
|
||||||
|
40
vendor/github.com/opencontainers/runc/libcontainer/user/lookup_windows.go
generated
vendored
40
vendor/github.com/opencontainers/runc/libcontainer/user/lookup_windows.go
generated
vendored
@ -1,40 +0,0 @@
|
|||||||
// +build windows
|
|
||||||
|
|
||||||
package user
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os/user"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
func lookupUser(username string) (User, error) {
|
|
||||||
u, err := user.Lookup(username)
|
|
||||||
if err != nil {
|
|
||||||
return User{}, err
|
|
||||||
}
|
|
||||||
return userFromOS(u)
|
|
||||||
}
|
|
||||||
|
|
||||||
func lookupUid(uid int) (User, error) {
|
|
||||||
u, err := user.LookupId(strconv.Itoa(uid))
|
|
||||||
if err != nil {
|
|
||||||
return User{}, err
|
|
||||||
}
|
|
||||||
return userFromOS(u)
|
|
||||||
}
|
|
||||||
|
|
||||||
func lookupGroup(groupname string) (Group, error) {
|
|
||||||
g, err := user.LookupGroup(groupname)
|
|
||||||
if err != nil {
|
|
||||||
return Group{}, err
|
|
||||||
}
|
|
||||||
return groupFromOS(g)
|
|
||||||
}
|
|
||||||
|
|
||||||
func lookupGid(gid int) (Group, error) {
|
|
||||||
g, err := user.LookupGroupId(strconv.Itoa(gid))
|
|
||||||
if err != nil {
|
|
||||||
return Group{}, err
|
|
||||||
}
|
|
||||||
return groupFromOS(g)
|
|
||||||
}
|
|
48
vendor/github.com/opencontainers/runc/libcontainer/user/user.go
generated
vendored
48
vendor/github.com/opencontainers/runc/libcontainer/user/user.go
generated
vendored
@ -2,10 +2,10 @@ package user
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"os/user"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@ -16,6 +16,13 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
// The current operating system does not provide the required data for user lookups.
|
||||||
|
ErrUnsupported = errors.New("user lookup: operating system does not provide passwd-formatted data")
|
||||||
|
|
||||||
|
// No matching entries found in file.
|
||||||
|
ErrNoPasswdEntries = errors.New("no matching entries in passwd file")
|
||||||
|
ErrNoGroupEntries = errors.New("no matching entries in group file")
|
||||||
|
|
||||||
ErrRange = fmt.Errorf("uids and gids must be in range %d-%d", minId, maxId)
|
ErrRange = fmt.Errorf("uids and gids must be in range %d-%d", minId, maxId)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -29,28 +36,6 @@ type User struct {
|
|||||||
Shell string
|
Shell string
|
||||||
}
|
}
|
||||||
|
|
||||||
// userFromOS converts an os/user.(*User) to local User
|
|
||||||
//
|
|
||||||
// (This does not include Pass, Shell or Gecos)
|
|
||||||
func userFromOS(u *user.User) (User, error) {
|
|
||||||
newUser := User{
|
|
||||||
Name: u.Username,
|
|
||||||
Home: u.HomeDir,
|
|
||||||
}
|
|
||||||
id, err := strconv.Atoi(u.Uid)
|
|
||||||
if err != nil {
|
|
||||||
return newUser, err
|
|
||||||
}
|
|
||||||
newUser.Uid = id
|
|
||||||
|
|
||||||
id, err = strconv.Atoi(u.Gid)
|
|
||||||
if err != nil {
|
|
||||||
return newUser, err
|
|
||||||
}
|
|
||||||
newUser.Gid = id
|
|
||||||
return newUser, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type Group struct {
|
type Group struct {
|
||||||
Name string
|
Name string
|
||||||
Pass string
|
Pass string
|
||||||
@ -58,23 +43,6 @@ type Group struct {
|
|||||||
List []string
|
List []string
|
||||||
}
|
}
|
||||||
|
|
||||||
// groupFromOS converts an os/user.(*Group) to local Group
|
|
||||||
//
|
|
||||||
// (This does not include Pass or List)
|
|
||||||
func groupFromOS(g *user.Group) (Group, error) {
|
|
||||||
newGroup := Group{
|
|
||||||
Name: g.Name,
|
|
||||||
}
|
|
||||||
|
|
||||||
id, err := strconv.Atoi(g.Gid)
|
|
||||||
if err != nil {
|
|
||||||
return newGroup, err
|
|
||||||
}
|
|
||||||
newGroup.Gid = id
|
|
||||||
|
|
||||||
return newGroup, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// SubID represents an entry in /etc/sub{u,g}id
|
// SubID represents an entry in /etc/sub{u,g}id
|
||||||
type SubID struct {
|
type SubID struct {
|
||||||
Name string
|
Name string
|
||||||
|
42
vendor/github.com/opencontainers/runc/libcontainer/user/user_fuzzer.go
generated
vendored
Normal file
42
vendor/github.com/opencontainers/runc/libcontainer/user/user_fuzzer.go
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
// +build gofuzz
|
||||||
|
|
||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func IsDivisbleBy(n int, divisibleby int) bool {
|
||||||
|
return (n % divisibleby) == 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func FuzzUser(data []byte) int {
|
||||||
|
if len(data) == 0 {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
if !IsDivisbleBy(len(data), 5) {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
var divided [][]byte
|
||||||
|
|
||||||
|
chunkSize := len(data) / 5
|
||||||
|
|
||||||
|
for i := 0; i < len(data); i += chunkSize {
|
||||||
|
end := i + chunkSize
|
||||||
|
|
||||||
|
divided = append(divided, data[i:end])
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _ = ParsePasswdFilter(strings.NewReader(string(divided[0])), nil)
|
||||||
|
|
||||||
|
var passwd, group io.Reader
|
||||||
|
|
||||||
|
group = strings.NewReader(string(divided[1]))
|
||||||
|
_, _ = GetAdditionalGroups([]string{string(divided[2])}, group)
|
||||||
|
|
||||||
|
passwd = strings.NewReader(string(divided[3]))
|
||||||
|
_, _ = GetExecUser(string(divided[4]), nil, passwd, group)
|
||||||
|
return 1
|
||||||
|
}
|
5
vendor/github.com/opencontainers/runc/libcontainer/userns/userns.go
generated
vendored
Normal file
5
vendor/github.com/opencontainers/runc/libcontainer/userns/userns.go
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package userns
|
||||||
|
|
||||||
|
// RunningInUserNS detects whether we are currently running in a user namespace.
|
||||||
|
// Originally copied from github.com/lxc/lxd/shared/util.go
|
||||||
|
var RunningInUserNS = runningInUserNS
|
15
vendor/github.com/opencontainers/runc/libcontainer/userns/userns_fuzzer.go
generated
vendored
Normal file
15
vendor/github.com/opencontainers/runc/libcontainer/userns/userns_fuzzer.go
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// +build gofuzz
|
||||||
|
|
||||||
|
package userns
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/opencontainers/runc/libcontainer/user"
|
||||||
|
)
|
||||||
|
|
||||||
|
func FuzzUIDMap(data []byte) int {
|
||||||
|
uidmap, _ := user.ParseIDMap(strings.NewReader(string(data)))
|
||||||
|
_ = uidMapInUserNS(uidmap)
|
||||||
|
return 1
|
||||||
|
}
|
37
vendor/github.com/opencontainers/runc/libcontainer/userns/userns_linux.go
generated
vendored
Normal file
37
vendor/github.com/opencontainers/runc/libcontainer/userns/userns_linux.go
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package userns
|
||||||
|
|
||||||
|
import (
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"github.com/opencontainers/runc/libcontainer/user"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
inUserNS bool
|
||||||
|
nsOnce sync.Once
|
||||||
|
)
|
||||||
|
|
||||||
|
// runningInUserNS detects whether we are currently running in a user namespace.
|
||||||
|
// Originally copied from github.com/lxc/lxd/shared/util.go
|
||||||
|
func runningInUserNS() bool {
|
||||||
|
nsOnce.Do(func() {
|
||||||
|
uidmap, err := user.CurrentProcessUIDMap()
|
||||||
|
if err != nil {
|
||||||
|
// This kernel-provided file only exists if user namespaces are supported
|
||||||
|
return
|
||||||
|
}
|
||||||
|
inUserNS = uidMapInUserNS(uidmap)
|
||||||
|
})
|
||||||
|
return inUserNS
|
||||||
|
}
|
||||||
|
|
||||||
|
func uidMapInUserNS(uidmap []user.IDMap) bool {
|
||||||
|
/*
|
||||||
|
* We assume we are in the initial user namespace if we have a full
|
||||||
|
* range - 4294967295 uids starting at uid 0.
|
||||||
|
*/
|
||||||
|
if len(uidmap) == 1 && uidmap[0].ID == 0 && uidmap[0].ParentID == 0 && uidmap[0].Count == 4294967295 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
17
vendor/github.com/opencontainers/runc/libcontainer/userns/userns_unsupported.go
generated
vendored
Normal file
17
vendor/github.com/opencontainers/runc/libcontainer/userns/userns_unsupported.go
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// +build !linux
|
||||||
|
|
||||||
|
package userns
|
||||||
|
|
||||||
|
import "github.com/opencontainers/runc/libcontainer/user"
|
||||||
|
|
||||||
|
// runningInUserNS is a stub for non-Linux systems
|
||||||
|
// Always returns false
|
||||||
|
func runningInUserNS() bool {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// uidMapInUserNS is a stub for non-Linux systems
|
||||||
|
// Always returns false
|
||||||
|
func uidMapInUserNS(uidmap []user.IDMap) bool {
|
||||||
|
return false
|
||||||
|
}
|
13
vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
generated
vendored
13
vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
generated
vendored
@ -598,10 +598,13 @@ type VMImage struct {
|
|||||||
|
|
||||||
// LinuxSeccomp represents syscall restrictions
|
// LinuxSeccomp represents syscall restrictions
|
||||||
type LinuxSeccomp struct {
|
type LinuxSeccomp struct {
|
||||||
DefaultAction LinuxSeccompAction `json:"defaultAction"`
|
DefaultAction LinuxSeccompAction `json:"defaultAction"`
|
||||||
Architectures []Arch `json:"architectures,omitempty"`
|
DefaultErrnoRet *uint `json:"defaultErrnoRet,omitempty"`
|
||||||
Flags []LinuxSeccompFlag `json:"flags,omitempty"`
|
Architectures []Arch `json:"architectures,omitempty"`
|
||||||
Syscalls []LinuxSyscall `json:"syscalls,omitempty"`
|
Flags []LinuxSeccompFlag `json:"flags,omitempty"`
|
||||||
|
ListenerPath string `json:"listenerPath,omitempty"`
|
||||||
|
ListenerMetadata string `json:"listenerMetadata,omitempty"`
|
||||||
|
Syscalls []LinuxSyscall `json:"syscalls,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Arch used for additional architectures
|
// Arch used for additional architectures
|
||||||
@ -641,11 +644,13 @@ type LinuxSeccompAction string
|
|||||||
const (
|
const (
|
||||||
ActKill LinuxSeccompAction = "SCMP_ACT_KILL"
|
ActKill LinuxSeccompAction = "SCMP_ACT_KILL"
|
||||||
ActKillProcess LinuxSeccompAction = "SCMP_ACT_KILL_PROCESS"
|
ActKillProcess LinuxSeccompAction = "SCMP_ACT_KILL_PROCESS"
|
||||||
|
ActKillThread LinuxSeccompAction = "SCMP_ACT_KILL_THREAD"
|
||||||
ActTrap LinuxSeccompAction = "SCMP_ACT_TRAP"
|
ActTrap LinuxSeccompAction = "SCMP_ACT_TRAP"
|
||||||
ActErrno LinuxSeccompAction = "SCMP_ACT_ERRNO"
|
ActErrno LinuxSeccompAction = "SCMP_ACT_ERRNO"
|
||||||
ActTrace LinuxSeccompAction = "SCMP_ACT_TRACE"
|
ActTrace LinuxSeccompAction = "SCMP_ACT_TRACE"
|
||||||
ActAllow LinuxSeccompAction = "SCMP_ACT_ALLOW"
|
ActAllow LinuxSeccompAction = "SCMP_ACT_ALLOW"
|
||||||
ActLog LinuxSeccompAction = "SCMP_ACT_LOG"
|
ActLog LinuxSeccompAction = "SCMP_ACT_LOG"
|
||||||
|
ActNotify LinuxSeccompAction = "SCMP_ACT_NOTIFY"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LinuxSeccompOperator used to match syscall arguments in Seccomp
|
// LinuxSeccompOperator used to match syscall arguments in Seccomp
|
||||||
|
29
vendor/github.com/opencontainers/runtime-spec/specs-go/state.go
generated
vendored
29
vendor/github.com/opencontainers/runtime-spec/specs-go/state.go
generated
vendored
@ -5,17 +5,17 @@ type ContainerState string
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
// StateCreating indicates that the container is being created
|
// StateCreating indicates that the container is being created
|
||||||
StateCreating ContainerState = "creating"
|
StateCreating ContainerState = "creating"
|
||||||
|
|
||||||
// StateCreated indicates that the runtime has finished the create operation
|
// StateCreated indicates that the runtime has finished the create operation
|
||||||
StateCreated ContainerState = "created"
|
StateCreated ContainerState = "created"
|
||||||
|
|
||||||
// StateRunning indicates that the container process has executed the
|
// StateRunning indicates that the container process has executed the
|
||||||
// user-specified program but has not exited
|
// user-specified program but has not exited
|
||||||
StateRunning ContainerState = "running"
|
StateRunning ContainerState = "running"
|
||||||
|
|
||||||
// StateStopped indicates that the container process has exited
|
// StateStopped indicates that the container process has exited
|
||||||
StateStopped ContainerState = "stopped"
|
StateStopped ContainerState = "stopped"
|
||||||
)
|
)
|
||||||
|
|
||||||
// State holds information about the runtime state of the container.
|
// State holds information about the runtime state of the container.
|
||||||
@ -33,3 +33,24 @@ type State struct {
|
|||||||
// Annotations are key values associated with the container.
|
// Annotations are key values associated with the container.
|
||||||
Annotations map[string]string `json:"annotations,omitempty"`
|
Annotations map[string]string `json:"annotations,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
// SeccompFdName is the name of the seccomp notify file descriptor.
|
||||||
|
SeccompFdName string = "seccompFd"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ContainerProcessState holds information about the state of a container process.
|
||||||
|
type ContainerProcessState struct {
|
||||||
|
// Version is the version of the specification that is supported.
|
||||||
|
Version string `json:"ociVersion"`
|
||||||
|
// Fds is a string array containing the names of the file descriptors passed.
|
||||||
|
// The index of the name in this array corresponds to index of the file
|
||||||
|
// descriptor in the `SCM_RIGHTS` array.
|
||||||
|
Fds []string `json:"fds"`
|
||||||
|
// Pid is the process ID as seen by the runtime.
|
||||||
|
Pid int `json:"pid"`
|
||||||
|
// Opaque metadata.
|
||||||
|
Metadata string `json:"metadata,omitempty"`
|
||||||
|
// State of the container.
|
||||||
|
State State `json:"state"`
|
||||||
|
}
|
||||||
|
1
vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
generated
vendored
1
vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/cpu/cpu_arm64.s
generated
vendored
1
vendor/golang.org/x/sys/cpu/cpu_arm64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/cpu/cpu_s390x.s
generated
vendored
1
vendor/golang.org/x/sys/cpu/cpu_s390x.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/cpu/cpu_x86.s
generated
vendored
1
vendor/golang.org/x/sys/cpu/cpu_x86.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build (386 || amd64 || amd64p32) && gc
|
||||||
// +build 386 amd64 amd64p32
|
// +build 386 amd64 amd64p32
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_386.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_386.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_amd64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_amd64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_arm.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_arm.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_arm64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_arm64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build linux && arm64 && gc
|
||||||
// +build linux
|
// +build linux
|
||||||
// +build arm64
|
// +build arm64
|
||||||
// +build gc
|
// +build gc
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build linux && (mips64 || mips64le) && gc
|
||||||
// +build linux
|
// +build linux
|
||||||
// +build mips64 mips64le
|
// +build mips64 mips64le
|
||||||
// +build gc
|
// +build gc
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build linux && (mips || mipsle) && gc
|
||||||
// +build linux
|
// +build linux
|
||||||
// +build mips mipsle
|
// +build mips mipsle
|
||||||
// +build gc
|
// +build gc
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build linux && (ppc64 || ppc64le) && gc
|
||||||
// +build linux
|
// +build linux
|
||||||
// +build ppc64 ppc64le
|
// +build ppc64 ppc64le
|
||||||
// +build gc
|
// +build gc
|
||||||
|
4
vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
generated
vendored
4
vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
generated
vendored
@ -2,7 +2,9 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build riscv64,gc
|
//go:build riscv64 && gc
|
||||||
|
// +build riscv64
|
||||||
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
|
||||||
|
3
vendor/golang.org/x/sys/unix/asm_linux_s390x.s
generated
vendored
3
vendor/golang.org/x/sys/unix/asm_linux_s390x.s
generated
vendored
@ -2,8 +2,9 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build s390x
|
//go:build linux && s390x && gc
|
||||||
// +build linux
|
// +build linux
|
||||||
|
// +build s390x
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
generated
vendored
@ -2,6 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
// +build gc
|
// +build gc
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
51
vendor/golang.org/x/sys/unix/syscall_illumos.go
generated
vendored
51
vendor/golang.org/x/sys/unix/syscall_illumos.go
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
// Copyright 2009 The Go Authors. All rights reserved.
|
// Copyright 2021 The Go Authors. All rights reserved.
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
@ -10,6 +10,8 @@
|
|||||||
package unix
|
package unix
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"runtime"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -127,3 +129,50 @@ func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags
|
|||||||
}
|
}
|
||||||
return retCl, retData, flags, nil
|
return retCl, retData, flags, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IoctlSetIntRetInt(fd int, req uint, arg int) (int, error) {
|
||||||
|
return ioctlRet(fd, req, uintptr(arg))
|
||||||
|
}
|
||||||
|
|
||||||
|
func IoctlSetString(fd int, req uint, val string) error {
|
||||||
|
bs := make([]byte, len(val)+1)
|
||||||
|
copy(bs[:len(bs)-1], val)
|
||||||
|
err := ioctl(fd, req, uintptr(unsafe.Pointer(&bs[0])))
|
||||||
|
runtime.KeepAlive(&bs[0])
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lifreq Helpers
|
||||||
|
|
||||||
|
func (l *Lifreq) SetName(name string) error {
|
||||||
|
if len(name) >= len(l.Name) {
|
||||||
|
return fmt.Errorf("name cannot be more than %d characters", len(l.Name)-1)
|
||||||
|
}
|
||||||
|
for i := range name {
|
||||||
|
l.Name[i] = int8(name[i])
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *Lifreq) SetLifruInt(d int) {
|
||||||
|
*(*int)(unsafe.Pointer(&l.Lifru[0])) = d
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *Lifreq) GetLifruInt() int {
|
||||||
|
return *(*int)(unsafe.Pointer(&l.Lifru[0]))
|
||||||
|
}
|
||||||
|
|
||||||
|
func IoctlLifreq(fd int, req uint, l *Lifreq) error {
|
||||||
|
return ioctl(fd, req, uintptr(unsafe.Pointer(l)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Strioctl Helpers
|
||||||
|
|
||||||
|
func (s *Strioctl) SetInt(i int) {
|
||||||
|
s.Len = int32(unsafe.Sizeof(i))
|
||||||
|
s.Dp = (*int8)(unsafe.Pointer(&i))
|
||||||
|
}
|
||||||
|
|
||||||
|
func IoctlSetStrioctlRetInt(fd int, req uint, s *Strioctl) (int, error) {
|
||||||
|
return ioctlRet(fd, req, uintptr(unsafe.Pointer(s)))
|
||||||
|
}
|
||||||
|
6
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
6
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
@ -1151,7 +1151,11 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
|||||||
func Accept(fd int) (nfd int, sa Sockaddr, err error) {
|
func Accept(fd int) (nfd int, sa Sockaddr, err error) {
|
||||||
var rsa RawSockaddrAny
|
var rsa RawSockaddrAny
|
||||||
var len _Socklen = SizeofSockaddrAny
|
var len _Socklen = SizeofSockaddrAny
|
||||||
nfd, err = accept(fd, &rsa, &len)
|
// Try accept4 first for Android, then try accept for kernel older than 2.6.28
|
||||||
|
nfd, err = accept4(fd, &rsa, &len, 0)
|
||||||
|
if err == ENOSYS {
|
||||||
|
nfd, err = accept(fd, &rsa, &len)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
23
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
23
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
@ -166,13 +166,16 @@ const (
|
|||||||
BPF_ALU64 = 0x7
|
BPF_ALU64 = 0x7
|
||||||
BPF_AND = 0x50
|
BPF_AND = 0x50
|
||||||
BPF_ARSH = 0xc0
|
BPF_ARSH = 0xc0
|
||||||
|
BPF_ATOMIC = 0xc0
|
||||||
BPF_B = 0x10
|
BPF_B = 0x10
|
||||||
BPF_BUILD_ID_SIZE = 0x14
|
BPF_BUILD_ID_SIZE = 0x14
|
||||||
BPF_CALL = 0x80
|
BPF_CALL = 0x80
|
||||||
|
BPF_CMPXCHG = 0xf1
|
||||||
BPF_DIV = 0x30
|
BPF_DIV = 0x30
|
||||||
BPF_DW = 0x18
|
BPF_DW = 0x18
|
||||||
BPF_END = 0xd0
|
BPF_END = 0xd0
|
||||||
BPF_EXIT = 0x90
|
BPF_EXIT = 0x90
|
||||||
|
BPF_FETCH = 0x1
|
||||||
BPF_FROM_BE = 0x8
|
BPF_FROM_BE = 0x8
|
||||||
BPF_FROM_LE = 0x0
|
BPF_FROM_LE = 0x0
|
||||||
BPF_FS_MAGIC = 0xcafe4a11
|
BPF_FS_MAGIC = 0xcafe4a11
|
||||||
@ -240,6 +243,7 @@ const (
|
|||||||
BPF_W = 0x0
|
BPF_W = 0x0
|
||||||
BPF_X = 0x8
|
BPF_X = 0x8
|
||||||
BPF_XADD = 0xc0
|
BPF_XADD = 0xc0
|
||||||
|
BPF_XCHG = 0xe1
|
||||||
BPF_XOR = 0xa0
|
BPF_XOR = 0xa0
|
||||||
BRKINT = 0x2
|
BRKINT = 0x2
|
||||||
BS0 = 0x0
|
BS0 = 0x0
|
||||||
@ -490,9 +494,9 @@ const (
|
|||||||
DM_UUID_FLAG = 0x4000
|
DM_UUID_FLAG = 0x4000
|
||||||
DM_UUID_LEN = 0x81
|
DM_UUID_LEN = 0x81
|
||||||
DM_VERSION = 0xc138fd00
|
DM_VERSION = 0xc138fd00
|
||||||
DM_VERSION_EXTRA = "-ioctl (2020-10-01)"
|
DM_VERSION_EXTRA = "-ioctl (2021-02-01)"
|
||||||
DM_VERSION_MAJOR = 0x4
|
DM_VERSION_MAJOR = 0x4
|
||||||
DM_VERSION_MINOR = 0x2b
|
DM_VERSION_MINOR = 0x2c
|
||||||
DM_VERSION_PATCHLEVEL = 0x0
|
DM_VERSION_PATCHLEVEL = 0x0
|
||||||
DT_BLK = 0x6
|
DT_BLK = 0x6
|
||||||
DT_CHR = 0x2
|
DT_CHR = 0x2
|
||||||
@ -860,6 +864,7 @@ const (
|
|||||||
FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a
|
FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a
|
||||||
FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616
|
FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616
|
||||||
FS_IOC_MEASURE_VERITY = 0xc0046686
|
FS_IOC_MEASURE_VERITY = 0xc0046686
|
||||||
|
FS_IOC_READ_VERITY_METADATA = 0xc0286687
|
||||||
FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618
|
FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618
|
||||||
FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619
|
FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619
|
||||||
FS_KEY_DESCRIPTOR_SIZE = 0x8
|
FS_KEY_DESCRIPTOR_SIZE = 0x8
|
||||||
@ -875,6 +880,9 @@ const (
|
|||||||
FS_VERITY_FL = 0x100000
|
FS_VERITY_FL = 0x100000
|
||||||
FS_VERITY_HASH_ALG_SHA256 = 0x1
|
FS_VERITY_HASH_ALG_SHA256 = 0x1
|
||||||
FS_VERITY_HASH_ALG_SHA512 = 0x2
|
FS_VERITY_HASH_ALG_SHA512 = 0x2
|
||||||
|
FS_VERITY_METADATA_TYPE_DESCRIPTOR = 0x2
|
||||||
|
FS_VERITY_METADATA_TYPE_MERKLE_TREE = 0x1
|
||||||
|
FS_VERITY_METADATA_TYPE_SIGNATURE = 0x3
|
||||||
FUTEXFS_SUPER_MAGIC = 0xbad1dea
|
FUTEXFS_SUPER_MAGIC = 0xbad1dea
|
||||||
F_ADD_SEALS = 0x409
|
F_ADD_SEALS = 0x409
|
||||||
F_DUPFD = 0x0
|
F_DUPFD = 0x0
|
||||||
@ -1673,6 +1681,10 @@ const (
|
|||||||
PERF_FLAG_PID_CGROUP = 0x4
|
PERF_FLAG_PID_CGROUP = 0x4
|
||||||
PERF_MAX_CONTEXTS_PER_STACK = 0x8
|
PERF_MAX_CONTEXTS_PER_STACK = 0x8
|
||||||
PERF_MAX_STACK_DEPTH = 0x7f
|
PERF_MAX_STACK_DEPTH = 0x7f
|
||||||
|
PERF_MEM_BLK_ADDR = 0x4
|
||||||
|
PERF_MEM_BLK_DATA = 0x2
|
||||||
|
PERF_MEM_BLK_NA = 0x1
|
||||||
|
PERF_MEM_BLK_SHIFT = 0x28
|
||||||
PERF_MEM_LOCK_LOCKED = 0x2
|
PERF_MEM_LOCK_LOCKED = 0x2
|
||||||
PERF_MEM_LOCK_NA = 0x1
|
PERF_MEM_LOCK_NA = 0x1
|
||||||
PERF_MEM_LOCK_SHIFT = 0x18
|
PERF_MEM_LOCK_SHIFT = 0x18
|
||||||
@ -1736,12 +1748,14 @@ const (
|
|||||||
PERF_RECORD_MISC_GUEST_USER = 0x5
|
PERF_RECORD_MISC_GUEST_USER = 0x5
|
||||||
PERF_RECORD_MISC_HYPERVISOR = 0x3
|
PERF_RECORD_MISC_HYPERVISOR = 0x3
|
||||||
PERF_RECORD_MISC_KERNEL = 0x1
|
PERF_RECORD_MISC_KERNEL = 0x1
|
||||||
|
PERF_RECORD_MISC_MMAP_BUILD_ID = 0x4000
|
||||||
PERF_RECORD_MISC_MMAP_DATA = 0x2000
|
PERF_RECORD_MISC_MMAP_DATA = 0x2000
|
||||||
PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT = 0x1000
|
PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT = 0x1000
|
||||||
PERF_RECORD_MISC_SWITCH_OUT = 0x2000
|
PERF_RECORD_MISC_SWITCH_OUT = 0x2000
|
||||||
PERF_RECORD_MISC_SWITCH_OUT_PREEMPT = 0x4000
|
PERF_RECORD_MISC_SWITCH_OUT_PREEMPT = 0x4000
|
||||||
PERF_RECORD_MISC_USER = 0x2
|
PERF_RECORD_MISC_USER = 0x2
|
||||||
PERF_SAMPLE_BRANCH_PLM_ALL = 0x7
|
PERF_SAMPLE_BRANCH_PLM_ALL = 0x7
|
||||||
|
PERF_SAMPLE_WEIGHT_TYPE = 0x1004000
|
||||||
PIPEFS_MAGIC = 0x50495045
|
PIPEFS_MAGIC = 0x50495045
|
||||||
PPC_CMM_MAGIC = 0xc7571590
|
PPC_CMM_MAGIC = 0xc7571590
|
||||||
PPPIOCGNPMODE = 0xc008744c
|
PPPIOCGNPMODE = 0xc008744c
|
||||||
@ -1995,6 +2009,10 @@ const (
|
|||||||
RTCF_NAT = 0x800000
|
RTCF_NAT = 0x800000
|
||||||
RTCF_VALVE = 0x200000
|
RTCF_VALVE = 0x200000
|
||||||
RTC_AF = 0x20
|
RTC_AF = 0x20
|
||||||
|
RTC_FEATURE_ALARM = 0x0
|
||||||
|
RTC_FEATURE_ALARM_RES_MINUTE = 0x1
|
||||||
|
RTC_FEATURE_CNT = 0x3
|
||||||
|
RTC_FEATURE_NEED_WEEK_DAY = 0x2
|
||||||
RTC_IRQF = 0x80
|
RTC_IRQF = 0x80
|
||||||
RTC_MAX_FREQ = 0x2000
|
RTC_MAX_FREQ = 0x2000
|
||||||
RTC_PF = 0x40
|
RTC_PF = 0x40
|
||||||
@ -2068,6 +2086,7 @@ const (
|
|||||||
RTM_F_LOOKUP_TABLE = 0x1000
|
RTM_F_LOOKUP_TABLE = 0x1000
|
||||||
RTM_F_NOTIFY = 0x100
|
RTM_F_NOTIFY = 0x100
|
||||||
RTM_F_OFFLOAD = 0x4000
|
RTM_F_OFFLOAD = 0x4000
|
||||||
|
RTM_F_OFFLOAD_FAILED = 0x20000000
|
||||||
RTM_F_PREFIX = 0x800
|
RTM_F_PREFIX = 0x800
|
||||||
RTM_F_TRAP = 0x8000
|
RTM_F_TRAP = 0x8000
|
||||||
RTM_GETACTION = 0x32
|
RTM_GETACTION = 0x32
|
||||||
|
2
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
@ -212,6 +212,8 @@ const (
|
|||||||
PTRACE_POKE_SYSTEM_CALL = 0x5008
|
PTRACE_POKE_SYSTEM_CALL = 0x5008
|
||||||
PTRACE_PROT = 0x15
|
PTRACE_PROT = 0x15
|
||||||
PTRACE_SINGLEBLOCK = 0xc
|
PTRACE_SINGLEBLOCK = 0xc
|
||||||
|
PTRACE_SYSEMU = 0x1f
|
||||||
|
PTRACE_SYSEMU_SINGLESTEP = 0x20
|
||||||
PTRACE_TE_ABORT_RAND = 0x5011
|
PTRACE_TE_ABORT_RAND = 0x5011
|
||||||
PT_ACR0 = 0x90
|
PT_ACR0 = 0x90
|
||||||
PT_ACR1 = 0x94
|
PT_ACR1 = 0x94
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go 386
|
// go run mkasm_darwin.go 386
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.13
|
||||||
// +build go1.13
|
// +build go1.13
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go 386
|
// go run mkasm_darwin.go 386
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.12
|
||||||
// +build go1.12
|
// +build go1.12
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go amd64
|
// go run mkasm_darwin.go amd64
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.13
|
||||||
// +build go1.13
|
// +build go1.13
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go amd64
|
// go run mkasm_darwin.go amd64
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.12
|
||||||
// +build go1.12
|
// +build go1.12
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go arm
|
// go run mkasm_darwin.go arm
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.13
|
||||||
// +build go1.13
|
// +build go1.13
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go arm
|
// go run mkasm_darwin.go arm
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.12
|
||||||
// +build go1.12
|
// +build go1.12
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go arm64
|
// go run mkasm_darwin.go arm64
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.13
|
||||||
// +build go1.13
|
// +build go1.13
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
generated
vendored
1
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
// go run mkasm_darwin.go arm64
|
// go run mkasm_darwin.go arm64
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
//go:build go1.12
|
||||||
// +build go1.12
|
// +build go1.12
|
||||||
|
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
@ -438,4 +438,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
@ -360,4 +360,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
generated
vendored
@ -402,4 +402,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
generated
vendored
@ -305,4 +305,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
generated
vendored
@ -423,4 +423,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 4439
|
SYS_FACCESSAT2 = 4439
|
||||||
SYS_PROCESS_MADVISE = 4440
|
SYS_PROCESS_MADVISE = 4440
|
||||||
SYS_EPOLL_PWAIT2 = 4441
|
SYS_EPOLL_PWAIT2 = 4441
|
||||||
|
SYS_MOUNT_SETATTR = 4442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
generated
vendored
@ -353,4 +353,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 5439
|
SYS_FACCESSAT2 = 5439
|
||||||
SYS_PROCESS_MADVISE = 5440
|
SYS_PROCESS_MADVISE = 5440
|
||||||
SYS_EPOLL_PWAIT2 = 5441
|
SYS_EPOLL_PWAIT2 = 5441
|
||||||
|
SYS_MOUNT_SETATTR = 5442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
generated
vendored
@ -353,4 +353,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 5439
|
SYS_FACCESSAT2 = 5439
|
||||||
SYS_PROCESS_MADVISE = 5440
|
SYS_PROCESS_MADVISE = 5440
|
||||||
SYS_EPOLL_PWAIT2 = 5441
|
SYS_EPOLL_PWAIT2 = 5441
|
||||||
|
SYS_MOUNT_SETATTR = 5442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
generated
vendored
@ -423,4 +423,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 4439
|
SYS_FACCESSAT2 = 4439
|
||||||
SYS_PROCESS_MADVISE = 4440
|
SYS_PROCESS_MADVISE = 4440
|
||||||
SYS_EPOLL_PWAIT2 = 4441
|
SYS_EPOLL_PWAIT2 = 4441
|
||||||
|
SYS_MOUNT_SETATTR = 4442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
generated
vendored
@ -430,4 +430,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
generated
vendored
@ -402,4 +402,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
generated
vendored
@ -402,4 +402,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
generated
vendored
@ -304,4 +304,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
generated
vendored
@ -367,4 +367,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
generated
vendored
@ -381,4 +381,5 @@ const (
|
|||||||
SYS_FACCESSAT2 = 439
|
SYS_FACCESSAT2 = 439
|
||||||
SYS_PROCESS_MADVISE = 440
|
SYS_PROCESS_MADVISE = 440
|
||||||
SYS_EPOLL_PWAIT2 = 441
|
SYS_EPOLL_PWAIT2 = 441
|
||||||
|
SYS_MOUNT_SETATTR = 442
|
||||||
)
|
)
|
||||||
|
4
vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go
generated
vendored
@ -25,14 +25,14 @@ type strbuf struct {
|
|||||||
Buf *int8
|
Buf *int8
|
||||||
}
|
}
|
||||||
|
|
||||||
type strioctl struct {
|
type Strioctl struct {
|
||||||
Cmd int32
|
Cmd int32
|
||||||
Timout int32
|
Timout int32
|
||||||
Len int32
|
Len int32
|
||||||
Dp *int8
|
Dp *int8
|
||||||
}
|
}
|
||||||
|
|
||||||
type lifreq struct {
|
type Lifreq struct {
|
||||||
Name [32]int8
|
Name [32]int8
|
||||||
Lifru1 [4]byte
|
Lifru1 [4]byte
|
||||||
Type uint32
|
Type uint32
|
||||||
|
15
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
15
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
@ -1016,7 +1016,10 @@ const (
|
|||||||
PERF_SAMPLE_PHYS_ADDR = 0x80000
|
PERF_SAMPLE_PHYS_ADDR = 0x80000
|
||||||
PERF_SAMPLE_AUX = 0x100000
|
PERF_SAMPLE_AUX = 0x100000
|
||||||
PERF_SAMPLE_CGROUP = 0x200000
|
PERF_SAMPLE_CGROUP = 0x200000
|
||||||
PERF_SAMPLE_MAX = 0x1000000
|
PERF_SAMPLE_DATA_PAGE_SIZE = 0x400000
|
||||||
|
PERF_SAMPLE_CODE_PAGE_SIZE = 0x800000
|
||||||
|
PERF_SAMPLE_WEIGHT_STRUCT = 0x1000000
|
||||||
|
PERF_SAMPLE_MAX = 0x2000000
|
||||||
PERF_SAMPLE_BRANCH_USER_SHIFT = 0x0
|
PERF_SAMPLE_BRANCH_USER_SHIFT = 0x0
|
||||||
PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 0x1
|
PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 0x1
|
||||||
PERF_SAMPLE_BRANCH_HV_SHIFT = 0x2
|
PERF_SAMPLE_BRANCH_HV_SHIFT = 0x2
|
||||||
@ -3126,7 +3129,8 @@ const (
|
|||||||
DEVLINK_ATTR_REMOTE_RELOAD_STATS = 0xa1
|
DEVLINK_ATTR_REMOTE_RELOAD_STATS = 0xa1
|
||||||
DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2
|
DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2
|
||||||
DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3
|
DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3
|
||||||
DEVLINK_ATTR_MAX = 0xa3
|
DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4
|
||||||
|
DEVLINK_ATTR_MAX = 0xa4
|
||||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||||
@ -3140,7 +3144,9 @@ const (
|
|||||||
DEVLINK_RESOURCE_UNIT_ENTRY = 0x0
|
DEVLINK_RESOURCE_UNIT_ENTRY = 0x0
|
||||||
DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0x0
|
DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0x0
|
||||||
DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 0x1
|
DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 0x1
|
||||||
DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x1
|
DEVLINK_PORT_FN_ATTR_STATE = 0x2
|
||||||
|
DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3
|
||||||
|
DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x3
|
||||||
)
|
)
|
||||||
|
|
||||||
type FsverityDigest struct {
|
type FsverityDigest struct {
|
||||||
@ -3509,7 +3515,8 @@ const (
|
|||||||
ETHTOOL_A_LINKMODES_DUPLEX = 0x6
|
ETHTOOL_A_LINKMODES_DUPLEX = 0x6
|
||||||
ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 0x7
|
ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 0x7
|
||||||
ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 0x8
|
ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 0x8
|
||||||
ETHTOOL_A_LINKMODES_MAX = 0x8
|
ETHTOOL_A_LINKMODES_LANES = 0x9
|
||||||
|
ETHTOOL_A_LINKMODES_MAX = 0x9
|
||||||
ETHTOOL_A_LINKSTATE_UNSPEC = 0x0
|
ETHTOOL_A_LINKSTATE_UNSPEC = 0x0
|
||||||
ETHTOOL_A_LINKSTATE_HEADER = 0x1
|
ETHTOOL_A_LINKSTATE_HEADER = 0x1
|
||||||
ETHTOOL_A_LINKSTATE_LINK = 0x2
|
ETHTOOL_A_LINKSTATE_LINK = 0x2
|
||||||
|
7
vendor/modules.txt
vendored
7
vendor/modules.txt
vendored
@ -494,7 +494,7 @@ github.com/opencontainers/go-digest
|
|||||||
# github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6
|
# github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6
|
||||||
github.com/opencontainers/image-spec/specs-go
|
github.com/opencontainers/image-spec/specs-go
|
||||||
github.com/opencontainers/image-spec/specs-go/v1
|
github.com/opencontainers/image-spec/specs-go/v1
|
||||||
# github.com/opencontainers/runc v1.0.0-rc93
|
# github.com/opencontainers/runc v1.0.0-rc94
|
||||||
github.com/opencontainers/runc/libcontainer/apparmor
|
github.com/opencontainers/runc/libcontainer/apparmor
|
||||||
github.com/opencontainers/runc/libcontainer/cgroups
|
github.com/opencontainers/runc/libcontainer/cgroups
|
||||||
github.com/opencontainers/runc/libcontainer/cgroups/fscommon
|
github.com/opencontainers/runc/libcontainer/cgroups/fscommon
|
||||||
@ -502,8 +502,9 @@ github.com/opencontainers/runc/libcontainer/configs
|
|||||||
github.com/opencontainers/runc/libcontainer/devices
|
github.com/opencontainers/runc/libcontainer/devices
|
||||||
github.com/opencontainers/runc/libcontainer/system
|
github.com/opencontainers/runc/libcontainer/system
|
||||||
github.com/opencontainers/runc/libcontainer/user
|
github.com/opencontainers/runc/libcontainer/user
|
||||||
|
github.com/opencontainers/runc/libcontainer/userns
|
||||||
github.com/opencontainers/runc/libcontainer/utils
|
github.com/opencontainers/runc/libcontainer/utils
|
||||||
# github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d
|
# github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
|
||||||
github.com/opencontainers/runtime-spec/specs-go
|
github.com/opencontainers/runtime-spec/specs-go
|
||||||
# github.com/opencontainers/runtime-tools v0.9.0
|
# github.com/opencontainers/runtime-tools v0.9.0
|
||||||
github.com/opencontainers/runtime-tools/error
|
github.com/opencontainers/runtime-tools/error
|
||||||
@ -658,7 +659,7 @@ golang.org/x/net/proxy
|
|||||||
golang.org/x/net/trace
|
golang.org/x/net/trace
|
||||||
# golang.org/x/sync v0.0.0-20201207232520-09787c993a3a
|
# golang.org/x/sync v0.0.0-20201207232520-09787c993a3a
|
||||||
golang.org/x/sync/semaphore
|
golang.org/x/sync/semaphore
|
||||||
# golang.org/x/sys v0.0.0-20210423082822-04245dca01da
|
# golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
|
||||||
golang.org/x/sys/cpu
|
golang.org/x/sys/cpu
|
||||||
golang.org/x/sys/execabs
|
golang.org/x/sys/execabs
|
||||||
golang.org/x/sys/internal/unsafeheader
|
golang.org/x/sys/internal/unsafeheader
|
||||||
|
Reference in New Issue
Block a user