rchcon.go 410 B

12345678910111213141516171819202122
  1. // +build linux,go1.16
  2. package selinux
  3. import (
  4. "errors"
  5. "io/fs"
  6. "os"
  7. "github.com/opencontainers/selinux/pkg/pwalkdir"
  8. )
  9. func rchcon(fpath, label string) error {
  10. return pwalkdir.Walk(fpath, func(p string, _ fs.DirEntry, _ error) error {
  11. e := setFileLabel(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. }