rchcon_go115.go 425 B

12345678910111213141516171819202122
  1. //go:build linux && !go1.16
  2. // +build linux,!go1.16
  3. package selinux
  4. import (
  5. "errors"
  6. "os"
  7. "github.com/opencontainers/selinux/pkg/pwalk"
  8. )
  9. func rchcon(fpath, label string) error {
  10. return pwalk.Walk(fpath, func(p string, _ os.FileInfo, _ error) error {
  11. e := lSetFileLabel(p, label)
  12. // Walk a file tree can race with removal, so ignore ENOENT.
  13. if errors.Is(e, os.ErrNotExist) {
  14. return nil
  15. }
  16. return e
  17. })
  18. }