From 9b1e70e4f99db84a9928d1da71d8ebc75df66f7a Mon Sep 17 00:00:00 2001 From: Andreas Auernhammer Date: Mon, 28 Nov 2022 16:31:07 +0100 Subject: [PATCH] kms: fix possible deadlock due to nested RLock calls. (#16136) Signed-off-by: Andreas Auernhammer --- internal/kms/kes.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/kms/kes.go b/internal/kms/kes.go index c7c2290d3..8d7ab295d 100644 --- a/internal/kms/kes.go +++ b/internal/kms/kes.go @@ -303,7 +303,11 @@ func (c *kesClient) DecryptAll(ctx context.Context, keyID string, ciphertexts [] plaintexts := make([][]byte, 0, len(ciphertexts)) for i := range ciphertexts { - plaintext, err := c.DecryptKey(keyID, ciphertexts[i], contexts[i]) + ctxBytes, err := contexts[i].MarshalText() + if err != nil { + return nil, err + } + plaintext, err := c.client.Decrypt(ctx, keyID, ciphertexts[i], ctxBytes) if err != nil { return nil, err }