Skip to content

Commit d742659

Browse files
committed
rootless: fix open /etc/docker/plugins: permission denied
Fix issue 47436 Signed-off-by: Akihiro Suda <[email protected]>
1 parent 1f539a6 commit d742659

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

pkg/plugins/discovery.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
"strings"
1111
"sync"
1212

13+
"github.com/containerd/containerd/pkg/userns"
14+
"github.com/containerd/log"
1315
"github.com/pkg/errors"
1416
)
1517

@@ -56,10 +58,16 @@ func (l *LocalRegistry) Scan() ([]string, error) {
5658

5759
for _, p := range l.specsPaths {
5860
dirEntries, err = os.ReadDir(p)
59-
if err != nil && !os.IsNotExist(err) {
61+
if err != nil {
62+
if os.IsNotExist(err) {
63+
continue
64+
}
65+
if os.IsPermission(err) && userns.RunningInUserNS() {
66+
log.L.Debug(err.Error())
67+
continue
68+
}
6069
return nil, errors.Wrap(err, "error reading dir entries")
6170
}
62-
6371
for _, entry := range dirEntries {
6472
if entry.IsDir() {
6573
infos, err := os.ReadDir(filepath.Join(p, entry.Name()))

0 commit comments

Comments
 (0)