Fix SELinux errors caused by multi-threading
Occasionally the selinux_test program will fail because we are setting file context based on the Process ID but not the TID. THis change will always use the TID to set SELinux labels. Docker-DCO-1.1-Signed-off-by: Daniel Walsh <dwalsh@redhat.com> (github: rhatdan) Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: crosbymichael) Upstream-commit: 12934ef3a40d814cb307dfea0cc86124ec997593 Component: engine
This commit is contained in:
committed by
Michael Crosby
parent
a5f91ab172
commit
58dae079fd
@@ -146,15 +146,15 @@ func Setfilecon(path string, scon string) error {
|
||||
}
|
||||
|
||||
func Setfscreatecon(scon string) error {
|
||||
return writeCon("/proc/self/attr/fscreate", scon)
|
||||
return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", system.Gettid()), scon)
|
||||
}
|
||||
|
||||
func Getfscreatecon() (string, error) {
|
||||
return readCon("/proc/self/attr/fscreate")
|
||||
return readCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", system.Gettid()))
|
||||
}
|
||||
|
||||
func getcon() (string, error) {
|
||||
return readCon("/proc/self/attr/current")
|
||||
return readCon(fmt.Sprintf("/proc/self/task/%d/attr/current", system.Gettid()))
|
||||
}
|
||||
|
||||
func Getpidcon(pid int) (string, error) {
|
||||
|
||||
Reference in New Issue
Block a user