aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo@golang.org>2025-01-29 03:18:01 +0100
committerGopher Robot <gobot@golang.org>2025-01-29 06:30:36 -0800
commit4f48ad5c6b2775ab295ea0062b93527cbf4ea9d0 (patch)
tree149ff5295ed117418ed6ab1c96378d25d1d4e3ab
parent1f58ad5d6d2eebc1939a65a511ca84c9b997cd6a (diff)
downloadgo-4f48ad5c6b2775ab295ea0062b93527cbf4ea9d0.tar.xz
cmd/link/internal/loader: fix linknames from FIPS 140 frozen tree
blockedLinknames was updated in CL 635676 after the lib/fips140 zip mechanism was last tested. linknames from crypto/internal/fips140/v1.0.0 need to be allowed if they'd be allowed from crypto/internal/fips140. Change-Id: I6a6a4656022118d4739ae14831f2ad721951c192 Reviewed-on: https://go-review.googlesource.com/c/go/+/645195 Reviewed-by: Michael Pratt <mpratt@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Roland Shoemaker <roland@golang.org>
-rw-r--r--src/cmd/link/internal/loader/loader.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go
index e7cc30ab07..0c234e8975 100644
--- a/src/cmd/link/internal/loader/loader.go
+++ b/src/cmd/link/internal/loader/loader.go
@@ -2394,6 +2394,16 @@ func (l *Loader) checkLinkname(pkg, name string, s Sym) {
if pkg == p {
return // pkg is allowed
}
+ // crypto/internal/fips140/vX.Y.Z/... is the frozen version of
+ // crypto/internal/fips140/... and is similarly allowed.
+ if strings.HasPrefix(pkg, "crypto/internal/fips140/v") {
+ parts := strings.Split(pkg, "/")
+ parts = append(parts[:3], parts[4:]...)
+ pkg := strings.Join(parts, "/")
+ if pkg == p {
+ return
+ }
+ }
}
error()
}