From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D5D12285068 for ; Wed, 29 Jul 2026 00:42:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.125.188.122 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785285737; cv=none; b=nz25rNQZYG4gj5Uld2E4fd2OsrZU++cvDHNmp4OQMvC2dPQNgnJkL4AhjM9JzgDYTLA7dWSGAb5jLPExH3D2/g0GGBLN0PNVMcABD6QBpkjbiwdfTWtybmjevE0k8F95P7dFtx1XOlpOMCebNcDKK4txQ/avTEew4ArEVRdBI04= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785285737; c=relaxed/simple; bh=o+7v+TEu5ghY+2FA5SCYrCH2NtB/YDNwhFxthLjJVp4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=iPF57DzhfpyhixljBA2NXQGGJBe6GUyeP8UdncsoG5seg0ToY6D80YLc3g7XpKRca/6LJ0vDfhgzqeoM0rMtozpICkdkcsyKur/QJjPeo8xokKeto6x5jFnoy/FkDBStJOePFgG0Unx2UqR+tP2JprPlobBHk4LjvY0h651SV/k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=canonical.com; spf=pass smtp.mailfrom=canonical.com; dkim=pass (4096-bit key) header.d=canonical.com header.i=@canonical.com header.b=TaKq12a3; arc=none smtp.client-ip=185.125.188.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=canonical.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canonical.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (4096-bit key) header.d=canonical.com header.i=@canonical.com header.b="TaKq12a3" Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 4EE673F678 for ; Wed, 29 Jul 2026 00:42:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20251003; t=1785285726; bh=YP+6wrlQaSGx7RuJqwRMUdE3V+ruvBfPJx2GlyHwNNQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=TaKq12a3ytZgp8mS29oMsN1bpwM03uJKFdxMd13xl8nhPO2EBI+dtKWYOfteyuj9r Wh6LVp+HSLMnb098nXyyPCNY4NWjtre317QdrQESKOcYWOg9O2sIZhfV3tBUdIp40q ZXqgjopCEZiExFYs0g43dKm1BYYAGq5RmeMxaEz+gnR8u4+fhHpCmHpuQRGNm/tr9d lA4rGk8pPF4ZePd6jKQ0gYDBJs2d0j1X11jp3dpmMBLKjCmYY2anTbK4KaN3LgjT5c x+5cstfpWoVzyxGweKKwl5VHEq0nN3k3G2ripjVxR3iwHHVMhLwCStda2eEQxFI+8S QQ/jCVeuIiNx0rZX0d98qxkZ5mEhBnTBOlahm84wd3SCejJ+K7L+/x+gdUhuEcLrOb S9zDnmzJ2Fv6YRmV1wRUo++Uo2R5z9yoydYyOsBNPmklPifWWwTWBrzcyjnwT9atg/ UmJo1gfLYNSnpB6lZe+RBp5yZUMn4onJXJMw9NRkikd38zdYwsFuNT+5mX2KKC4XZs ukW2IFazRTsgXYsoSuM0Q/pRHXbEBE7kCYLi8u1yzS2BIKMDQ2ngAp6mZsuVndxbl5 Li1+0IF5CNznkHnzMlDU13d8FDeoEeEafunrGU03ESFcTF3o7o3/zRsKlRkFBWdILO ksrhE2LoGPfCVImWk7y6DAKA= Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2ccb687f82eso6285845ad.3 for ; Tue, 28 Jul 2026 17:42:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785285724; x=1785890524; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=YP+6wrlQaSGx7RuJqwRMUdE3V+ruvBfPJx2GlyHwNNQ=; b=mmAEmk1kmaSsL+eynmpy3x60MftcnKDe8fwjVMTjgWxlWTF8wHZhs2mOibherN6Usb dDaIJSUWLCliH0Wjv3rrDEKaqN6ErEQtQzcwNQ4O4Yh3DItRwysIkOy6kr+jhVZrkXhr A/oXQSiR4FXIlpw8xDOiFNP8IP3ovOteS9DPZJDS/3upX23xmqpe1x4UVfqi3oJLSH1o T0RJchrQzDxl+0X/chJHCbru4KpdI40XlBrGV4G+xx8jGeKOFfXXp6fhYqnQ+3yVxM7/ 9A9H6x/2dYBE4eW1xaAZMCTYrg2Mge82mCWfu/ZhJw8iGSkGOPGO8Z6KHizNqtW0lpH+ uPWQ== X-Forwarded-Encrypted: i=1; AHgh+Rr8NIGNHkwQUb860I7+qEMghtZcRE0pibc7wEGoCvTgYsQ8KSYDWv9FPNiE+BIL7NOZXmnDjCecFQJx2h8=@vger.kernel.org X-Gm-Message-State: AOJu0Yzu3GcayTpe9rblSX7o0qp0RD9fNW1BQVUnr3Lezcycd1i02UVo XBcnCqeuQGbIkdvaBLKMx0ior3kDKXC9lBYfZcx2fR5A0xQuZ3DGAN9qZb/p3OhC1IUPN8OwA3/ f9e6roRqHlZi+OF0txMvRM7SVH62iKrf+AInxeIywBUJP0v+B3fAXMK5Nk976kNZCOVttOB6oBW +Z/fEjlg== X-Gm-Gg: AR+sD12kTXW7OzCOcSWy6cvl2JVcfDS0CLGeV7XYih/QT48U9mwhnQ149HszoKtVDKP kKHYB0limuP9agelyiYl05FqPOEoc+bjbrC9UmYMne+K5l/gMbS57sHRPAvuxrzCAaDLw6ZdYrv edrvFt/4qJcjB41ZA3eWFh1JwtXRjxRE8F/O7raL6oCWBDycPs0jDddxYR13rlAy2lI3JV6hnFP yMDCVvNBb3RAdNtqlgD/uhgbG4sHrEo2oN66U11ZiUUQaVjqm8d0lRkIkpujw56aMf66DD16JLR fANkmfNaL7Vf1X7VPy4LhldtutppqTkwe4huIFFaD8224r/23c3EvgrGlLp/QlQyVAWozgtdcWN knLh39x/fvKc= X-Received: by 2002:a17:903:2a88:b0:2c9:ae0b:61e3 with SMTP id d9443c01a7336-2d015b145bcmr55232575ad.2.1785285724399; Tue, 28 Jul 2026 17:42:04 -0700 (PDT) X-Received: by 2002:a17:903:2a88:b0:2c9:ae0b:61e3 with SMTP id d9443c01a7336-2d015b145bcmr55232355ad.2.1785285724066; Tue, 28 Jul 2026 17:42:04 -0700 (PDT) Received: from ZBook.gateway ([123.208.39.53]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31504b15f77sm3566229eec.4.2026.07.28.17.42.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2026 17:42:03 -0700 (PDT) From: Changwei Zou To: lukas@wunner.de Cc: Martin.Kepplinger-Novakovic@ginzinger.com, changwei.zou@canonical.com, davem@davemloft.net, herbert@gondor.apana.org.au, ignat@linux.win, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, martink@posteo.de Subject: [PATCH v3] crypto: rsassa-pkcs1 - Align DMA buffer to CRYPTO_DMA_ALIGN Date: Wed, 29 Jul 2026 10:41:56 +1000 Message-ID: <20260729004156.11925-1-changwei.zou@canonical.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit out_buf is used as a DMA buffer for the RSA verification operation. If out_buf is not aligned to CRYPTO_DMA_ALIGN, cacheline sharing problems (data corruption) would occur on CPUs with DMA-incoherent caches, leading to -EKEYREJECTED. Fix by aligning out_buf to CRYPTO_DMA_ALIGN using PTR_ALIGN(), and allocating CRYPTO_DMA_ALIGN - 1 extra bytes in the child_req allocation to accommodate the alignment padding as child_reqsize is a variable. The intermittent error 'Key was rejected by service' on i.MX8 with CAAM can be triggered when loading signed kernel modules. for i in $(seq 1 100); do sudo modprobe xfs 2>&1 && echo "SUCCESS on attempt $i" \ && sudo rmmod xfs || echo "FAILED on attempt $i" done Fixes: 8552cb04e083 ("crypto: rsassa-pkcs1 - Copy source data for SG list") Signed-off-by: Changwei Zou --- crypto/rsassa-pkcs1.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crypto/rsassa-pkcs1.c b/crypto/rsassa-pkcs1.c index 94fa5e9600e7..c683f3c61528 100644 --- a/crypto/rsassa-pkcs1.c +++ b/crypto/rsassa-pkcs1.c @@ -237,12 +237,13 @@ static int rsassa_pkcs1_verify(struct crypto_sig *tfm, return -EINVAL; /* RFC 8017 sec 8.2.2 step 2 - RSA verification */ - child_req = kmalloc(sizeof(*child_req) + child_reqsize + ctx->key_size, - GFP_KERNEL); + child_req = kmalloc(sizeof(*child_req) + child_reqsize + + ctx->key_size + CRYPTO_DMA_ALIGN - 1, GFP_KERNEL); if (!child_req) return -ENOMEM; - out_buf = (u8 *)(child_req + 1) + child_reqsize; + out_buf = PTR_ALIGN((u8 *)(child_req + 1) + child_reqsize, + CRYPTO_DMA_ALIGN); memcpy(out_buf, src, slen); crypto_init_wait(&cwait); -- 2.43.0