Merge pull request #41939 from thaJeztah/swagger_docs_fixes

docs: fix double "the" in existing API versions
diff --git a/Dockerfile.buildx b/Dockerfile.buildx
index f01ba71..d3a4696 100644
--- a/Dockerfile.buildx
+++ b/Dockerfile.buildx
@@ -1,5 +1,5 @@
 ARG GO_VERSION=1.13.15
-ARG BUILDX_COMMIT=v0.3.1
+ARG BUILDX_COMMIT=v0.5.1
 ARG BUILDX_REPO=https://github.com/docker/buildx.git
 
 FROM golang:${GO_VERSION}-buster AS build
diff --git a/pkg/archive/archive_unix.go b/pkg/archive/archive_unix.go
index 9006614..0b92bb0 100644
--- a/pkg/archive/archive_unix.go
+++ b/pkg/archive/archive_unix.go
@@ -81,11 +81,6 @@
 // handleTarTypeBlockCharFifo is an OS-specific helper function used by
 // createTarFile to handle the following types of header: Block; Char; Fifo
 func handleTarTypeBlockCharFifo(hdr *tar.Header, path string) error {
-	if sys.RunningInUserNS() {
-		// cannot create a device if running in user namespace
-		return nil
-	}
-
 	mode := uint32(hdr.Mode & 07777)
 	switch hdr.Typeflag {
 	case tar.TypeBlock:
@@ -96,7 +91,12 @@
 		mode |= unix.S_IFIFO
 	}
 
-	return system.Mknod(path, mode, int(system.Mkdev(hdr.Devmajor, hdr.Devminor)))
+	err := system.Mknod(path, mode, int(system.Mkdev(hdr.Devmajor, hdr.Devminor)))
+	if errors.Is(err, syscall.EPERM) && sys.RunningInUserNS() {
+		// In most cases, cannot create a device if running in user namespace
+		err = nil
+	}
+	return err
 }
 
 func handleLChmod(hdr *tar.Header, path string, hdrInfo os.FileInfo) error {