@@ -47,10 +47,12 @@ func (l *linuxStandardInit) getSessionRingParams() (string, uint32, uint32) {
47
47
48
48
func (l * linuxStandardInit ) Init () error {
49
49
if ! l .config .Config .NoNewKeyring {
50
- if err := selinux .SetKeyLabel (l .config .ProcessLabel ); err != nil {
51
- return err
50
+ if l .config .ProcessLabel != "" {
51
+ if err := selinux .SetKeyLabel (l .config .ProcessLabel ); err != nil {
52
+ return err
53
+ }
54
+ defer selinux .SetKeyLabel ("" ) //nolint: errcheck
52
55
}
53
- defer selinux .SetKeyLabel ("" ) //nolint: errcheck
54
56
ringname , keepperms , newperms := l .getSessionRingParams ()
55
57
56
58
// Do not inherit the parent's session keyring.
@@ -169,10 +171,12 @@ func (l *linuxStandardInit) Init() error {
169
171
if err := syncParentReady (l .pipe ); err != nil {
170
172
return fmt .Errorf ("sync ready: %w" , err )
171
173
}
172
- if err := selinux .SetExecLabel (l .config .ProcessLabel ); err != nil {
173
- return fmt .Errorf ("can't set process label: %w" , err )
174
+ if l .config .ProcessLabel != "" {
175
+ if err := selinux .SetExecLabel (l .config .ProcessLabel ); err != nil {
176
+ return fmt .Errorf ("can't set process label: %w" , err )
177
+ }
178
+ defer selinux .SetExecLabel ("" ) //nolint: errcheck
174
179
}
175
- defer selinux .SetExecLabel ("" ) //nolint: errcheck
176
180
// Without NoNewPrivileges seccomp is a privileged operation, so we need to
177
181
// do this before dropping capabilities; otherwise do it as late as possible
178
182
// just before execve so as few syscalls take place after it as possible.
0 commit comments