From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 0023A545296 for ; Tue, 22 Sep 2026 12:57:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081868; cv=none; b=MhlhEeF+MvV2f4tK6Cl81nTjvYvuo+6QiIjeMwUF1uirGnkriUC9pUcFQ6FiieAM1EIt+8/oA/gyzKu/I9Kd9iD3/zzk/CfB3+8kBUykYw0iOeU++sRexhXP5b3/qEFdNYgF064tXGuBZdET88anGU+vnKCYNbaJAoiRGjjZdcA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081868; c=relaxed/simple; bh=3F1JI29VdO48cQYdRWVbGd7NfSqBKkKmpU0CrEzeykE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=caGQd6+YuQ/axcyJCdeaasl2kuFcrpmLOXgKW2B5ETinnBPMIGzuUhRQFScT4QfYgXf/WfslveP8fNZQhF9hALVI/SONNjDr0zrNpvzYVICzp1CtqwBF3lU0RW6OsPibksi8fS5BT98n91fauKUjz9SsdpA1ejCwYZDNwgKLQos= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=I/AD1tNa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OUHTwVWB; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="I/AD1tNa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OUHTwVWB" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPgXs134464 for ; Tue, 22 Sep 2026 12:57:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= aBD7QfFK9h16ArzMKza718DmtrKmQM3BpDgAFXcDf8I=; b=I/AD1tNa/JBI8VeG lVwqwotsf+aEdfW2sYR7s0xajuHcjQOwuCdEb0xVEwCQT6B8Rpp8Gq8JOlbu0pUR qmT1J4og5T9j5urZBLmDpQXiMpzn6sTwtbVKf9ZXnJZY6xxMUQ3QwaZtc9BF4Xqt mNmJvHWPC0+xxCOGGmNbqMFPQIdfKT+B7ZqVAnV3ZDUhPuIWhUcayUsaMBgGAjCD rdwjvWCC7sZnA+nZHhU/Np3yzbOjkjRO6sRFPsKT0Tn+E1euBvX++NeaN7GuyO7M A+sN7bnFAJUZk86yR3ZZas3Zl35iRc4KLIJG/jPj0/YysHBLM+7tQDNr3jya14t2 jVK6hg== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gujkja0a8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:57:45 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-5c830ea02d3so3469968e0c.3 for ; Tue, 22 Sep 2026 05:57:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081864; x=1790686664; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aBD7QfFK9h16ArzMKza718DmtrKmQM3BpDgAFXcDf8I=; b=OUHTwVWBbArW7LhOm6o3lNN5HpO85lutVq2TSarxZEt0QtHCzjt/tMqDn9EdYLcRgr RLAbV2cqvRMVwrXljQg3F9/zMyC6kzf+D71sg63ByuqAdIkgZa+iWl4TragVL16NQEZZ cKFvSY7qB/Six2Bo9bTWIoXcl7Jt77gLQPByiPxK04cd4U4CbVPdpqTp1JpcVcyW9uno xEphywU7LDGEEFt2yKZ3tVa4e2z+j6LXiDy4wEjN1FtUj+3eD/mzwwh8n5J0EBSDlKnt sP6ogfUK9DwihEhjO1SFoPCcjop+MpKFVlx94znxuI1s+PYddNB1gyivWH5Iyt6xfXlx FJ9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081864; x=1790686664; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=aBD7QfFK9h16ArzMKza718DmtrKmQM3BpDgAFXcDf8I=; b=fIhdXILY1UurY9zDrFYZ7cDkoIXHnShYNuCYBbMCwKJNzfroyRKHBI4+K2dEhvexFh YG7EtymjcT1sT2UNj1Ng7uSTa8e06ZmsfLotVd8rGW5mX8yJpATXxRjsmKZT8eL4sInN xUAtE36y3BU4vUzfW+CVlgAoor11MYjmGlP/q5K0XxJPHoSQ6E6yQJSD+4CtvOw+K1A8 xqEK+kebRPJUQOn99XPFuAB0h/jhd/nxPwelKa0X5vJx58t9J9wbc3aEthF1WMQEzZ3T T3hIfJOgiDTKlAsIGanqln1hnjvSdS4j9GGo2xsU44tXrH6CABcw34K5vL6aT/H6ommA DQOQ== X-Forwarded-Encrypted: i=1; AKwUvBx288XMNqb/KurjA2mjFz95z0Xmmb26qScJM/DP8YoofYSPoHRxmLiiINXXb99GVONt+hT0O2jO1Bza1S8=@vger.kernel.org X-Gm-Message-State: AFuF++kuxwkO9yV3zBh45C0SzYkZG6HBuk4qd0l5QzkpVqPeoGy4oRcO gnNyJJ28FItloIfNazgI2xJpRfpketOGa4U6dAM2JDtyptrqDCjrmjehD8KXjn+BidLmDiM4REv 58/Pqy6ZU6SzaqYnkkm1S5AQ6+hbCXGxq1Y/b1tAY5RZLuBGtupZOXTd7weG56GlZBlM= X-Gm-Gg: AYBFou0diCv02G7AgsKbgqGRDy48b8e9DkAiSuL9XK0VQjwVpfHkz4TzeRjiY9HxCnG U01/InL9cV0RUeMHy3TNZu1nDrfYrBYcFxBFAYDBQJS3mM7i4Eo5NJIouSMgmmPBuJDUjkB92zn CxKML/ZJMq/+AV9ZPZ9Uex6hz7foBETogSSvFJZIy5hMQ5Bsg1ukAYb6nWuxdE+S/bTjfjenv5s PbYuwUCmw9+c7PmzR4B2cuQVtNRWvQuE7xn0E0XnJstf8hFirbpisIIvkw4qV9FVKq8ZRrvY+qz BS9hVnlcopGi5CSSpLI9X6uQwiRem1yc6+ICJMn61KAbHHyJ3nCWUXqj9UkY6PqPXJcxzesEi3d nVS7nIBbZgemYXiHWoOfo/dzbnM8= X-Received: by 2002:a05:6122:4b81:b0:5c5:db2b:5baa with SMTP id 71dfb90a1353d-5c9d8b32805mr4384486e0c.6.1790081864078; Tue, 22 Sep 2026 05:57:44 -0700 (PDT) X-Received: by 2002:a05:6122:4b81:b0:5c5:db2b:5baa with SMTP id 71dfb90a1353d-5c9d8b32805mr4384429e0c.6.1790081863521; Tue, 22 Sep 2026 05:57:43 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:42 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:16 +0200 Subject: [PATCH v9 01/14] crypto: qce - Fix HMAC self-test failures for empty messages Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-1-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5101; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=3F1JI29VdO48cQYdRWVbGd7NfSqBKkKmpU0CrEzeykE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns1ck69ODuwAokeedDTXMLw+9NKSg+NpRPX3 UU7SCM3ZYyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7NQAKCRAFnS7L/zaE wzQOD/0b36i5isTtX+zIy9vNiJDT/vmrlbvHAUkOtnMv1tcomEk2c8IDgfASNis5H3HWTo/SVbg 66TlJuf37hneBEQpPK1KRyBcleoeNgsklm1I3E13T/lc3M59+/vG3w+wQSIdnipWZfWUscimJ91 GpYGrjYs9ImcX/aqsdgT2+OLCE55fcAcEHCSLJHRa604uMuWnpkbw6y8TUTAnFLs+v5BWnSaB9D QRZ3WIQ/s2y/Y1mGsUv1hmU8z0Ih87ZiCiaXOdQLfc0pTpjJA4fehwpt0YkdWPTq09fTsFBSjKU dv4LQN/OpJLSAE8Pq+FoQMwy6udlMASmohBFlpKoDL+zqlFZ1ZJfrJaoTzw0dhNT5a0EQVFZVgs /fgCliZwkKIU8Tj0xbXzo//6PBCI5j5P91z4dmFhZYiqQ+JTVxW9r239CoU22UN3vUpuR8lQM+h Q/POQezol6pqLhalQt1IRIWGnazRi6thefyHYsvpkAV1tJ3Pww0FYyZvQOWA3S0AFy0+46E3Z1C JjUuekIsG4tJ5C9GahHu/vf01XnjefFwb1PYz1meYiV0ObimsOUdP3ma6s30jiU5qGQy9Db05U5 iYFqohHt1DP4j78W7OJv7Zr1d6xjYSHuWJNjV2sKgBvBfmhm3rmGyEu2Dstib8Xux6cL7dGEi/N 8XGTIwHhCtyPYog== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: 7sDDQC06-qmGer-ymxtg62LtBBmvidlb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX5/qh9RpCs2s9 GarthYPCtuMijyCl/GT1GiIoJEP467PYApLLHnXq1L8rlQCF2xb7eX5eG82iVuG+ENmkY0zHiH9 CRHZaVK3W1z/k9F81RFlnhq1E3bqeY9Ae7eIpUG7JoqLOTZQnUCTy0gMRtuEYpH/Px19XaOUwlN Smxxz9jLm09YAKy80nnuzGh2X1O32Lw1OvZyWuN6T6Pqxtdyf6KjGPg+W3sz8t4Vwxu2Mk+dDRd CYVBZD4Z2wDmhHmsFtjU4YCThKoksRpmnXXMGfqvG659FVLz2NIv7HNsr/O4PtAGpxF4OjEwIbv DpleeKOAhqYPJbTBp7MZalq35sjG2/7rWLTyu2XDslmNFZwiwniYESU+70bGPUfJXxI6mKLfsdy MSresjxQ33Y3peCU8YEeAVFUlADi52KXHJowiYqyTl/g80Cz2IK1tfLvM7FTm46+9rCL7q7bfad JKLMk/SNpwfSuYJDolQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfXxm1+/IHP8AB+ jaDB1uxEhwxHZhjR+FF3e55mCwXH740H2fiNbTjEUbKnpPprdyThzB81Qi7ltzK1m+Vq6xVYFTO 3fayBr1O7GjldHmulBkVw4uHy5QBSEQ= X-Authority-Analysis: v=2.4 cv=SuAFe/O0 c=1 sm=1 tr=0 ts=6ab27b49 cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=7HxpRQPu5N1oW2hdKb0A:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-ORIG-GUID: 7sDDQC06-qmGer-ymxtg62LtBBmvidlb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 BAM DMA cannot process zero-length transfers, so the driver always holds back at least one byte to submit to the engine and only ever finalizes with an empty buffer when nothing is left to submit. For plain hashes this was handled by returning the precomputed hash of the empty message (tmpl->hash_zero), but HMAC's result depends on the key and cannot be constant, so hmac(sha256) produced an incorrect digest for an empty message and the crypto self-tests failed. A zero pending buffer at finalization time does not necessarily mean the message itself is empty, though: the caller can also reach it by importing a state that already reflects some hashed data with nothing currently buffered (crypto_ahash_import() followed directly by finalization). Special-casing only a genuinely empty message would silently compute the wrong result for an imported state in that scenario. Handle every zero-length finalization consistently through the software fallback ahash instead. When nothing has been processed yet, let the fallback compute the result from scratch using the key already propagated to it via setkey(). Otherwise, reconstruct the fallback's running hash state from the state kept by the driver and finalize from there, accounting for the HMAC ipad block that the engine absorbs internally and that never goes through update(). Cc: stable@vger.kernel.org Fixes: ec8f5d8f6f76 ("crypto: qce - Qualcomm crypto engine driver") Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/common.h | 1 - drivers/crypto/qce/sha.c | 58 +++++++++++++++++++++++++++++++++--------= ---- 2 files changed, 43 insertions(+), 16 deletions(-) diff --git a/drivers/crypto/qce/common.h b/drivers/crypto/qce/common.h index 9cd2e6ed8bbb0f76e24be187d8ae7e2fe2f7b932..587d349da91d1faa2bed7cd4883= 06d4358467b2d 100644 --- a/drivers/crypto/qce/common.h +++ b/drivers/crypto/qce/common.h @@ -82,7 +82,6 @@ struct qce_alg_template { struct aead_alg aead; } alg; struct qce_device *qce; - const u8 *hash_zero; const u32 digest_size; }; =20 diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index b67d749db05f2b9823cd2f0953ef24f4f337df2c..8c12c072f4a9da2d97a51f29cf8= ca22a6411063e 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -249,18 +249,53 @@ static int qce_ahash_update(struct ahash_request *req) return qce->async_req_enqueue(tmpl->qce, &req->base); } =20 +/* + * BAM DMA cannot handle zero-length transfers, so the driver always holds + * back at least one byte to submit to the engine. A zero rctx->buflen at + * finalization time does not necessarily mean the message is empty: the + * caller may have imported a state that already reflects some hashed data + * with nothing currently buffered. Handle both cases through the software + * fallback: reconstruct the running state when there is one instead of + * assuming the message is empty. + */ +static int qce_ahash_finalize_zero(struct ahash_request *req) +{ + struct qce_sha_reqctx *rctx =3D ahash_request_ctx_dma(req); + HASH_FBREQ_ON_STACK(fbreq, req); + struct __sha256_ctx core; + struct scatterlist sg; + int ret; + + sg_init_one(&sg, NULL, 0); + ahash_request_set_crypt(fbreq, &sg, req->result, 0); + + if (rctx->first_blk) { + ret =3D crypto_ahash_init(fbreq) ?: crypto_ahash_finup(fbreq); + } else { + core =3D (struct __sha256_ctx){ + .bytecount =3D rctx->count, + }; + + memcpy(&core.state, rctx->digest, sizeof(core.state)); + if (IS_SHA_HMAC(rctx->flags)) + core.bytecount +=3D SHA256_BLOCK_SIZE; + + ret =3D crypto_ahash_import_core(fbreq, &core) ?: + crypto_ahash_finup(fbreq); + } + + HASH_REQUEST_ZERO(fbreq); + return ret; +} + static int qce_ahash_final(struct ahash_request *req) { struct qce_sha_reqctx *rctx =3D ahash_request_ctx_dma(req); struct qce_alg_template *tmpl =3D to_ahash_tmpl(req->base.tfm); struct qce_device *qce =3D tmpl->qce; =20 - if (!rctx->buflen) { - if (tmpl->hash_zero) - memcpy(req->result, tmpl->hash_zero, - tmpl->alg.ahash.halg.digestsize); - return 0; - } + if (!rctx->buflen) + return qce_ahash_finalize_zero(req); =20 rctx->last_blk =3D true; =20 @@ -292,12 +327,8 @@ static int qce_ahash_digest(struct ahash_request *req) rctx->first_blk =3D true; rctx->last_blk =3D true; =20 - if (!rctx->nbytes_orig) { - if (tmpl->hash_zero) - memcpy(req->result, tmpl->hash_zero, - tmpl->alg.ahash.halg.digestsize); - return 0; - } + if (!rctx->nbytes_orig) + return qce_ahash_finalize_zero(req); =20 return qce->async_req_enqueue(tmpl->qce, &req->base); } @@ -431,9 +462,6 @@ static int qce_ahash_register_one(const struct qce_ahas= h_def *def, alg->halg.digestsize =3D def->digestsize; alg->halg.statesize =3D def->statesize; =20 - if (IS_SHA256(def->flags)) - tmpl->hash_zero =3D sha256_zero_message_hash; - base =3D &alg->halg.base; base->cra_blocksize =3D def->blocksize; base->cra_priority =3D 175; --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 EA8605437F7 for ; Tue, 22 Sep 2026 12:57:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081875; cv=none; b=iBGHnbq91YAAfkLUzzKZ3nYWSm//qmURTxdbD4HjNkUs6wq8Og3I7xOcsEP58NPK5tBSbDQ52w4k6i0p7qh9hI9PgikBf6wzZqqbuagZdSTDvlXQlryinCSGN4vgfSnQmSIl2tD+gEa9wvSsw1uJbRqYsa0nOJ+zTQJaVvjCCcY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081875; c=relaxed/simple; bh=M8H+MPXamFMq0WJoXACKxu5xswBagOiIf4IGpV1851w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aH0rokFqeb09R4InE77Yg0mVRFCoDBFaEsf98iFXYrKieAHYzFjK9CWo8DmQIIY49Z8yKcjJXmKeMXyAJVjPXZCE/SCIoXCRhQJnU48fzXIlZU2l5njU8bLpzavGZUdN6n4+rQiaL5oXiOqBUMYvhL903wqw2uq0uMVDsNF8auU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Zt+TEc8P; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BICf3f5x; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Zt+TEc8P"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BICf3f5x" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPIb31146765 for ; Tue, 22 Sep 2026 12:57:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= WYSi2uh0Xa4ChBv5axZgn08de+UEeDLKohCgue7QxG0=; b=Zt+TEc8PIENLZEa8 3h3zGokW40mLifhoR3tcxXoiKI8FE5knm9YNuh4KCt7sZlA1xP3m9A1ZyKe7cEwN N9YASAKINGVGipmffmX7en6McR1eFTDfUYg7yW295ulgfYXD3/d9o9rS4Yrgoepy 8DIyMeOkWRYfDX3g3sNYYsQH7fYdMl4d1uEq9VCciTF1nD5hIBRzu/rzJHW74XNM kk/hOQw4R9CWAdPpy763wk9/hsIhro+E5VaUmlc7IzudMdS7nFFNxS4aXcZLgRUf v44QvgGFV7o7fLaAG+NqdCJ0Zb7DK7Hf7hJFQndYjxamJrqIceQBuZyOhKdeqi/p tXN4eA== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4guqycrjn3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:57:53 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-5c7ab4af214so1267215e0c.1 for ; Tue, 22 Sep 2026 05:57:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081872; x=1790686672; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=WYSi2uh0Xa4ChBv5axZgn08de+UEeDLKohCgue7QxG0=; b=BICf3f5xA02FysfD3OkwgDB2RcGWwKfvA1EOpOqBoQ0gXbMkqZlEBPKmclO8okgWZd eunvMSo/Izmgyr7lroh5khiONDQJFOUA/2Ky9X6guMyp6hVpkuLTbONEQeADrZ5WQdEU WKYRE/ky2e27t8ffFcJSkMJhTRzx2JIIkBg+zld3mO8rOhxtbs3umQEhnlQ8MiAPlNN8 7VNTNYsDWHQnOQ9v0kuCZr+kCxOVMjZCYEiMaC4sfhlyBGAW7KJFmmFpjzhBfoUalDEK S4VonVUT2PZhgEIFOVjrRrBhLNF7i/k1v/aW59PjwiqTJBHCjHTFNwPFVfFGU0+o0pNp Wj2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081872; x=1790686672; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=WYSi2uh0Xa4ChBv5axZgn08de+UEeDLKohCgue7QxG0=; b=C9//V7rySENrtI3tuuja8uAsIfL0hWVfCq2J5PSq6qKX0ZAMm88QFRGib5MhuiSdlo RUEHubZ1ObsAJnXX/VNoCzgWENwIr8Asell8CnfGReKXmd1ZHJO7HboGXAlXTlesYa0K agW/TURSuNxqllzi8YDJW2wNuASqX8kmlFQsQYA/s0Wkpw/+b5PrR3VDyyueTy9dZ3fM Ey0f+0L77PwPnPgjVRbqKdN1YE0zcEbL788fMZpgJ8gGzX5RJstajmIfJ1X3xon25LeR z+BPTAglAuEYglV1+AZz10qpnQ20fUsabW01eBmCOimEkqAxfdS0LMfc1C8BqzXx6KXV O+kw== X-Forwarded-Encrypted: i=1; AKwUvBy2zxfZl/2TVo29jJvKHuOIT3tUlMosmGrPh9QsJhX9ToulwUnmrTGmCo0RhRkT3/GJC7Fwjyg3UxmYa84=@vger.kernel.org X-Gm-Message-State: AFuF++nSCmLWNDsQC+cN0hfozRTp0HeLcXFdXVYCH8cuy2Dy2YrfdeQO upbkIHcxYFpvWDJ0iPZUC/ItL9MoOw7ZYiive0ag5a1hp4SCWnbDVIFYeLCXhPIKmnaMyeWSwKj gpblVgoHBoZrApdHZVci2vYdh+ntm/4FJl0f4jpoSYNURCWv91ofOJpFfKxQS701p2aQ= X-Gm-Gg: AYBFou0A8UCf3HXxcEx9m3mOdsha/WowPu0Z8qeUFbYHnXZjCJnKmVszlj8C5St2l+v VGOV2ReIplx2DKPDdKNlqWnIhAnJgIgfJHx9AP+1K8lI2qdGLgkfo2EG4uFdDa4daUJG0BCP4oN MXNGHpGBqIW2j0WUGccdGao9L7unXYyhP3LQDtACjGaq33gsYLF5JoEXv1QfKQBb9t7F1i6EyKo 4NQyivN1N7LLzBo8wfLyCqfkd+2OPQ82cP2H3iqCeX1tXJ1Up/ot0qbs8ASEH4IrEfmkFvqSnlk v1XubfXlPWQ7M+BLxoBkdkxmhKaZN7uxi41zrdDn2YiUDfEW6nUiMVCY5RxyBLTq5ae7jszsaww s6D0ZOrW9jQRZCk6zibvq0+LXr6Q= X-Received: by 2002:a05:6122:3d0c:b0:5c9:a617:5812 with SMTP id 71dfb90a1353d-5c9b8b73530mr8218887e0c.15.1790081867021; Tue, 22 Sep 2026 05:57:47 -0700 (PDT) X-Received: by 2002:a05:6122:3d0c:b0:5c9:a617:5812 with SMTP id 71dfb90a1353d-5c9b8b73530mr8218859e0c.15.1790081866586; Tue, 22 Sep 2026 05:57:46 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:45 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:17 +0200 Subject: [PATCH v9 02/14] crypto: qce - Reject empty messages for AES-XTS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-2-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1491; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=M8H+MPXamFMq0WJoXACKxu5xswBagOiIf4IGpV1851w=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns2NF05OVLf3x0BlKxlMYYjKLgFGd0Q0jxPu SojZU1UJS+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7NgAKCRAFnS7L/zaE w1jMD/kBe09jKjOM6rqKowD6dBQaMaFHmu91AvkXmalQ5/R0rESCSg1XSr2F3w/dm709XwkhGdk MfQwKzf8qKH1pxBWwRj4Q8cmvUZa9r0NZa8DsB8g8nFfrEFYuF8gI3t8GqchqdxN5NwRWi4or6D 5qkxc0bTGuCup1aEEHQ/0oHzQs3c/xhrUS09T/rE2NRbLxkZGyDZ7tPW5RrOahc1eOsoRBplSlO gNxgZz8R42P/78aH0d7BcIg2wbRwgSZu/cVAEnTXN3nMFYp9jwvHULyLMLzWeLmlYBqf0mpihrb eszbGS3zEURhE7J6BBqkV3+hGjgIqzu3Z+wvJDgP7jze5CDn12rMUGdivU3m+Cx/Ow27hTQ8i0r FonZekhc+R74RLuLmZUT+fqERQH+fnPdLGKAKfet/oxEBiz4d/ijpzBG9wzdWqSblAop5Rafrl1 r7nEgLK57yfQ74IxKO3+aUP+UE0hyVwmr42mcbIfvUccuA7IavKbL9sec/4tBMAgbSuLG4gxlpt dnCgdxAlmQgpEV8dOrvaGfZAWmJfnjn4nviw9gaqTubFasXSNaVzxHSaI8tm/ZR06uuXFHq3PnO 0lDJKE3q6MIa6BwU9u/XL3UpB68/2ZWMYjobJHBnZ9u1yp0vKjzJqF4ZOOR9ZkOyE8nZM05UzNt W5vmL3weQJJB49w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: qSa0Dy2l91Tt_sa55owr0gyMqt7fFAid X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX/HubJXTQw+bD +HP/5cm+SKIFwyMZEW9rUvVZuPhWcnRb2UOzEqUKFlSMntsy27d6h8qnItTiSpkEw8lYSYBGaq4 SaySdKJjAmw5s9O/HjHbM8wJKlhM1V1sfNTEk0nD5EwNXv2ZtvnpmmKW3XjaNDWfKygSlsHn+qC nB9Hqkm9ct1KUqf1VIpkEb9cMHO0izx0aTOE+xgsjYMYRy+u6aXhYowk1VI2XdEHNTQ5qm8M5M6 Cxq0SH4d92m25Son3RKb1pwwi1fqAXUbaowMTER4eNpn2280kmKeZrn9xOnHyOYsvnjEEZijneH /QHQjbKPxd5a8tfATn8aiK/+i3C88xKdAcnd+cO1x1pUoChxThXEFRYMYHtjYyejxoJjuqQetTt MhTTsT+YC1idkLWg5WF6hwb/qddzMbWT1Bl7NOGT6hFF1iY2aUpz8eGloEltoo682QT5hT4mSBQ GYTR7YRAERcpObQdDIQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX42PIcajvFRhh woRVb/hy2Q7UN+4hQXIrhat/k3dlsczEjQJQe+RgJHCbMsLIdmjCgqu96bmR2alsrv5jmQVcWwm d00X0Ypw9rIPJ+iu4iZv85zrnz0bhVQ= X-Authority-Analysis: v=2.4 cv=c8I+0h9l c=1 sm=1 tr=0 ts=6ab27b51 cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=kiYxeA6Iecqc4QeK3QQA:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-ORIG-GUID: qSa0Dy2l91Tt_sa55owr0gyMqt7fFAid X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 bulkscore=0 adultscore=0 spamscore=0 impostorscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 XTS is not defined for an empty plaintext: it requires at least one full block of data. The driver treated a zero-length request as a successful no-op, so the crypto self-tests "unexpectedly succeeded" when -EINVAL was expected. Return -EINVAL for empty XTS requests while keeping the no-op behavior for the other ciphers, which the crypto engine simply cannot process due to its DMA not supporting zero-length transfers. Cc: stable@vger.kernel.org Fixes: f08789462255 ("crypto: qce - Return error for zero length messages") Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/skcipher.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 03a3cec2bb90e8d8c17e491ca40ec740a003d1b4..f177062eb735148561f798d0d3e= 65265f3235da8 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -222,8 +222,12 @@ static int qce_skcipher_crypt(struct skcipher_request = *req, int encrypt) keylen =3D IS_XTS(rctx->flags) ? ctx->enc_keylen >> 1 : ctx->enc_keylen; =20 /* CE does not handle 0 length messages */ - if (!req->cryptlen) + if (!req->cryptlen) { + /* XTS requires at least one full block of data */ + if (IS_XTS(rctx->flags)) + return -EINVAL; return 0; + } =20 /* * ECB and CBC algorithms require message lengths to be --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 E336E5476D1 for ; Tue, 22 Sep 2026 12:57:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081873; cv=none; b=W6QEWZ1xDbdCIO4wEIGKGBEZS3UYh2dNsch2gP8RM0ush5VlYbtFyp/usb+CBk45AfjUUUUHe3hU36pHnt3ndJOkhTXYylH5guujBLQ/SMXEo21hTvlreKI7yTg6okRwnzgRplDNEUuMc5mf4e4Y4PfmvpXMyl/2eTXeV/YcTfc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081873; c=relaxed/simple; bh=UWs7BGpP9oi4D5e4m9onKqarsURB/nAknWQjeenMDN8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CFSjA70kGj82b1ehDAIk9SSpV1PHOkzYqFIrTtdZ7CDGdnAdXpvAVbHHJdT7ZJHtRZGy7+84F2zYeg46VeWUYnWR5SGbA1D33uquxjKEiKaALVF5ja/42O237mWzdO3OeprQNSOKOIiYg1SylEGRduN1J7dNrn0c6pCE9tL76as= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=n3CofNf6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=P9IBMGGN; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="n3CofNf6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="P9IBMGGN" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPgXv134464 for ; Tue, 22 Sep 2026 12:57:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= +tmpneQVB4OWcXyv0z/2Bcq0vGeEFiuJNYvYu0fNYIg=; b=n3CofNf69AX7BkI+ d001WuCFTC6oShrxBmBYIvCrI4mBHQss8e2doTs9nDRdHgCG3VX4KD7RgxfLIB7n QJLAKEDcm0Z0KtlnNgdbhgNQ0mAbP7zJMDGhFCoqm9uzDJiST/ETr1p/T2d9DrX6 dJWW7WoBiZcSGqTnMg0jkQFIo8L/ST731k8P3dZL2H47PxeH5f/epCixjSBjCg1E lwcihGoyP2t1/oUy7OTt3OIhMQaHmZRdj6czwahYmmlMyAU6CuAuXx7XtYJ5SlBS O0xf1UDF51roc9SSSZanyBtVjFpUoFGvw2OUpW0c6tg3e3Dm1O5lXYVqgnE1bXif 9aOEPg== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gujkja0b0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:57:50 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-5c82c79466cso5232593e0c.2 for ; Tue, 22 Sep 2026 05:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081870; x=1790686670; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=+tmpneQVB4OWcXyv0z/2Bcq0vGeEFiuJNYvYu0fNYIg=; b=P9IBMGGNR2ve+ieDT0pSf/CJNUWWfL6qLiKdd3y1DzzeX8sG0fxrmf5kQqxifVxCGg VvQuf4DcM5vw+Fq/OdNNgkoe1ffGDJGc4D0FIPrsGMK92HsPr2VYosQpM4pVIoSGTbup QkFUfLXRePyAWECVXxsSR4/QA4vFn6FjjDuO98C8v14HPvjdoEoI9vj6JGwiVLcdR+lN 6yGQuM7qooYkIhwHRF4/HvgYbfIeppItOhAv7iQfehrJpR53f2M+lpkNH1VFX1b6ZIQQ u5irTtylySSQQgWhFpg/q+A+o33LZvDfdhvGCqIPpXgx3MfAcuWOH/NrmxfEIxWrsf/W ymiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081870; x=1790686670; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=+tmpneQVB4OWcXyv0z/2Bcq0vGeEFiuJNYvYu0fNYIg=; b=dH8ust6TXawBC1a1ARqbyTtuqHN9eg1ppTWrHG+pboky+By9u4pZhMz74zWyy6i2Gd mRznreKJf5LenRXlAVaBvdZTdtlxIqGzi8ndsHChMsH7cWTXKuyZhNgRLXCA58P9tDbd BPrWfYhi/NVuuZ0DRfgAIBxp3zmLzogJJGIhxku/31tGjdny6mVQP7OMD6DiAVyL25H9 dtoDs7iylZAZ78WhzaHh0H1CPLJ1DhUbt+93/X6IOlFN/yQplwTh5oAfvqmnBWqL65Kh J2kP877PDJsMZu/yUD18lBE0VTjfsgbsZhCrR54k0QJ/Yo13tqpgM3aY1JnwyFrSw1VT HwiA== X-Forwarded-Encrypted: i=1; AKwUvBwsNjL0tmKlpyGx2HsvtfHIMLerQYcNT4wnLkb+/KhLoUmj4G27Lu9bCmmEMlAvDGJdvdMJvJzQJcBfFYQ=@vger.kernel.org X-Gm-Message-State: AFuF++kkPIIYM5a6V4OB+E9WdRVd6BBxQcVW7Dm18HemEZy7veaiwMio azFQNsBKC9LSV/mq10RKGbmjZi0u4cBUxUT4HgV30+UXC9epBEFGtHbFhw8wN+VaYY2Lr3Z9pRa 5MRF9lT85J3B3Xqcf2N/EvVhWFzKgvTm/NYWS1i36VgeBGCAFiemM0c4Uv7qglzWwZrk= X-Gm-Gg: AYBFou0qqBktJbeGBTM7dytlTxjZoaT5LDswvxHON2cv9MjK8zxOVrPO7Ydkt3kgQDc i2aI0vt7v9/eYn8LbN2DBIP44bwkeETxpMXPjAgEwfkv+KaX/PqxB0NMohGGkNQPfALmLP6JROo hkI0Mnw6xqN4uqnNQF4waxYtrjeYF90xgLe/H+KJsc1DokOYhkaOKIpOBXqqGwtNFiyiqcS8AER CaoSv0DeRYin2vJjYWA2J9JS0rEgfoGaOUHgf9Vp0X8WULHQYBAcn/V4RMGbac2d8paKb/F7A+d wxAGH90MJhB5EcBaFIfa7MHk5mItQM5ZvMsOPgr+KL0jtGqPWM17thZFuUlPhlbam/9aD5IJLnD 4DZHFWrVqrvEVBoruGTjV+z61QbA= X-Received: by 2002:a05:6122:1c02:b0:5bd:71cf:e97e with SMTP id 71dfb90a1353d-5c9b58caf66mr7590749e0c.5.1790081869851; Tue, 22 Sep 2026 05:57:49 -0700 (PDT) X-Received: by 2002:a05:6122:1c02:b0:5bd:71cf:e97e with SMTP id 71dfb90a1353d-5c9b58caf66mr7590713e0c.5.1790081869390; Tue, 22 Sep 2026 05:57:49 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:48 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:18 +0200 Subject: [PATCH v9 03/14] crypto: qce - Fix CTR-AES for partial block requests Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-3-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3299; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zIbsmodNrd/Ar66AXytQCbkfJGL7e12+q42vj5mvYqA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns4BI9SE0NByBue052dzl+vj4VvGjDm4HHUK CU+HjvXlyKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7OAAKCRAFnS7L/zaE w5kFD/0VsuEoiaC+N2wsBqm5UDVtvpVOuSrdrdXVx0OD8PhHo2mjCPynJjtPyvYR724NyKG9ZC0 nHCKXBKZcnI1WP0OT0Hai7Msx5MSajxZfmyhz4zgJVcmiruJEBihSXBSrGQuomUbH7/GNgXMmxq EiEk0q/ycBwdVTt8Qpw2zhtNIbYqXvmGVNqx5ahYETbYx/CJTqxU1lcsw4Ncqq706pU/Hq9ZRwM Pu1I0fm2oTenvqTQe7xsPZ6h4fhnNxYPth8FUPaL2KmczCWYD1QILmdLeAkocJL0tecVnw3RxfL b5L7Up3XiS53TF1/tUB3VBHK8caV3mLd9YAym/Y5LaRM6lvPWHoAHFkbW2I33+keeOZh/CH5rhj 88y7ZIhmtSoTpKmD4+dwZGHBEdbBjb0k0M8tU0X8ZVdVgTowmn08BWfGzFog8Q6yLB2LhLzfHNO qL2wOOHUhnsq6uzSySRu/OrE4STKvu0S0J3xcLjmVT2c64SwwojTFF365Z3Qn5lyRYKfC1YEN9K s7V2j3dMRcCQnTKLv6ELSmMF0VbRzD1oHhkvY0whrxDHeylnQ2FdhjDu3uZh7tJlmoz6KHoa3os PzBXHn6Kzn1EJVchRV33LdaMBRM+PTgvdO+pzND9e9OVjUd/rULDxa32K2QwmHCoDTOQk50OmFP hOCsqqymY0gX1Fw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Cg8RoEUlVAg4xP4iZt7XqH5uIOIE9NKE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX3peu+Gf16mDG SF6THmfDs7BJxiGrI1SG2gJlwzb8D+7/vlnFgoiF6a7FhN0TQh22JnFJA2MxYNaAxhh0hQV4a/7 PyCq+SntYla7zlTsZCBqKcXdkSjDaVvE6PybzFZFYZ17tLK1uoREZrtpxJ/eCd+BNJYDea4ISj1 wJeBRd61ajZDAbTODsEnB11tjmWPtWspy8yTl7WHSbvOCfzQZSBhXSLHD2Mr+eImdMtwX3Kk3aU vHxW3ZgYAEkzO2/aw24IaY0EpDkqJo2Vn4Mqx7FTzrHeaKudotbSxJJX0yNwptoZ/OXSeJHBAaz dQk7SoVjbZt06uUWWCtpW0eg+2r9QhWiVOUSkOP9n8gYgQJEFxx4QmNHudXRfmaglfpWtx+7Yf8 /aQz06HaRRlMFJxwRPte9nCDRVhCNrmWa25T2S7zoatYQdMdnynW6d0fAKSkk/75zXVPLLyOzAg m6F7xWaVceBwSncPFVg== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX5SwrPFqTJTfx DkX7Sy7KWSwu+mAxAe/vGwkm4dqRTuPmt9Qypt4BoVSr8MTYNdJC4WyWvm9dv7hMprlIefGL5MY UX0HQxNRVsaNzVIr5JyagVYU6aBvttw= X-Authority-Analysis: v=2.4 cv=SuAFe/O0 c=1 sm=1 tr=0 ts=6ab27b4e cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=Y2NcAOke46LZopEJyX0A:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-ORIG-GUID: Cg8RoEUlVAg4xP4iZt7XqH5uIOIE9NKE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 From: Kuldeep Singh In CTR mode, the IV acts as the initial counter block. APer NIST SP 800-38A, after a CTR mode operation the next unused counter value is: IV_next =3D IV_in + ceil(cryptlen / AES_BLOCK_SIZE) The skcipher requires req->iv to hold this updated counter on completion, ensuring chained requests produce correct results. Referring to Crypto6.0 documentation, Section 2.2.5 says: "The count value increments automatically once per block of data (in AES, a block is 16 bytes) based on the value in the CRYPTO_ENCR_CNTR_MASK registers." QCE increments internal counter register once per full 16-byte block(for ctr-aes) is processed. In case of partial request length, the hardware uses the current counter to generate keystreams but does not increment the counter register afterwards. So the counter value written in CRYPTO_ENCR_CNTRn_IVn later once read by software is one less than the expected value. Crypto selftest framework capture this scenario with test vector 4 comprising of a 499-byte payload (31 full blocks + 3 partial bytes). Error: [ 5.606169] alg: skcipher: ctr-aes-qce encryption test failed (wrong out= put IV) on test vector 4, cfg=3D"in-place (one sglist)" [ 5.606176] 00000000: e7 82 1d b8 53 11 ac 47 e2 7d 18 d6 71 0c a7 61 [ 5.606192] alg: self-tests for ctr(aes) using ctr-aes-qce failed (rc=3D= -22) Expected iv_out: 0x62 (iv_in + 32) Obtained iv_out: 0x61 (iv_in + 31, partial block not counted) To fix this, just increase the counter value for partial block requests by 1 and for the full block size requests, don't take any action as expected value is already returned by the hardware. Cc: stable@vger.kernel.org Fixes: 3e806a12d10a ("crypto: qce - update the skcipher IV") Signed-off-by: Kuldeep Singh Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/skcipher.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index f177062eb735148561f798d0d3e65265f3235da8..ec2f21446cee9dd4a5e3a738799= 25ebbcafe0548 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -33,6 +33,7 @@ static void qce_skcipher_done(void *data) struct qce_device *qce =3D tmpl->qce; struct qce_result_dump *result_buf =3D qce->dma.result_buf; enum dma_data_direction dir_src, dir_dst; + unsigned int blocks; u32 status; int error; bool diff_dst; @@ -56,7 +57,21 @@ static void qce_skcipher_done(void *data) if (error < 0) dev_dbg(qce->dev, "skcipher operation error (%x)\n", status); =20 - memcpy(rctx->iv, result_buf->encr_cntr_iv, rctx->ivsize); + if (IS_CTR(rctx->flags)) { + /* + * QCE hardware does not increment the counter for a partial + * final block. Increment it in software so that iv_out + * reflects the correct next counter value expected by the CTR + * mode. + */ + blocks =3D DIV_ROUND_UP(rctx->cryptlen, AES_BLOCK_SIZE); + + while (blocks--) + crypto_inc(rctx->iv, rctx->ivsize); + } else { + memcpy(rctx->iv, result_buf->encr_cntr_iv, rctx->ivsize); + } + qce->async_req_done(tmpl->qce, error); } =20 --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 93BCF54854A for ; Tue, 22 Sep 2026 12:57:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081876; cv=none; b=ERMmqlf5g870EQbF+YAdLlk7yUq524wKnlCdkEglaRlOwkHCHZPKAFqFmMX6NT6hQnCgrJH36xDfNUnl4MtmTxAa4j2ne4M+o17KqSIP04zpXLuTEk8kawUCDGWKD3sNzruDisGZxlD3i5To7xd5NcpjbQMDU/XTcScVwra8Ixw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081876; c=relaxed/simple; bh=xyzdu2q1tpL6mhFPCDTUidWRkkUpI2PcImyNjPq2sLw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X5vB9tpgwFLDFyKKO68DwcQaGg7fihL0Jvsl6wzU72qKg9OILQ+U7KN9NVEOGP7aD0bmLdQldPu5FZiQiWPVzT8xOkbrVKqxSFPazmetTlgK6WQv8p2K8KK9c57U3vmNbCZvjDPzb9D8TtRnPr4orCIsExTNDAAOnq6cVUgYWvY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=oCxyr3Bu; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LkRwaJ2A; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="oCxyr3Bu"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LkRwaJ2A" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBOvoS984483 for ; Tue, 22 Sep 2026 12:57:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= QSt7Om/WARb9DD7M+LNLPO3I5eWJQD69hsyVLSKhInE=; b=oCxyr3Bu8iz//duf BM1TVeZjNJ5TfEbv1Ld4WEg2cKlJHM0PHEnczyPU93E7Ei7YbL7yP4wgcu+BiQ2H BNhQJQ1ASXPT/fSITM/KhArSEwFxV6kBFYYksQft+uzebf3Z8OEw80Vf+UEd26vz C5GBoPuXPM5hgcDVspnAjz0Vj75q1ELm57+YwkNehBKwK5rjDc3AxVQDBivWJNMc tdY76vmqfM0SCcLtYpXNOZwyXqGa0KwbwJ3PHT3UFQHHMVzjlJGeOcHEQNiDGTgv PRnknhLXVx4/EKqL9sGQqAhvzcYzbfoKgdzYyjm3xbMZNYkTQ6j1PWKp+WM/ncdb 2JG/NQ== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4guqk4rp04-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:57:53 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-5c7c0d2b0aaso1982267e0c.1 for ; Tue, 22 Sep 2026 05:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081873; x=1790686673; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QSt7Om/WARb9DD7M+LNLPO3I5eWJQD69hsyVLSKhInE=; b=LkRwaJ2AHTdbHS4aVIaaON0wxFX8csoWygTVI6YrWEK72egpQBsGTWsGVLEniKT/je gPxT+0wu+kU7tCcji7qv2m3HHsa2rXMGPUvzkDlSGp8ioDWcqTGBA1fyUHnUKOog7fC7 mmlrJ45YJzLffZ2+svSCAJo+H6VWoT4FPRfBhZxqUbFejSAYYhRPJ/+09dPF8wzaZP0W hvFQgcLqT82lDgeSpcufVap1RjjX4bvoUD8jGfArg4OwthjcZkcNhyxk1F938/lA6E47 xsyas7kAK78yPOAYF9HZzA/evCcU5gkFzrHzSpub1DCb+YtMI7fuYPnxs0vluMbPHJtT bgXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081873; x=1790686673; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=QSt7Om/WARb9DD7M+LNLPO3I5eWJQD69hsyVLSKhInE=; b=vL23Qc6cwvj/4aiNftMale2sEO1S5csaVVjZjp+QVjUN+OP101HEkKgYB/6+vDSQL0 QmORb8yMkfuB7A3wKH2TUI8mPxfpJSNKPkSVGloloQNLtr+zK0TEPaRfPybmGRfPf0mi z5xgqiRAeFzFzrbEMISih+QxBJa4s61DPX7CzbXoUP4XudA++XH7mI4BfM26FgVGkxY5 Fa0xPr/xvWCEfy4LmnoRW89QYL1CWJUK03yDPALU4fzUrGejhH/mwU/JGhYlvoBHslIs vwP6TyDNId6Z07PjUjTnJYcWpEmyhhQF6DszZDl1XMoANYQJyJFyap9Aps07y8RBo+jx RU7Q== X-Forwarded-Encrypted: i=1; AKwUvByvc1i2m5pEPNJz53fNI9SrGVdWmUaWSfvxrzoSlIEiM7MR6dKZgSxl4wjvZ2snitcJXmiojhlIUP+3r3o=@vger.kernel.org X-Gm-Message-State: AFuF++m8Vbd4BWOylCCsB52CQhcfK/TXtHuxS24kW7F0XZv7qqI6U/vl W4OF5Q5nTBQlSVmuAeFXwAM3qAlttjXk62zW4QZX7dWms9Pjs9mStFxvfgll8VwvoSDXx+k67zP B69pJV7k9HrZeuNDCUtUEROOaYFD4510EXJ/0EyigG3qC1jkyj08zbrDuMtEUgGc/4Bw= X-Gm-Gg: AYBFou3JfsPCHBD1d1ySBgYCf5L/grLovVM98RZS0bQDqUB1QF9B1WC2IZRrtph3onv 6dj8i3DLQvyTZhzuJ0kBEElVpHp6EQ9cy+M2fAwmGFupe47vwAhqk7X5sQwI891rOs2Yj3E0u60 CyQitz2qvRxHCXn/RVS9BITUxP/I7YQWtYLajLr/p3R33qAoI/G29pvBT5F0zFX1Anexi7nNryt DtukkTx6Ajjl7kvOvDBjlQFSqO2I5CH59zypku6HIWwvXGg1EObRj8R0o16Vk1FmK9rD8+26SYU g67CdVaxOQWphjpT4FNCS+8m3Vl1cPRNNT0dp0Ulp1yniJU76m9StzJSUgy7ib/sykosaapKlEO 64zmdXNRylSXYb7kTYl8PwpRxFrQ= X-Received: by 2002:a05:6122:8d1:b0:5c9:c60a:e9ae with SMTP id 71dfb90a1353d-5c9c60af4d9mr5452818e0c.20.1790081872734; Tue, 22 Sep 2026 05:57:52 -0700 (PDT) X-Received: by 2002:a05:6122:8d1:b0:5c9:c60a:e9ae with SMTP id 71dfb90a1353d-5c9c60af4d9mr5452788e0c.20.1790081872310; Tue, 22 Sep 2026 05:57:52 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:51 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:19 +0200 Subject: [PATCH v9 04/14] crypto: qce - Use a fallback for AES-CTR with a partial final block Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-4-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1764; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=xyzdu2q1tpL6mhFPCDTUidWRkkUpI2PcImyNjPq2sLw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns5UtvWLW6lIYAfah148jHNJ/4S50XpACUQe 12MNVv0xeKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7OQAKCRAFnS7L/zaE w28DD/9nfSdD+17cgYjPaGe5HJAgXHxftzNagDQJH7cEhX9vMt2Mbk+DuGFFwD9Q20XZyUyipgr CMs2cyMfWynkJsBRHA+hM2oMBL7xhii8d6+WvWRd9bx0nun1NS81+DB7DbCaqxLnKe6z4cC9jxW cpNQ1e8YXfvZ400M5Uc0xALSJLJZKMg8mPje4uDSj0tRaRQDp8MTXT47Sq+YzLEN6EKZRLgSrfg U0Oof9KZJutCTjYN3iQ8YZAY84vnJ/Wthr69++YkItEvgzFpDjYm0Gu6Z2F4Q2w6TEzNEMQR55U 4V/4D9X4cDxRLXF0/HCo3S0IVV4Hf4Sb5m52tqV+/kviEcwJFm+2ENiG5e0GJ0Cl2oIIQJ2+EPP WQIXBnI7Nkb48ZswP56iVZpbCw6y7Qqi4RaaoxjLkcYNtXHtVtVZD9jrpN2z80OAoiA0dslO1Qu CyIGFZmWvvID54Ciehq0raOUB0fuDtTojLs/v7xv2VGBYThETFvIVOzIlyiNs70Xgcx+F6q7ss0 7gxW9MyHtj3dJim1PSnVkTwU5VjCQ/7kCLpYDxwFjT/jBE00AB1CCNl08sBcL9wY9L72/kI8N7o lVC6AvNYXTB+q5bQ7HNr4cuu53xXf5cjVOdJEjo8UobUDHg39ohLUo8sb/AXBTFb7lJuxZeJXfF XQSr60V2vwRoCqg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX8SegXkY5gUkS MXvxP0gROyDyvKcWoJSIVGf6TvFnFB0g3XNiFp9pYGlwALhVGXnRZNWdZOaNQPVZYBDOHbaR+6D vzIW79EwMqRbLAu5f2zle6VhXyqbVaAXZdXgL2iekc5f0ObktkoURaWlWG7GFy8r7Ug6q9NgQM7 D5huQl5FJXaF31DDbhEkD+S8+Fbf6lGsjP0Iv7eSHwb4nNdE6ecqXWSlXy89eebDVvpUdvbbpBY piDFaKn60ogR+/p/DZUZ/AlNorA/XAY1rjDeF1uq4AmLtNcWAAlk2ZE5d+4MoFQisxWFRq2uMmh BBpMxaeIetLuoWxqYHENsvSW+/98JTguo/0ypsgX4yvQhqIAw20vxtziOSCrJU1kAIfUvN04nMX iVw6eTSTGAsN4E8bt0STyadKcSdPPuYV+X49mC18PFegGmN7OOEFyka44ymulePqqnqmPDB5Dv7 ucQabY3U3PsBrFMFR0A== X-Proofpoint-GUID: rCHw1ABy63D0pOUZQGxcWiPv-dAweuOu X-Proofpoint-ORIG-GUID: rCHw1ABy63D0pOUZQGxcWiPv-dAweuOu X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX8MhpyY9iBuuM MVu2Ex4n5OZMX4sSkD4nXk7qIQ8Tjd01pNjBZGu7pjFYkCKy7VwGAhyrcYF0SgK+tDG7AltblD+ 4w9XBw3+odksNBIBylil8bAKnzACNQw= X-Authority-Analysis: v=2.4 cv=XrVvqlF9 c=1 sm=1 tr=0 ts=6ab27b51 cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=vUpbTSJP45I4i0_vGVUA:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 ctr(aes) is registered with a block size of 1, so the crypto API hands the driver requests whose length is not a multiple of the AES block size. The crypto engine, however, stalls waiting for a full block of input in that case, leaving the operation incomplete and failing the request (and the crypto self-tests) with a hardware operation error. Route AES-CTR requests with a partial final block to the software fallback, which already handles the other cases the engine cannot. Cc: stable@vger.kernel.org Fixes: bb5c863b3d3c ("crypto: qce - fix ctr-aes-qce block, chunk sizes") Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/skcipher.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index ec2f21446cee9dd4a5e3a73879925ebbcafe0548..27ce87be2029d896fd987608f09= 1084ac64f5185 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -259,9 +259,12 @@ static int qce_skcipher_crypt(struct skcipher_request = *req, int encrypt) * AES-XTS request with len > QCE_SECTOR_SIZE and * is not a multiple of it.(Revisit this condition to check if it is * needed in all versions of CE) + * AES-CTR with a partial final block (the CE stalls waiting for a full + * block of input). */ if (IS_AES(rctx->flags) && ((keylen !=3D AES_KEYSIZE_128 && keylen !=3D AES_KEYSIZE_256) || + (IS_CTR(rctx->flags) && !IS_ALIGNED(req->cryptlen, AES_BLOCK_SIZE)) || (IS_XTS(rctx->flags) && ((req->cryptlen <=3D aes_sw_max_len) || (req->cryptlen > QCE_SECTOR_SIZE && req->cryptlen % QCE_SECTOR_SIZE))))) { --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 587ED54857E for ; Tue, 22 Sep 2026 12:57:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081881; cv=none; b=QX57qy4UZ28mxLMwDhHvuR2YN011zB6JYJ3nJjDPEb3XwcbneT+05bcYpXeP3Z/4Su9HwBjj7LyG3TwsScGzdxiaPEO2g0NkVTEGHaPJmYaXV8Npl4N0Mi//BbS7Ss1nwVsaVgnruhnxC85HlgHQU/qrMOlsznHg8pwQfOINDyE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081881; c=relaxed/simple; bh=CF/w/I2oWEL4xyyUISvXBZXxucJ1ol0yr2u30mZJdOE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QLTO5Qy+enh3DpNdrMsgN11Xxr6K7AqjrMfe9Tqr/yzM59mFIKFL4U+5Ppknj0ABm58ER113HTteVfY8FvtmroMyytKjalZ7ThKlwEJQR/+t4HtWC53B8T40iwWXzsp0lbiaAq24Ohj5ZTATjTGaDzJI8JoLmdY2wW9x4vrriec= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=QEXLY+o7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=O+0ORL+9; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QEXLY+o7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="O+0ORL+9" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPX2w3487073 for ; Tue, 22 Sep 2026 12:57:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= t8d5GV6KzLRz1CYx1P4YFuvPCuiN0aNrCkWkYjs7e6I=; b=QEXLY+o7H+Jkj+9p bWmSSlnHyCWzU0rkp9oX0Piyt9VqZgTY1IGj/GkBur3tL6Wg4/HzXkKmkRQcGS+m jzGDQnZD3KEbdKMsHSOBJGD9+0dvKoLmkF030j6ljEG2bv7uM1YQ+f8GCZ1ubK+x oJdvbkswJ0x2oWiPsEnemJYJus1fDCV6xP0SQ++YlohnKrjhdAsEixy7xwYRnM8S lUc9Wb4y63/DjMsMsgPdF2V/0vWb980XKnhKT9qSL7FAv95hOXPOJnvxQTdBvIEs CW7zkUJkZOwHrAUOXrnEeb2Tv4Ss05wacIIlcZ1A2U78cW081rXzbpovMQsb6cM1 +hGp1w== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gudw0jyet-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:57:58 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-5c82ad4977dso4634144e0c.2 for ; Tue, 22 Sep 2026 05:57:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081877; x=1790686677; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=t8d5GV6KzLRz1CYx1P4YFuvPCuiN0aNrCkWkYjs7e6I=; b=O+0ORL+9kYDyDZgt86Bzqdv/NKBjKgfBl0I0NkLFqBBI43JwiVugtUiJ49bVF7xQmJ LXk6txYsTUdDJwrUO/bEcAifEM+buJv8wpkDx3u2DAGp6cOm42KaOwE6/Ba+BEaWD1Jg tRHSSadeoBcbs1Ka0yOgrtmoK4EigbPmu1VxpoHQDCO4SlHwXN0r2Feo+8zl6SzObhph 8x1zsqtCaDJtjJlxc72S4w7odI1X8KhX0ka7M7UV2ZRH7/vYmOpsKQOSUJm8y2s31Pop 5JVHuRV0sUmtbwwnSO6l91fSzHEX0b7sgzAsZOPYpp88wcc9SAJaHFXWcsxHxLN/FKtq 7gLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081877; x=1790686677; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=t8d5GV6KzLRz1CYx1P4YFuvPCuiN0aNrCkWkYjs7e6I=; b=pF3XoSYoTriH+rG2yCyRIiJBqI7zrOqitw779hdlAAAaEa0Necqa3/JvGprfb9Nj/S k0hcb6vDtK9mbftqnVrFXvO5CXo9RUk/jvZ4yxYYC1N6bXcv9nCYI6eL8Dryf3PYODy5 BWSqGTIg3stzrBVe3aldt/kw0SgHdETmcHNeG35a9KG19w68y2nd01GH6eKmOqQSNY/V VeaSNXrvWiFiFNumgC/KkOMdt0iphBCS03HC+OXrWmVqOF/OovZhWpQ3oaJAfrNFVIy2 fzwwG/UX08i5xX7sf4ufuFCMpEHsffTcEZ+EbxZ+gT/J8+NSScxtdjZAltJ7+stvxGJW 4Ykg== X-Forwarded-Encrypted: i=1; AKwUvByLZnNLtuhi8FA0lvqjTwb/ad9b/kvzOKqSPpKbUme8lAZgILEj2bzh68e8U31/YdT0mVhJlNjyZHUrc+s=@vger.kernel.org X-Gm-Message-State: AFuF++kXK21jdB+fPm+VorhYViVj2E+Tt034I3RZnbB7OFR6ESDwSuRn gaQ2LZp2aaUj/H2nphX44E1kMzyyN3e9BYpzgEIRcz6oS+HGiUBWY5bzHahVwuFfaBIX61jHVm/ Hln+0S5X4Dhu7UA2l7dDqHbllc5fR1/lyiCS4m1LR1gx6j+873wD0npEocFuenAAtgNI= X-Gm-Gg: AYBFou0ZUE0M8EyTsv9s3ozzB3hHOWE4RdUCLdQAVg2Gv7Wmpb2cVGUtcTXjDzugD1B f9eSxpSD9AIVuCIjL+OHihR+qb2r85ja+tbuybkyYGA3uTVv815Xsjdr6WzZPI8vJ8Sabq0FHus 77T0HeUZ00v29C9F+SHGXwjZUMBKv319dg7FgAhfYD4nhL/lnZDIiqmogO1yLHNPFnsHVR/PGoX 4Zj4TnxmWumtUHoJoAolDU0PjVZ65TB6gsMmPmGJxCoxeh+gjRMh5fN3HUv8SRM4zQaXDgF9f3k +KkGxbBhngYgw3t9rSzBnJaJ9qA2Ds4haNUTQelRkip9RLSBvfeh0FCMV7SWP8wTATia+IOCPrr FJyLCQnGA1G+ZMTcWtKY9042dtZc= X-Received: by 2002:a05:6122:310e:b0:5c9:a60b:e5a0 with SMTP id 71dfb90a1353d-5c9b597ea0emr9167076e0c.11.1790081876004; Tue, 22 Sep 2026 05:57:56 -0700 (PDT) X-Received: by 2002:a05:6122:310e:b0:5c9:a60b:e5a0 with SMTP id 71dfb90a1353d-5c9b597ea0emr9167055e0c.11.1790081875488; Tue, 22 Sep 2026 05:57:55 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:53 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:20 +0200 Subject: [PATCH v9 05/14] crypto: qce - Use fallback for fragmented skcipher payloads Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-5-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2137; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=CF/w/I2oWEL4xyyUISvXBZXxucJ1ol0yr2u30mZJdOE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns6exnmLRxX5OeIpWKZ9CFxYKoMxcYdGq6gt cdm3/WHvXOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7OgAKCRAFnS7L/zaE w2T3D/sGvLLVisZcqbLMZgMAXE/FdWjALLQ1JRvjQYr2eJc6Hn4KRry+6PH1nn4R50f5e8CVtoA GES/YQPz2THEjelD4rIyadz/Je1U9JN5JR0YqqPsWq7+M8s3AGfB7mJG7DCv5MM3/53CVAa6bff yxep+hth4qyb1yL+l6o/Mq846FGMy3whIJTPu2iZ3QvbYmhSK3YxxDtWS5YTaV55daF17nJWfw6 c6pHi4A2H3fGDniJHnldPMgab9OY5blrBnNxQEgOwIuHAwE4/by/xJdohq8fVL99SG1DJddS4uL kJNVmumvpcST8QVhjo+7PgzwFbavUloxXCOXlTlhCMpJkinS6Xxy4ryo56v6YrkWu/HjCeqDY33 HOTt/x+UAjVJgyaL0V9hVMphFBV+f0/jxBgJ5L7mv4E62DSNUX89HHG9KQn5LLNBQpwLg5E/E6n I/BZ/erW4lvyYY6DQS+vN+DIaI+VSwtOsxtzZ1uwSWIf8bHq0II93HxJeFNo7Ftu3l1C1vI+1cp 8+a3pKeN4wCUd3eYVc67M+S6KRMw4HMeKR8L9MjhPfVoM4p0JCJTSp4mxu98aN/DlhZytql/AyV IOPXkqLuzig4t5vZaG67WDCzN+Kmh2F+0R+kcVMEl4UqkMIvbM9F40rXOV5HYrF5rbxnp1d+rU3 vFeJ06oA6P27tmw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: 4ZNYlNNg0GD29bGjjcjKviFbJyXgQDeH X-Proofpoint-GUID: 4ZNYlNNg0GD29bGjjcjKviFbJyXgQDeH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX6VLiFXHXOzxu Y1dEfgX5BPkmptuHP9RCrVByTxIf31yP85VZZrni9RXYrXqdZpTTMWYApsdyGQ0S0BF7ZZz0hrj 52vchsa2JlPI+OtXb2KEvp2U8Kq3FG2bFmzYHZ/GvQOndkZVMrBUkiN5bHWrlbQsEKzXw0A0+qg mxHY8Fb0lY4TyjG+suRW/k7zciiYX4C7KQ/XC9ERX+Fhm9AcRWLnxx9wEgZtSSO5VR3jjintDOt K+095e8RIhsSQ3deQEM3kC5fcJaeRz5FX6KM7cnO/7d+JUeJxooJTT46uy27nCXnLUWkrIB4Ta4 kfT0t1IRFwfKgq+6bnw20umWKqh9APkQXh2ML8Q1Eyo0aFbcFXV3s1N4U2ktPscVjVhwmNn6LjA 9rssaqLXmAa1d4/USYdpIjUm7SWttGMw40mdtwZKsZNY9svzfHwa/d2qNQWv58QrEBhWoYxp5/Q EBhSV8MBGMmJmWwuUOQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX0NronJ45xm9q CZPEp/CXjB5mBa81UWECQuW5zrEs5nMgZr2UPpVYDlWExiKubti/31dZ2c1P+Eg6q4mpRZGCKiQ eTTtYxG+cIlvqBaE0iPzGPI1uJRO840= X-Authority-Analysis: v=2.4 cv=TvFzFzXh c=1 sm=1 tr=0 ts=6ab27b56 cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=2ArJjka39wvl4ErYtigA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 The crypto engine reliably processes AES requests only when the payload is a single contiguous buffer. A payload split across multiple scatterlist entries makes the engine stall waiting for input, failing the request with a hardware operation error. This was uncovered by the crypto self-tests, which feed the algorithms randomly fragmented buffers. Detect a payload that spans more than one scatterlist entry, in either the source or the destination, and route the request to the software fallback. Cc: stable@vger.kernel.org Fixes: 25b71d61d631 ("crypto: qce - Improve the conditions for requesting A= ES fallback cipher") Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/skcipher.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 27ce87be2029d896fd987608f091084ac64f5185..dcf2c6ebd588fc74c759820807b= 08000b274a501 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -261,13 +261,17 @@ static int qce_skcipher_crypt(struct skcipher_request= *req, int encrypt) * needed in all versions of CE) * AES-CTR with a partial final block (the CE stalls waiting for a full * block of input). + * A payload fragmented across more than one scatterlist entry (the CE + * stalls waiting for input in that case too). */ if (IS_AES(rctx->flags) && ((keylen !=3D AES_KEYSIZE_128 && keylen !=3D AES_KEYSIZE_256) || (IS_CTR(rctx->flags) && !IS_ALIGNED(req->cryptlen, AES_BLOCK_SIZE)) || (IS_XTS(rctx->flags) && ((req->cryptlen <=3D aes_sw_max_len) || (req->cryptlen > QCE_SECTOR_SIZE && - req->cryptlen % QCE_SECTOR_SIZE))))) { + req->cryptlen % QCE_SECTOR_SIZE))) || + sg_nents_for_len(req->src, req->cryptlen) > 1 || + sg_nents_for_len(req->dst, req->cryptlen) > 1)) { skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback); skcipher_request_set_callback(&rctx->fallback_req, req->base.flags, --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 7FB575437F1 for ; Tue, 22 Sep 2026 12:58:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081882; cv=none; b=Qma22Ts7DQGomUOJ7nwU3zIeYAjQow4xLj8N5GvAmgsn4aO1WfbRQYv9GBLFaVJHS0y45KY8wWio0TBZVzhJLt0aFQPDrSbGvJP0SHOQPzUbc9pmiP94eR31YU6eAfJjaiysktdQCJWcY+/QrX80dnrxM+/DWKq6BBNDNuxyW1c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081882; c=relaxed/simple; bh=xpzz3JdgUksau+y+CL1E9ypCHi86QMcAsuNeCRSZCro=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UqiFNbHMAmuLaGfWE7TheyC+ObyNaEZ9rcL8pNzGlJMJp3Sp4hF3M2kvLbCtDNc6zg89M+92hRoOTqEKZxwxEr/jLR3x8QGk9w8RCIeJa2MbmVAtX4kKAj5y52kAr0tS493GxmbK60oND/P+wCC0KT5trRj4MFvlwYThDGTqz6Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=A7S0LnbJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=h+UXbdBS; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="A7S0LnbJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="h+UXbdBS" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPD7j015205 for ; Tue, 22 Sep 2026 12:57:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= MTwCsTzyd4T9CksymXrEcufF/ORaYOZ8beQnrYavCQg=; b=A7S0LnbJqrZQCsBd ebge7ty1+utj9ebWRFfDwhLsA5oUhxUo6wQQmNOrAXNvHoOM+MJj1QNC1CN7UTUZ 9ylxigLOhYYw/mm9uB1jUwwqkj6XiaHkeiOlV+CY7KcE48mfK0e7MckYdf/rHt31 6bzh5UwdlaEt62v8xEWsYBfd8K00j3pCDWTQdJC70RCIIEkjh/xbf0buWScFrIZi /M5lQGYFsB3TfihZma9JoS7koj7kSpkGb9K+g2frOkpvdQrWklWtFG5Uz0uARA1R 1D3WDchwd+B50/vUoHgnPT3LAv2B83qXBx+V3j/B0Q49CL+hsu9ZnYsQwWJpQsmz F3MVrg== Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gunjysagp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:57:59 +0000 (GMT) Received: by mail-ua1-f71.google.com with SMTP id a1e0cc1a2514c-98087b0c5deso3230140241.2 for ; Tue, 22 Sep 2026 05:57:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081878; x=1790686678; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=MTwCsTzyd4T9CksymXrEcufF/ORaYOZ8beQnrYavCQg=; b=h+UXbdBSoLbqIo/efmyeskr+4PamGwjlPxpodtEnfciwzwIBp9yZfMfoL3I6rVOLmh zhalGnfyxZILHXOctDlR5CJd/2uuEeQ7oyUjkTQ2qzueYsJY4BntTprr/aUI0yd5X6Cw qhkCAqOrGEireyEaRv1AUgaToi9idR8qdrw0C0gzWT1rlnueV3yXaHXuEh+4OvKCH0pl 1N8IfVdUmrfdf16Pg8eGizMgWDQDQbTqnr6n8wk8bTDpEfcVq7BMPTgd7oxSam3urkQL vTV1Y3EnqNt4ceWW6ypi/N8Wb8IvmTqN1iNC5qLHuOCDPbX6ZUQCzqJjfaqAGGuuOega qyxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081878; x=1790686678; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=MTwCsTzyd4T9CksymXrEcufF/ORaYOZ8beQnrYavCQg=; b=njraPnhUl/fxCqUlRTVYxT33m3C7n+XWNHFwJbaL3fkA4j6MbgLlw+Hya+yEX2qLvA IbgmipsEOVb7TxQa3++abEQCqhQjAdLTKRQTYSFfGAlmiTG+4/3rKmQroi3M3yYIUsR5 zPsRKmIgTHIcSdGpP7uNPx/mHZEKhjeJBj/JEh/C9RoCCQpglHHZLGTC2ZKHvxUEREj2 xgn+bQJuD25xkHG+/cjNa86YH6Cvpt4mDVsFZJEVuYrYRuM4FmCA+z/qC+x2oZWS/d+4 T51U/zQC9Kyn8jXZSfTsddAe9hWQRHLtnucYTykMaYp+hjQjNghLFjLQWAq/vu7858IL +FEQ== X-Forwarded-Encrypted: i=1; AKwUvBznqxjXUFAkVrt/GurKOoc5IZ75Odr9WfANWDAc3inpl5uYNNjNmMqZZECHaEZm51hYB3ph2o3uwp2LR7Q=@vger.kernel.org X-Gm-Message-State: AFuF++mOS7mSPcxUENcyizsHQqEmaJVitcoGybZqLh3XG9yFSBCjT/l6 dq42FiDrNa8Ul0P+hlxtN/r7XpG479Lv9LBTqFoVsBQ+VcQUiUzUja3hv5SayEqM4vJkKFD+JiN ECCRf6XGRwNfrCSK4tV+QC0mXBADnxZpnyYxPZ93oR84On1WzfiSvMrU0Ikhdx3rw4GI= X-Gm-Gg: AYBFou1ZTqJTg8StRoOMyGnQU6FdWN3S0/7LuirJhSejqh47RA16XQewHNTydCoAE0V 9FlayidOxsGaz75DOxz1fp8+wPLo5zk0VUDKjrdTBbJqobzoqg1KxkRE7sqyYyEqpO425iudo4i TRIiZxmKNpPFRx29Yfyja4P62Et4eTlCJGAgNtap/JJ9m8G80VtAJJ3pib+uuYGIPKj3RDPG1cB J6KraoyrMwmmgB43mrNIW1pjiI38X+81txiEyozXvxE6uqzUuXArfD40i2aZrtBNszUQTT3Dq25 sGmDO/o+81gEvFhj3ko0VpHC9MLFwPmpHXnwkUJJOJ3wEM6PQrnR6ENhI9TNescc7YW5Ydi8gmA F35zHi97dbA17nYZostmPGQ76qkE= X-Received: by 2002:a05:6122:3c46:b0:5c6:8480:35c8 with SMTP id 71dfb90a1353d-5c9b58e1207mr8032621e0c.8.1790081878527; Tue, 22 Sep 2026 05:57:58 -0700 (PDT) X-Received: by 2002:a05:6122:3c46:b0:5c6:8480:35c8 with SMTP id 71dfb90a1353d-5c9b58e1207mr8032590e0c.8.1790081878172; Tue, 22 Sep 2026 05:57:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:57 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:21 +0200 Subject: [PATCH v9 06/14] crypto: qce - Fix xts-aes-qce for weak keys Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-6-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4152; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=8CYB8IJJEyolqYr1f3j4TcjRobX2+UHINpIZrcnUD6c=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns79xTCzjsoUaCQdInS9yny4yM8oZvrB+7LM fs/mLigT52JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7OwAKCRAFnS7L/zaE w5kuD/9XpHCtabaTYp8HVBinHS02yg8pWr1tPG4/7/gST795uYvSOngLVmc8EsKahbAwXRb9mF6 RApIGlZFZDVPLhOpGwj4nqe8nLdrp29W5Fh3n7ygCFXjYeVuJOwpwtNJYr4UbVHuftgPagk765d uTWq+ZClxIJ2+gY8aANEmgzqtZVMnFsEbbDJuHXefXRAtOG0ixzc4msDYJ3xuQn5GRcaZd/C+tF MuyTmPUE6/z9FC8iWAr3cqTxifBhc1tIi/IfBGbsB6jXF5pwvv8kkcSMgbP5WPd+39gtMZMW9w1 G1f7Dj4PZFdj+bKwXuNDkb0YYr6MEFH5dI4RZjyS1x4d/q5g9yHrPlJQQNUjrajaPCDfLADrxxc m4yF2zxT2yFy6HBtvBk8hInZgewyjXkdagNZm6NHd1p+qMOrelQNkL6XL8+hM5AZV2G0xBCboH5 28J793ob6srJf5joqKE7Xl40N5/DI0ncJJWwypEQ/8Pur3755KgQW3QZza56Z3mI4kXM8bx3P2x 4AvzCAvPbJBUXZ8xLw28eOt8KbRU+lGeAkXELy3IPVzBr/npvp5l7v0fZCcNfEitnIUS4WaqPuc h+/ff1anc926PdK6GBejthayOX/zFMOOndZr9KxiGkxMO1sbvvCJ9Ap1GjBJ6ZwlWrvZz+/v4Dx KgW8pl+duP5WNdg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: lbnDIy7OATkweYgrHn51W4O7GjfcTn3- X-Authority-Analysis: v=2.4 cv=KqHYSmWN c=1 sm=1 tr=0 ts=6ab27b57 cx=c_pps a=KB4UBwrhAZV1kjiGHFQexw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=tpKvEUOkdOp8HkJiz7sA:9 a=QEXdDO2ut3YA:10 a=o1xkdb1NAhiiM49bd1HK:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX8uWGjn5wMTrs Ft9hjlgIDpZA3iUaZ+93P7ysai37j3Gr5QTKcAZvdKegcNbFyIGYjJKVBp513fTxT4G7Xm7gGS0 hiWj8CkCZkdw+VUXGfo1DhGJqQXn+lsGB4+h/hfCoqyhRzqS2bri6JsidF0mTSyKLbrTBBTj4Ve t7ktUODixaY7EV2u+4uyCA+WfXFjOYZvkfcUSmkriUgYZPFYVKWSORE+zTQoMsabo3ZdfxCwMHT N3jaglYJ0nRu11oNiRYhzrVIxA8k5PU0i17D9FNiAwl+zQvABYT6z4hRnyEnLnMr7BIwUhyHD7z yQJjj3mYA/KOM9BvPbXgPINT5J0kqZrHBXbt2vwMq95b6TIRnV0PL8vRPwvkLP7oGqeAyAzu2lG 40sJDslHy9yN0zqCy9j38CGqV1Gu+3UA1HDWAbqtpYW1VnC6/Yw4makgB9hLUAvhMkUSFVXwZ2U EuCi0vPXnzumnHW9wfw== X-Proofpoint-ORIG-GUID: lbnDIy7OATkweYgrHn51W4O7GjfcTn3- X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfXywlau0mQC7Jg FXn7yYeDAI3QSN4/QsQfSqSmuFvkN+kKzfkr/q26NoRieoiGjcHm/d3Z8B9NnhnXBsEKFhyeFTk x5rSkWkw6FkqQLD0YNeLK3smOUwTddg= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 bulkscore=0 priorityscore=1501 phishscore=0 malwarescore=0 suspectscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 From: Kuldeep Singh The QCE hardware does not support AES XTS mode when key1 and key2 are equal. The driver was handling this by unconditionally rejecting the keys with -ENOKEY(-126), regardless of whether FIPS mode is active or the FORBID_WEAK_KEYS flag is set. [ 5.599170] alg: skcipher: xts-aes-qce setkey failed on test vector 0; e= xpected_error=3D0, actual_error=3D-126, flags=3D0x1 [ 5.599184] alg: self-tests for xts(aes) using xts-aes-qce failed (rc=3D= -126) In general for weak keys, - If FIPS mode is active or FORBID_WEAK_KEYS is set: return -EINVAL. - In non-FIPS mode, Accept the key and encrypt successfully. Since QCE was returning -ENOKEY for non-FIPS mode whereas the expectation is to encrypt content and return success, the selftest saw a mismatch and failed. There are two problems in QCE behavior: * -ENOKEY is returned instead of -EINVAL for the FIPS/weak-key rejection case. * key1 =3D=3D key2 is rejected even in non-FIPS mode Fix xts-aes-qce behavior by using generic helper xts_verify_key() to reject keys early with -EINVAL for FIPS mode active(or FORBID_WEAK_KEYS set). For non-FIPS mode, since QCE hardware cannot accept the keys, use software fallback mechanism to encrypt the data. Cc: stable@vger.kernel.org Fixes: f0d078dd6c49 ("crypto: qce - Return unsupported if key1 and key 2 ar= e same for AES XTS algorithm") Signed-off-by: Kuldeep Singh Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/cipher.h | 1 + drivers/crypto/qce/skcipher.c | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/qce/cipher.h b/drivers/crypto/qce/cipher.h index 850f257d00f3aca0397adc1f703aea690c754d60..daea07551118d444d2f749588bd= fe2ae2c6c553f 100644 --- a/drivers/crypto/qce/cipher.h +++ b/drivers/crypto/qce/cipher.h @@ -14,6 +14,7 @@ struct qce_cipher_ctx { u8 enc_key[QCE_MAX_KEY_SIZE]; unsigned int enc_keylen; + bool use_fallback; struct crypto_skcipher *fallback; }; =20 diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index dcf2c6ebd588fc74c759820807b08000b274a501..7abc1d7b1cf0403c456f3b3ce1f= 28820839a5473 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #include "cipher.h" =20 @@ -194,14 +195,17 @@ static int qce_skcipher_setkey(struct crypto_skcipher= *ablk, const u8 *key, if (!key || !keylen) return -EINVAL; =20 - /* - * AES XTS key1 =3D key2 not supported by crypto engine. - * Revisit to request a fallback cipher in this case. - */ if (IS_XTS(flags)) { + ret =3D xts_verify_key(ablk, key, keylen); + if (ret) + return ret; __keylen =3D keylen >> 1; - if (!memcmp(key, key + __keylen, __keylen)) - return -ENOKEY; + /* + * QCE does not support key1 =3D=3D key2 for XTS. + * Use fallback cipher in this case. + */ + ctx->use_fallback =3D !crypto_memneq(key, key + __keylen, + __keylen); } else { __keylen =3D keylen; } @@ -261,6 +265,7 @@ static int qce_skcipher_crypt(struct skcipher_request *= req, int encrypt) * needed in all versions of CE) * AES-CTR with a partial final block (the CE stalls waiting for a full * block of input). + * AES-XTS with key1 =3D=3D key2 (not supported by the CE). * A payload fragmented across more than one scatterlist entry (the CE * stalls waiting for input in that case too). */ @@ -270,6 +275,7 @@ static int qce_skcipher_crypt(struct skcipher_request *= req, int encrypt) (IS_XTS(rctx->flags) && ((req->cryptlen <=3D aes_sw_max_len) || (req->cryptlen > QCE_SECTOR_SIZE && req->cryptlen % QCE_SECTOR_SIZE))) || + (IS_XTS(rctx->flags) && ctx->use_fallback) || sg_nents_for_len(req->src, req->cryptlen) > 1 || sg_nents_for_len(req->dst, req->cryptlen) > 1)) { skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback); --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 AE84154854A for ; Tue, 22 Sep 2026 12:58:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081885; cv=none; b=oAZLZrfYrVrsjXCsD+c/wHHIYsKDp8SP6ySbTo8jMZDw4Q9t2472wio9eIXElgEUIh6Whu+YXTm4sMavFSkLQy4gzAo1Xam6LyDcwtbeEnf3QB6dnTEcax1XvlN/znMP4MtaaxI5zSzyBGTEhiyd/Kn9huKhUDnEf8Ee53hrSvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081885; c=relaxed/simple; bh=bj9lX9c4+OC8dVs8JmPGc4UfJVDkKWl/nVNsAYzA+XU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Oe40UrV4ZeJ8Iwr8LuQYR0EiXYglLgzJu2XZ4zFhl3sV/pDhmu/KqClXTxdXExoUhtiuE3oqD/nqHAt8G4aYXb+Kste0847QN1Fgnhb2/8jjJnF9W6Rx2FUK2FlMOlqcLvWDnViQxO/UylWcF3a+YBx5tqtbRnghyKta5NJ11aY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=chTdvJa5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fzeagXMI; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="chTdvJa5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fzeagXMI" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPaDE2869482 for ; Tue, 22 Sep 2026 12:58:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /MIEadUHz6VYfh8CAPIjr93K/GWIq3ryVLs8Yl2c6YI=; b=chTdvJa59d54BeGt WHVvdpJKKeOWEpI0Q+WQWmZzNDsl8Gjb3cBrl9MNlyCyVPc7cQKO2IbUfHywsIi8 4Nnr3u5+g9eLLhtLJ25mwP9u2OxQWTyk4ZdMcpJ2QHFqBeO7yHbgIfzwOqoz6roK Lm5zft4YYZ053/wwUYV1Wv2Q0aXDdyKj8FMjtrMXGH0gc/gO6NBLkw67T0AUjiO7 th4/W7KPPZZWLS3Kc8/DVpiO5WjZqRYC72mnVKGkFGxviM+3GLy6mSrPNrPnEVnw cFZquudFgZO5VtZ/CL4Fa+FvUTc6EAdpAp5O3FZupFa33tmXuD7ufORCq1DqCPXH JilFDw== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4guj11233d-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:02 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-5c7ab4af214so1267383e0c.1 for ; Tue, 22 Sep 2026 05:58:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081882; x=1790686682; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/MIEadUHz6VYfh8CAPIjr93K/GWIq3ryVLs8Yl2c6YI=; b=fzeagXMI1TtjJ0kmLzsAtAAMM2fz7cNFhc1lUVznlvCJmezV2sqi02OdtULxJVHJJh fg0gRaiXnpejM3uCutUDnSme20ICiroW1BL0xJLEiDG7uIuZGe7jAyAb2N/hMYA+mwTm OIi3oHYN19uhysPycA5svq+pgPBYWvarAJF87qdQRdGcMkH/RxwMm+i8CzZna651LVj4 XwADiMNGo8NoGAJqrbgoep4kEADHZd4gtGtqrbSuKMvh/vaNiR9Zd35+YcJhCYxqQdw+ 4tUwjgQNNGNOZM+wIbsq+C2vhfghNB1TtcTxu8FDBNMkoBjS/FlsyI+IGCgD3OxDt4FA 2mKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081882; x=1790686682; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/MIEadUHz6VYfh8CAPIjr93K/GWIq3ryVLs8Yl2c6YI=; b=Xj82pXaIrijZe4Jk+hKjBsFbfuUiXlreGtGFdT+MsPv/jYSBSqAaJwP/snvSQmKd5F TjJ1gfjdhdxnIJpmo9EBEAAtXKl7AnEjK7n+NSGuvk2G8whXpsUJUrKBTKC6wXL9eGS/ 2JI/x7gMDd5ZSg6YG93xey6TQP8ag4yUAhRk/x1g/krX2qJWRSmuIZXKBSc2KC6qGpOL 1xcZFJCszszHhS2GkxgdebTDZfcwMQvoFQf7RKiFaK+0TlKmDPTBKXt0MczUzf+4sVd/ G147soVkt90tW6n9qs1dGfxrS+0V8fHSLlEFzCjshnENK3IPB0zV/j8DUBzR8aJCl9a/ gb/Q== X-Forwarded-Encrypted: i=1; AKwUvBz54EH8Ji5ArJMSb3QBpi4sR1D7jW/JV/bNFTpITQPSiLpMwqqbUVNfIHDtG1osXgtAIf4LIqJgbUW8kR4=@vger.kernel.org X-Gm-Message-State: AFuF++ncX7K9Jv47JqaSeVAtRkaf/mvvvyIt+WhlWOkIwEAIwBUIRBMK 40xMRjFcvhTI5qfof8WzgZVP8ZunAn56i9NvXjb+rjUqbQIGde5ii2smP4mtbYiRrMfp6FgwWWK gEaZa7UQrGRY9R+86+A3ynIGI15MtSmvzTUJLM43d8HwPrwgczgloq6wjXXRhkGWChZ8= X-Gm-Gg: AYBFou28nKdYN7Rtfq31ZXFgr0UGOfuHKhn8JdH+NFTGA5g0oyDBsEgsTf3v3cSg8uV N55KXz8G3V+pcKfYZm819axXouVNprJjtTi2N74xDmtgdSkwHEvjLh1BKzzZP1NPOkjilGH6KT+ KAXRLKPFJGofDUcafTP+aaQhf9AXfL6t854Sl+Opebjke+oZGVdttbcEcqhZJmOb6EttlHzFWFH VN0C633EMVYMNh9W6vLVzUhM5fUPMUSLBGvkyNLIzUU0yiAJqpwadsA01SyFkC/DGtmuJvhYsvz qA1Hnsg91b1g+Awolfo9FiHPQ7rg8uz+7y/3MqnZz+U6pMFyWk7CBV4IIf/6iYMPURD5aCcsp0Z Z6tB9UDYwQhZZHbFMXOSE0vyHe1w= X-Received: by 2002:a05:6122:17a2:b0:5c7:a814:b987 with SMTP id 71dfb90a1353d-5c9b8a6c1e0mr7412281e0c.2.1790081881621; Tue, 22 Sep 2026 05:58:01 -0700 (PDT) X-Received: by 2002:a05:6122:17a2:b0:5c7:a814:b987 with SMTP id 71dfb90a1353d-5c9b8a6c1e0mr7412232e0c.2.1790081881084; Tue, 22 Sep 2026 05:58:01 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.57.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:57:59 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:22 +0200 Subject: [PATCH v9 07/14] crypto: qce - Use a fallback for CCM with a partial final block Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-7-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1622; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=bj9lX9c4+OC8dVs8JmPGc4UfJVDkKWl/nVNsAYzA+XU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns8hv63zSBtiXYbUTGccvk1xP2mkvo1BVVCt yxLjs7/kjqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7PAAKCRAFnS7L/zaE w7bFD/9Kth36eGZBIVEX800vPqzyl9ccVlbjzHLpgw9p41gcpsdUO/y1PCbrtzgGxVe3nXy8b39 K6lvPIGz1pP7NJR5uugWdMeFouuhSHIgQnBEiTEANpTSuR2xdAbZA/sCQhv2Ol1IJmpXQnjQXqD pDiTSHTVOEPLFF/59RnGbTmP2u5sjVLns0ABiT7NwyWBlATOo2n5dTaZt+mlmcSV4YuLazFqfym RE7XWqXTxZl9rYW8amIehXm53GDlftRqYvXeQTxayswNQvJB6+qJyuvyh3GlpmLCu3HBM+la5RE eiyq6XyeE8mS9L7nEqZBd8YhLHEpC+AzNQ2tEd82lm1quGeKbVci3NBDbC7lsa2q++JMQwp8Yka LVaIRfAylSlZJ+ivGZ0RVXBESyHK+okQf5CD9FDcof7hY6cTNiC7rlIX5rpMPeUUbzQH27EBa+K TYdN4lrpVAscBnNFdlFEG0xnZoR6nAoh03VufvdvhVdos4W6MORxU0u+HWIJnhpVVq6Ih6cPdWC GI5eAyD5BydUVjmGK55CZubxwNkbSejZCH9ygAbJ8j2h1rAPW6/rbiblywD7iub4lnltMTnT7Pl OuI7dg4J1TvQ0LUkQCzS5qRwmcnFeyBXpyeEwB8rFkuNFCy2PbRAK6QstkH344ndMpTPfJRqAWl h/2sTB+scr4lNrQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: QgElfD5lbtIQnU-q_eIUjGyk1TVIy3-B X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX30mNpXREIie/ TAT9BKQAIN7x7WicDrm7pe9evOKjIpJxBmTDE5DA3q7dC6nCEf66xDAofBaS2eYoHL0pzdhmWz7 RwlCZbT52SjEtSmplgVbbzHlMQFp4+k= X-Proofpoint-ORIG-GUID: QgElfD5lbtIQnU-q_eIUjGyk1TVIy3-B X-Authority-Analysis: v=2.4 cv=atQnmiZV c=1 sm=1 tr=0 ts=6ab27b5a cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=dx2SfONCXZg6tt9xEGkA:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX7nsOiqnwEK4q u3lygfvNn4s1uaJOseXcZRE0qv2ZoUoHkpjOeifwZk1sjkijX1pbzI2GQ4FuEpadKMVEJ3/J0Je jse3kH5RolkIBQRrtQDzasdwiAdoVjOW+voSKYLuV4chU7vpsWhnNa+Pw+U9Hy6L/XyxJYOmOII QQ2TUL7TnemrOnKR3goGyugSRGchooM6WZ1rjFZkHIIaIdEmt3U4cmUMfMU7XPUvuAz6uIuujH6 ZrideVkLrwr10ogoyZDwWC/tOXRi9TRP9Mjw28o2Wckzey4sDTiQCz6tX7e9pAh/hcG2nuZC1fa SHv4lT9RfaEFrKJcf/UvSoq2QzA3ES71D6Td3BuH67O18fcIfZMo2MIeY8DOs5tC+5gktnrKBsT Pe2EP8ZXK25xS4uwMUxxDI8jdRLe1psqDR7L848OiXirylWIyw0bedHOehBtlOiOYZ7RXeurWH9 6YvoakmWJ3r8BQKeL/A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 adultscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 CCM builds on AES-CTR for encryption, and the crypto engine stalls on a partial final block just as it does for plain ctr(aes): a payload whose length is not a multiple of the AES block size leaves the operation incomplete and fails with a hardware operation error. This was caught by the ccm(aes) crypto self-tests. Force the software fallback for CCM requests whose message length is not block aligned, reusing the driver's existing need_fallback mechanism. Cc: stable@vger.kernel.org Fixes: 9363efb4181c ("crypto: qce - Add support for AEAD algorithms") Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index e0061bfab216861444e36700d6530e7a3cd347e7..02e1a7684a7e51ea7ccba0660ee= a97a17589c3f2 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -514,6 +514,14 @@ static int qce_aead_crypt(struct aead_request *req, in= t encrypt) ctx->need_fallback =3D true; } =20 + /* + * CCM uses AES-CTR internally and the CE stalls on a partial final + * block, so a payload that is not a multiple of the block size has to + * be handled by the fallback. + */ + if (IS_CCM(rctx->flags) && !IS_ALIGNED(rctx->cryptlen, AES_BLOCK_SIZE)) + ctx->need_fallback =3D true; + /* If fallback is needed, schedule and exit */ if (ctx->need_fallback) { /* Reset need_fallback in case the same ctx is used for another transact= ion */ --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 D392F54B1C8 for ; Tue, 22 Sep 2026 12:58:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081887; cv=none; b=IPp6X0a1f7qbsa4kXLVgvSi13Em/0d0RApDkW5QvOWKirYflZQt+kNn6NjN8s/vd1ReuYRbmXMLckucf//S7V1FagKo/qhZE8DhnT36wXQiJfB9EzbL56ZcfCRD0V/88QX5o3JHZ98Tr47KMCT8R73S8lUiW9/moZ/gu5RvsS/Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081887; c=relaxed/simple; bh=YpCAU/gxOh6WCk4K4j4tl5j4rP29wWVra07PGc+2iUU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fkOdTbdoBl7/sLa/VWsitvK/XbI7uiysfdUiAOT6+gmnAYpgmpT2s1dUiXThfr0wNJMLdg/3dY6gqgbWVnqcUpK4YDZBTQDuKo7lpCyCcqcEao7VdeqMuYlaOLItrEedJ1rlrKJ+raERyyawQZZhTmWfqKfnIPTdfVjfYnjF5vU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=aAnUF5t/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DOC87v4B; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="aAnUF5t/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DOC87v4B" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPS8T269080 for ; Tue, 22 Sep 2026 12:58:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= x6SgCCR/AHalnKsDkyEEmSxctIT2a3LccETCeOzrgeo=; b=aAnUF5t/fsrfXx4i xQ2ZpxWnxe9SqmjlOzk7kobuFuyDqoaMh5z/547t/aFTVz1EPD2g8nmxud/zxc6d 80zBVBjeHIZFLO8PGTXrLDA/SPqA8+Vy7Z86a4ba98bQVjnqQSRMbZOAgXrGRjXG G5fKZWrL/pmlfMDDC1s06ySoZW35ab6b4FF0toI5gM25/4TsvPWY40x9z5G6eupy fqpppbEjmHb79gnYuAIrNq4YqMtCRuCI1F6rRiIDDPaLKlIM8AGaxab8Qk1/L0SU SwidKS+JJJ4hIlC+uvofGTotrpc6trMtljGEfjaYLveTvq4wtkl0iH18k8AfQgy3 nosjig== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gufbatqam-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:04 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-5c7d5444845so5891685e0c.2 for ; Tue, 22 Sep 2026 05:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081884; x=1790686684; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=x6SgCCR/AHalnKsDkyEEmSxctIT2a3LccETCeOzrgeo=; b=DOC87v4BzPRTWzVR6IdNF2FXF3I8pf8MBZiRlF7D/FNYeOkelDplfM0UNLHdp0xR8g fw7Zl98YYaMI1Y8b5HlyQN/Mn3KBbgG+dgHiBhSY7nMJ9vUdG61p7uIlddjDVov7Ew/T 1AcDCKmSbhC3BT59bKivHPkFcJi8JC1rRdJKcaRpjd27/nIjzROZMy8LVLvNuRdXMqHR dFfYDsQQRJkL8ADt70A1lzmkECxPHWm0SEGmWr6dqxIXwFMWJykYMHLoPaf00Gdo/6FM GIdBdMDihoMiA5ubn/JPoc3Z1NqgJHFBEya/jEiqBVok1rw0uNOS5M5U0kZjwgg795vq GZ7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081884; x=1790686684; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=x6SgCCR/AHalnKsDkyEEmSxctIT2a3LccETCeOzrgeo=; b=ViDrGbhzT9id3e0/2xsNJ2VlpxLlniNRdoTK8/NirLlPBPuTQoojatTZ59coqGc+Ah /uefHB4+NHLUIIYu75NAmKNIDIvhwANBjl40vFWMKNMhwZj14fJ7NyVMMnhv65VPvRaI u3asvNg/qYduwt+PbVXoJK+zPDi/W9ARsACXVZFR4mPLCCYScJN7Vv0M572FpGy7O4pO bwnlgxYzG50RpJIbZa+HS9EO9hSgDFehIgXKGl91mZ4sKNPim5I/vtnXNXZ69H+yMov6 h/OaGfEzJ91yb8lD8FdS8EpIEJVLN2H8J0fcOsBEus2O/bPx0W+aZFUZmMDlA4v9ITQG K41g== X-Forwarded-Encrypted: i=1; AKwUvBxzhOcGFWjU/1KrKAgX/4sZ0+FMbi+UF7Ji83S1UrmRKX3mASJPwuWuuArjW4TbDR03jX4+lq2Y7xqd0/k=@vger.kernel.org X-Gm-Message-State: AFuF++mqhFHAGvLjGofG4qx0fu4eYGsgxcor9+PrGOv/EPTPgjpjp1Ga 5LotGbbptLvJDMFN2dcpls95FQpZwt4sPtteOODvQDtTektk0GNmq92RHnsmqlx5ZY8EWpDeWmH ZsV33CwPOCyblkhfbZZs3iQKEKSs0f2dInIeskwcB9Sf9Ue0y3xjmiBe6xuPbOMy/2R4= X-Gm-Gg: AYBFou3xp/4B2X33WOlJqHstBGt7oBF/6dR9PgFZnsHO6YzNkntG514H9sTrUYoK5ws K1+5jUdAlMdoAcSG1DBMo1hhRoATqgJw8X0CX7P2sof34AweCNwrrIhjNE4Ff/QvubZVa0CXN8F nGacEJD7ZWhzow7y4PoKp+ISpurfQMp59ged4m/jFFbIfRUwzpECv+rxzHkmeRpWGt5DSfnpxd5 FKuieragHgKI9hJjAWBXpA0Wppg1/hPGds3SsE9o06x36nDvqYUyyZCENLcQzMcknshhPHBFO90 Z8pI9MxXLPQqasQeqGCEjs2Cyw2YZExXCQ+EBnjzUf3GmBRjX3s4fKXK5D1rqmkkXCJSwrSnLvW efs/sd/idG0BV2tjn++1f6A5bCIc= X-Received: by 2002:a05:6122:a5cb:20b0:5c9:c60e:5cf8 with SMTP id 71dfb90a1353d-5c9c60e6106mr4431592e0c.22.1790081884182; Tue, 22 Sep 2026 05:58:04 -0700 (PDT) X-Received: by 2002:a05:6122:a5cb:20b0:5c9:c60e:5cf8 with SMTP id 71dfb90a1353d-5c9c60e6106mr4431562e0c.22.1790081883761; Tue, 22 Sep 2026 05:58:03 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:02 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:23 +0200 Subject: [PATCH v9 08/14] crypto: qce - Use fallback for CCM with a fragmented payload Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-8-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2908; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=YpCAU/gxOh6WCk4K4j4tl5j4rP29wWVra07PGc+2iUU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns9tW+msfotN7ObK5bdVyb/2O/lX81u6V4ca uPlj7nYgq+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7PQAKCRAFnS7L/zaE wy73EACvaJuqYGZfb+m2zogj83eX2D6otZ5mOpBlMgGX8q2C0+bfwKb3Tn8NXHwRwC6KyjaIunY p78OxEQ9azhzFmN0/eGo9ywGzyvBfYSKPs0C5GRwAFvWc7lc5zOzGj8R/bICdcZDpiS8dBBDQwf AzHWZUozwCuFa/QjI8TMBeOlZeJCz1Sgm0nodtJcX3O6slWzHEZl+/eJvDbj4dlIS/R/avfn23v mGPHi+KlC/8CXeRTle8Nrd4mkF0CVSMDZzJG10ycV1OuVHJJUfgT3St2mFgbK+WO4P+/hcUsOCb eBJr+mIPFKGbX5mCLMY55SNraWHhQ+eZ3wAJ9+8Vo2Av2xXOAXCm0I3GfpFdganpiLXUjMMXJ9c 8tb4UnE2ZDtiTm6/xWSRGpQx8iAFhH0Yc+bXc1zT751QfSTxHEOR0KM+0PTruKS7fQgw/NHs6VU 1dpe7yBGjceG3eZwmX0625mei0mNcjPn4703qW8Iit99OAsD/U7bgcuAMqsdBapnRyXdbyRaADK LUNVHz/B9mcgfFtkMEUEKdhQuXs6wku/ozZebHZBrw7CQ8zozNep/CUGNRJmd7MrtGOi2P7oorH Ug2PPVfL1U2tFpvmxMMKTkVX+sMb2wP+fKEAOoNVnlbsKUezULwX/cwPz99WDqNPLJiKqzrwBws RvK00xImvqFACKQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NiBTYWx0ZWRfX6RdDzrt59IwM uqQ1NUuPmPCqFV307sCPkvPOHvEonclZL41Am9P0LDM04U6552KsBgpxPMgJUcYjJi6rhA58qI4 52dOpVekuHDUPE64naUq7ad2zyc/7nCuWWMorm5x82Y2+KSNL5QKJc7VJ0c3ntJlfc7mdH028mZ ALW97UhS9fC8HFKJRVVSZtWpBZaMsY32mH2vYiUTYWdFlXV6qfbDYz/iEaUFRDtfEL2b5QgZxp6 VQfNxQDql1XShhlLfEFjUib9TYTr1SjJOikoO4nWpwxTMXjpMrzofA5wnCqYCPFoP4tJbu/98YE B2w3Fb1cD5YmUQZEvLDbI2Z5qxe8IL0/YgfdiZruFbK6nR8s/lazAzPNgxyLUQ/mGJl/VX/wByv MqUrgNlqdBp5bb5T3ejdurBWFfzKYXxWG6/es2+NHcO+zsporNH4P0AzykF7QFy6r7kYvjM/kOp H3EZ4La1Oq/95OMtFMg== X-Authority-Analysis: v=2.4 cv=IYYSymqa c=1 sm=1 tr=0 ts=6ab27b5c cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=phyxH6jkQibGXiXynFEA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NiBTYWx0ZWRfXzTTv+PmiYxO+ Pe6ns3FaIUBz5QWhjse73wX4tHYIQsPVSkv1WAJTwNYwHOig4qac0yrjXRSDWXvijxKGYvc6nTc XuIp7wiZrkzZ09w571+LT6Ydd1Bd3yg= X-Proofpoint-ORIG-GUID: TGMEj7tHFqxAi1Fsw11A-1HiUai69X5M X-Proofpoint-GUID: TGMEj7tHFqxAi1Fsw11A-1HiUai69X5M X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220186 The crypto engine reliably processes CCM only when the message payload is a single contiguous buffer. The associated data is already linearized into a bounce buffer before being submitted, but when the payload itself is split across multiple scatterlist entries the engine stalls waiting for input and the request fails with a hardware operation error. This was uncovered by the crypto self-tests, which feed the algorithms randomly fragmented buffers. Detect a payload that spans more than one scatterlist entry (in either the source or the destination, skipping past the associated data) and route the request to the software fallback. Cc: stable@vger.kernel.org Fixes: 9363efb4181c ("crypto: qce - Add support for AEAD algorithms") Tested-by: Kuldeep Singh Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/aead.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 02e1a7684a7e51ea7ccba0660eea97a17589c3f2..37199cb50744fa3932e34044486= 89451b0004b77 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -498,7 +498,8 @@ static int qce_aead_crypt(struct aead_request *req, int= encrypt) struct qce_aead_reqctx *rctx =3D aead_request_ctx_dma(req); struct qce_aead_ctx *ctx =3D crypto_aead_ctx(tfm); struct qce_alg_template *tmpl =3D to_aead_tmpl(tfm); - unsigned int blocksize =3D crypto_aead_blocksize(tfm); + unsigned int blocksize =3D crypto_aead_blocksize(tfm), authsize; + struct scatterlist __sg[2], *msg_sg; =20 rctx->flags =3D tmpl->alg_flags; rctx->flags |=3D encrypt ? QCE_ENCRYPT : QCE_DECRYPT; @@ -522,6 +523,27 @@ static int qce_aead_crypt(struct aead_request *req, in= t encrypt) if (IS_CCM(rctx->flags) && !IS_ALIGNED(rctx->cryptlen, AES_BLOCK_SIZE)) ctx->need_fallback =3D true; =20 + /* + * The CE reliably processes CCM only when the message payload is a + * single contiguous buffer. The associated data is linearized into a + * bounce buffer before being handed to the engine, but a fragmented + * payload makes the engine stall waiting for input, so route those + * requests to the fallback. + */ + if (IS_CCM(rctx->flags) && rctx->cryptlen) { + authsize =3D ctx->authsize; + + msg_sg =3D scatterwalk_ffwd(__sg, req->src, req->assoclen); + if (sg_nents_for_len(msg_sg, rctx->cryptlen + + (encrypt ? 0 : authsize)) > 1) + ctx->need_fallback =3D true; + + msg_sg =3D scatterwalk_ffwd(__sg, req->dst, req->assoclen); + if (sg_nents_for_len(msg_sg, rctx->cryptlen + + (encrypt ? authsize : 0)) > 1) + ctx->need_fallback =3D true; + } + /* If fallback is needed, schedule and exit */ if (ctx->need_fallback) { /* Reset need_fallback in case the same ctx is used for another transact= ion */ --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 34661541E6A for ; Tue, 22 Sep 2026 12:58:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081891; cv=none; b=seHsKYeWAlVoJ8Fk+oyIkbwnSIohcIlTUSgryaq+l0gTwKMFntOjp+Vxdb012I+MRkGEuyIxG3+NKgSECbeCvY4Ox0ZVQFcqzy7L8h0s9+kCsAPBnOrlhO/miXvXcPO8eY0EpbAcG/QD24SjnBuABuJ/87il8Q0V2O4ZybODbHw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081891; c=relaxed/simple; bh=OONR82+SOL/pvmQQ8fCClk/rQeXHbpvPa9nD7auDntc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=suHblV7S6YrzgpQzyTfnzW7ny8MyCYzhXXDusgupMG+TTyX71Fy81rrPccE23Cn8VRSi3na8o2ixb8OZbPlguzmhl3JTdh5PATFD7eH13lV0QSf7YBh63UqSBStBEUlN/YCGjr6h//CzQKf5re02GFvKxIReo1UHsdTwR9cKpEA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=imjodOCp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=F/HpFLa4; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="imjodOCp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="F/HpFLa4" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPmf5016512 for ; Tue, 22 Sep 2026 12:58:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ExRYRpHD1u5DXOU+rn+njvT7N53U5V0zMU/VcDkIX+Y=; b=imjodOCpU3ZL0tCY ABBUU0j7B63ds1f3/1jPcNFiY9j/ILFCT5RdsJAWq9KUPTF8v28rJDd4bzC8ulUK vZT1vyGqyE+0ACgjKil5MbXn56JjmZbGE5FtvMOvpyMQyIujvE1+R3ppLP3X+wdM dZxYPjcv8JUTY7wzO1RmDgRAf0JLEB6RQvb62BxBL+/fi2Tp0b4SNRbA9ulxsJS3 UaJlWn9lBzIVcalPC/zlrKnTzLXfny6YhwjY51rq/EJ9UBmLdcT6GbZkksdY6bX4 VXOy5SdZiT9qKezhlZ6vlC1qkgS7fd+UfpXU58u9+HoehPiO+OYkX7kpo5K5AaVL UkG4rw== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gunjysaks-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:07 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-5c851df59edso1240055e0c.3 for ; Tue, 22 Sep 2026 05:58:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081887; x=1790686687; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ExRYRpHD1u5DXOU+rn+njvT7N53U5V0zMU/VcDkIX+Y=; b=F/HpFLa4ARiYgGS+tq1qPclSzI6LvKw+PDChNdF8lwnZpxkbNGP5rgYJqawlwBc1mN QhY6N4Qc1Fc46Hs0xcKken5Xqq46kyRtsL7epz0HRXW1hSd1H+y8lJhfUFtDsxo5E9K+ l+0jquMX6Byx/5yztIhvkH7N0Ez+V97WwEJd57gmnu75TYAmnVufGndndGwoyea9j4QK BmxsImBSM1dzEUa2MnR8VytO1pQ2BqceubtY3sohJ/aP3u7f2pQsF0efzpLpXGRSwuHu FohfEJ5xR1C1xzCLGw2uHv2xb9wQdVv4KMInVCSFuFceN1j9Flkc6qKKMm2OQV6JUJc6 N/uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081887; x=1790686687; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ExRYRpHD1u5DXOU+rn+njvT7N53U5V0zMU/VcDkIX+Y=; b=GYXjKHcKo0Cgo3ngQbFOjcOfSHg1pRjvegkru5lZ+74/wRPIVEkU4pCQeUvBWqKu/F t65drJ501O5xcA/bjI/hzc+lKu9CkWBz45VpAC4E35W7WETTNwkESOF7dT7cYhC+kS5G /aPPreEX5Nm294zczYmLsMuDulyQzuaXtwsHtMpZ3z96tvVrglRkbeF3yJTWusrWm+uM vsAAHAmG3DnCRwMMggpKP4dq60J584ps+NuXJsd1pd+XdLJZzOsziGDvoHHa7L6YrkVA wJ3x5oUSBfVN0qhXYasjeG2/FgoYt0B3hrsbsSz8BsckZMcXUv4gLq7d/a+UVNcJ+UDK DWzQ== X-Forwarded-Encrypted: i=1; AKwUvBxbnCdVW9GOjhaEmx4ItIa51+x55jlXfFzxDLEP7YDykn2JrDK3Ki0BOHIbeCUhJqrMWpGbFhZkyV8mMRc=@vger.kernel.org X-Gm-Message-State: AFuF++ltFlWDTh/coRcDrhHmtzjV+GuO4UgnuJJogoy22D58RBvO2WOC 8U1AQj5WwqqzRiE+x5/B3i1qmnp0xZIe4EHw+lTDxi/U8R/kQlxbNVZPumIODysu+MTz2ajeT+b fEicWLwie3/bL+JbdaVLyFhmYaCvILJ/A532VNFf1U3GWwfITxjR1Z8YB2w44jBbgjFw= X-Gm-Gg: AYBFou0YGxBhPgorCXqiJ0Ec4S69J69Lk7M6MOAik8hL1UerrBjDS5BEwZDJBg32Gfs o3KqEuRvD59ZGxyoRd0C8M8aWT+7s2YLACfWw5ls8dvylPRzzwPCVLmQ+rNibR4EPJ4OhTr2Tuz qMyuEf1s8nPJbBYPQJnJ//FDzqpGZoHauE0eviaQYzF4Qk02LKzzObmdTBPNIYzbNvf1W9pn/5Q oeiukrESfcLLJ8wym2VgrpihhS/NL9MC/B6UmPEUD2++WEdzmN4n0oCzdwL4JmrSY/w+LMlOJvj 6FshWLZNEqprLTCAgXQ7odQ+uPq0q7GLpXosQyQqUmGvQujUVEee8JRvqKYG89VH0TjouJDdLz6 j3peuUN2c1msp5k4plhCfUY0KP7A= X-Received: by 2002:a05:6122:e469:b0:5c9:a60d:327c with SMTP id 71dfb90a1353d-5c9b59d03dcmr8273211e0c.16.1790081887359; Tue, 22 Sep 2026 05:58:07 -0700 (PDT) X-Received: by 2002:a05:6122:e469:b0:5c9:a60d:327c with SMTP id 71dfb90a1353d-5c9b59d03dcmr8273176e0c.16.1790081886875; Tue, 22 Sep 2026 05:58:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:05 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:24 +0200 Subject: [PATCH v9 09/14] crypto: qce - Only register algos if the user really wants it Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-9-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1924; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=OONR82+SOL/pvmQQ8fCClk/rQeXHbpvPa9nD7auDntc=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns+Jn9LOydwcM4CQoOQWJBlbAD5RhyrMWVVT Lw9g3EbryqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7PgAKCRAFnS7L/zaE w6NDD/9+OnKDBRr8GX6+fdaUuDfZSNtFgYmmVPzjMwA3VfL8hARj08E5EP9nfQPqwxaFforsz9R wkn8ot5FQy0BTnhJVdDdXu9Y4btFaS2KFIn4w3Pm7nTN1QzXMuHi7wCJRh3OaXP90eguBImde2P HxEMWRJgCKGCY5b3zUPVBNXBXpW+DFoOOF9d4IRQt9/4C2rZF3aX7i4nzuBPPAWRgSznTT0hWhQ g++GaMhja6TziHwkTu+JHecWoxnML75DC8vjozQOwXfRgHuiNUaaBbC5zht+iDp53aSD9rpnBDa naWjYjp3EVz+gpZL3o95mHT6qWwCvE43c37DCJFL3ZTWZvc+zpJ3MNyQwyaYiS0Qfn3M0rIop8d YHhl+18yissDcX0Z/CSoJLF2bVVNLPNW04W0ST9+Cp7+uBr2OwtWd/4F5+fXIOlXhoHqMdcD2OB 8bQgBT3SUvXvR/bF2IfThMCRE3jCb5N1RKfMvdx8IS+4WEYr920gg4VG54zRBuHaYoSXqmd98HI 3Lck2utJVZA+xGKmSrLAGVyJnji026sz5Axr2iaiONEdF7gW65EfOUOckxsWAb4HAsRx8Ic+h6E UtdYovwgqrnW8+QsH45ueSEudY7gFOzwUGfXTAbHkXwgmYuuQp5LnaGJRAWY/VOBLpB1ENAa4zb zhCsOHy8yR5iR6w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: VzIN8N3TMuj8Wost0Xxh40xpSTQ5B-BW X-Authority-Analysis: v=2.4 cv=KqHYSmWN c=1 sm=1 tr=0 ts=6ab27b5f cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=s_o0qblw2luIdUq6tZ4A:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfXwpG3rGtTG7oy fXNK5TRusnLVAVdd3l+haGdaDAr2qF2nuGr16Cdqa9uRdk7/hBN1c1vSQT3RRXMniCwZmb0ELvR 6jZKR9QgpGQMmRz4ktzLS2oex4eRX5vTkN/zf0yqQeUkr01BL/N2JbrW4v+Kv/gOnyYTIsw6cN7 xFizRgGhGFU+Rc06nDFJGmUIexv/0+6Unxjas49s4kNXbeAAqOLwKn05LjE7DEVARI4Jx/b12lQ C6XEl1hgFHg6bD5Er5zxn9OxKWC5jl+qK2Dkct9Yhoom0veiikIFGXH+C0/QFtOMae8lTXXC5Bw ZUwVppLas1q8BfaST541yueicjxm3I1U2+G6SdELxaG+H7g497z+GrDEZmzJ5lGCmi5J9pjpvAg bV9a577xH+3seMptb08bEDvBhoLFlTeSn+7CkjWaL3IxuiR/IoWI5VEU0+oJepU2WP7CIdGtrLn XjKihSphY5IDhG6cKcg== X-Proofpoint-ORIG-GUID: VzIN8N3TMuj8Wost0Xxh40xpSTQ5B-BW X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX/tuG/IV3OUsL E0YhQrxavhqkrcCf/O4cHj6ZFgHRGhwfeX593KpX3fm8511niiGgYUxqo3dT8r9st1LEkp/qO4O djAStqov9oj9X4Ib8kPhea8v/qBI7/U= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 bulkscore=0 priorityscore=1501 phishscore=0 malwarescore=0 suspectscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 This driver's crypto algorithms still have a few issues that need addressing which don't currently trigger any self-test failures. For that reason: don't register the algorithms unless the user really wants it. Add a module parameter to the QCE driver that by default causes the driver to *not* register the crypto algorithms. It will only be one if the user explicitly passes the do_register_algos argument as true. The power-management part of the driver is kept as is to allow scaling down of interconnects gating of clocks by runtime PM. Cc: stable@vger.kernel.org Signed-off-by: Bartosz Golaszewski --- drivers/crypto/qce/core.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index bf3c1bc3ba7bde5e5d08e06071c67ba77af95695..5b1bf7a50f88c890da1f0820fb9= e070b3d3f4708 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,9 @@ #include "sha.h" #include "aead.h" =20 +static bool do_register_algos; +module_param(do_register_algos, bool, 0444); + #define QCE_QUEUE_LENGTH 1 =20 #define QCE_DEFAULT_MEM_BANDWIDTH 393600 @@ -259,9 +263,11 @@ static int qce_crypto_probe(struct platform_device *pd= ev) qce->async_req_enqueue =3D qce_async_request_enqueue; qce->async_req_done =3D qce_async_request_done; =20 - ret =3D devm_qce_register_algs(qce); - if (ret) - return ret; + if (do_register_algos) { + ret =3D devm_qce_register_algs(qce); + if (ret) + return ret; + } =20 /* Configure autosuspend after successful init */ pm_runtime_set_autosuspend_delay(dev, 100); --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 40E6F54936A for ; Tue, 22 Sep 2026 12:58:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081896; cv=none; b=OnHhlg/Ejpe1wGLBOO9n/I7Xo0zbryTFp3llLksc8Mdms2Y0poihH7I/5YgLawkkbQn2LjqZSbsqfrCLhDnYgCRSH6rxEzbdNIhbVCd9LVGvsohw4QGtdiwg9GAXf7t2YeIWS/dEu439lc1Hz/mjtMsfIofaVl7OPlYIUKnRZfs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081896; c=relaxed/simple; bh=fY87isequqGi2vPc14TLa0uhOXluPBKFeKDCz57mcWg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d84VY0j4n9ZSJ1Rudcw8CqY1/G9ckeVbc+sZf9KWeVmJCx9Hf0sPzKVOt8NgZQJR9EG+YKKY5fQqsWuX43Bc2E83Z/Nbfj6FVPI/MfNcXXZma2W1OjjyNBnU98EYWPuLU/EbLSJQXEjsyGA4EnETe4F/VnO07kqt7iUVOeicUz0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Jnu3QQB8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bJXrNkDJ; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Jnu3QQB8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bJXrNkDJ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPT5q3516030 for ; Tue, 22 Sep 2026 12:58:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 71x7x3a3jvjtRysKXeUju2pROKPOWXEvD0O9ovjM29c=; b=Jnu3QQB8IPRGxFfM tJ6Av1ELS5xfKXzgEbIwMvlCSIb3Bq4dNkpx6iqYSP/A873wCvHRBezKTF94026H JfMpeak+lgmxYru92EmceSA4IR1Ooa1BA02TqTmEo4m+M1D6xAb7W5vH2VpOMMf4 Ir608TsKahqUo7Y8FRc9mLey1UFdYgjKcMEz8gpIECkT+o/qDqz4/rGyNEdx5d4C XKf4rDiYca9KlMZeaG2AALrvHGeqgMxg3X9M7M40BMrfYqM40u2ESN1reL35el8u h9Odhe4BhtIiz+T00LS0MMfwBN+i/73HKnzWhU1a74RvzmVdWOpu0R/cJLDE3Js7 +Q1eSw== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gufsqagwe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:10 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-5c964739454so5054438e0c.0 for ; Tue, 22 Sep 2026 05:58:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081890; x=1790686690; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=71x7x3a3jvjtRysKXeUju2pROKPOWXEvD0O9ovjM29c=; b=bJXrNkDJzSbOWrG/WCBV5+Oa1RB8ZU92RfUrwYknG2jCfv1J7upyfC8X9ULqS/nhNQ 5MUlW6oSy5a7LwrKaiUpznyeoqnfqWdOchjfQ3QA+zX48wedB3uHx4dKhFOfZW313pnv cPNBdwRffGOhEYEbp41TzWjc6TChOCOdtvJporFE1iwTgcrougZ1mA7Ghb/7PXIr6Zfg NQbWcqofzJdkiBO4Q1HbOko6wzYoSefUrP2qykEJFQvQLY39Kq+UpJ/nBrLWhRk3Fr/R lBxYBEUTn99NA+/DSZioCYWjxR824Tpd8GBqEh77CiIGDfRtk6hj/AOxksUN9fFd/2p1 JykQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081890; x=1790686690; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=71x7x3a3jvjtRysKXeUju2pROKPOWXEvD0O9ovjM29c=; b=P60200utiG5QHQ/h4QtyTiSNauTrYNxz1ls6aDsIndnliK7sum8+qOrx39zAF7pGi0 rzoOj3qRpe2xzySonV1UOoC6ZmgIs4ubDDIjaBz1jM7Q/GHQGu91Xh4SSRWA5CQj4BG3 9avvlGWS/PKvmgOxNTS2opCmUbQHmjipO8GhMTORcqWqg5QPuyFXHjb+YMvYhwnNSDMM gjO+2KErcTa6ssrWcSVUbm0PtibMYqhyx55VMkGfD4/xyEumP16K+5PxSTFaUnHYEMJl m536fdwNtEr3cuQLO3MqGNIMmftSsEE3Sr12iRJMUn1S2MRWQhxAYXrXEGlfz+29Im7U 31rQ== X-Forwarded-Encrypted: i=1; AKwUvByFTB26c/xkqALX7ANgGIZrgJroVSzFD0ZCJyQGMflot1qTWTfKasv2LfCnQtNOH4t60OR2RkelruJfnYI=@vger.kernel.org X-Gm-Message-State: AFuF++lTkOEgj79y7HedSvfamsZ7an0CIGvtSsd11o07D8d9ucONsYc6 57HNblAo8a4zxXTGdFWGFxGr0baImRPz5NTQi5JeoW/8PrK6JySypJWsN8IqVCH8FkTkM83WZml qNNJDnwOePttwOR2SX6kKmldUeUTB9vZp53iffzuEujfmkG6tbrzjRfhlgdfB8fcBA14= X-Gm-Gg: AYBFou1AbJXUOU8xz+yJq6uswl0N+fqZkR7Tqr6Py2AEeN8FjI0yStoPtW1P7tlRcFS 83d0XoV1jtwOYYoMcgiMpD/at1g/Dw229xfAEncChG7vI4nzVoyfu8OXpsix9qjidK9K4rFHetP pvajipDdGtb8fqzUWy3b/ym6aeM6x555YRBJVxOSz6P7QvuyTPVjkRlWeTWneM9Oj23qWJB7gHn Q8rArG0+Vjl4/B9FLgyjbKdTdRVuWw71glPDR35Tcucu+HTXI5aGQESOwUx29aksncDzHqI9ING ksBg1ZO5rVUtGQFvfb2PtOAX4B63apZSU6bNn79mFc1Oa4Dve5bzdVNxD8M0NTX/cYmLvpqT78V KJWmMLxZt2mVb0jS2VnCbjhxX+sk= X-Received: by 2002:a05:6122:3486:b0:5c8:36a6:ddd0 with SMTP id 71dfb90a1353d-5c9b58e98c0mr8394470e0c.6.1790081890380; Tue, 22 Sep 2026 05:58:10 -0700 (PDT) X-Received: by 2002:a05:6122:3486:b0:5c8:36a6:ddd0 with SMTP id 71dfb90a1353d-5c9b58e98c0mr8394408e0c.6.1790081889914; Tue, 22 Sep 2026 05:58:09 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:08 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:25 +0200 Subject: [PATCH v9 10/14] Revert "crypto: qce - Mark QCE as BROKEN" Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-10-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3276; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=fY87isequqGi2vPc14TLa0uhOXluPBKFeKDCz57mcWg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns/UZaT9h/s9Gz6OgARZ9rzxMS3ZQgZpCzKJ nnFi47SzJCJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7PwAKCRAFnS7L/zaE w7j8EAC8IgQUzRusHQCor89biXLZV6riqEpya1oT3nHoywVTkIzWNMVa2TgdT3hX1JjSlLR4MbI YVQNujKDgZV2UoAkZzeQpm9dh0row0mW5SQuUZkaG5N54xR41VB969wvJaF1G2cfXAVCUa99UAc uhJJ1l6epPuUUAXQMylCIA30yqhBFWYre3FYHj+YURx0Gbf9x9yEnm+1tuwStNkc6piZEmLHogw VvnqttPj+07kyCTzTNA2+YSyOsLX5IqOxyk24BdLHXCwEBCrNDySCunebNQHRIMVs2fXe2vpZla Z04tjzFEyI34eopJ387OJhAMAFi5ATjiaEwSHIlX5Z+JUO7U7uQdcAtc0Eoe3ZaYPLtZUFX5CAv RbRcTqU1VHH05QX2XUq0ZHH1zcpGu6m5ILm2eNiK8rG7uqvPcR3M+kLdasd1mk/+dK4wKit70jx cFUjTh0TsuLoMmCQfL4FawROIHMxwh4DXLx3Hfvp4M/r6Xoyo+kDoT0ejcujTMk153FAg4adgKC lN44tH60s5gx9JoAxBM2C8Ux6IzAd5dp4WvS78w4ZaQZu2qEXnkB9bpC8ZedIHuDSZnXh6i43xZ 0psjvcj48SOQT20dvEV3YFhSNKmeLh5/FVCMLzFoOnV7w8V7rYkKrlhGa9cTuc1gXQkXoml+HCc 7nnehYVdqWTXyEw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: we4Jn0UotBCtsKGvc1EIjXq8X-7YMHy_ X-Proofpoint-GUID: we4Jn0UotBCtsKGvc1EIjXq8X-7YMHy_ X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfXxmD+lRwb34Nb 6g9zyXWf8X7WshvNCab3M9LQ8hszWgQffvyHDgVkdaPo+L6nGhoI9QfaLd2u6Mt3Ic3Hljfl2iS Yx6thCQmeHlJ/1AZ+n8m0gkNzHT3yl8= X-Authority-Analysis: v=2.4 cv=NKBAaE6g c=1 sm=1 tr=0 ts=6ab27b63 cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=W_IakApU47TVE70GsD8A:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX8QnGWRYAzRVy yshxZcRGvB4HH3so+LYFV2QHvMnvCCUzTOe38ZeGu0eonzUmO1Vl1evP9KaTFs62ltOqOTgbVjq tq16qVPCYUiul1onrZ0woyuY8XhsRiweEmHNYTCS2DyfJP4dl8PiGU8FlRWi6y5+7azZbp+fLBU rUvZ6LV7D9+YHRCED72UnkTbsCk7HHKqtSlg9zVggeaW4IVmp1BpM78WZI3AVtd/gUBEGXLDPTB al2eyDDH24hyREOr6oLaRSJ+KzDWDYkY+mSz9R2k+tB75gTGMdKsyX0wL3Ro1WepUsevT4Muobx WPz8YplRDBxFw7/TjfA2DqzerV8rO+BeGybdG2IbAN0c3FHT9TXE+c7+PZtM9awKqjy8nRyrPMG IAbrPYFQfIST+I9HJ/tz3TTW0ymbUAolwilGFqiLLk9/Rk8zMawHW4T+7aJy/J5I0Ez8SDMPBwX vPtMC3nMc8xWSII6qAw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 suspectscore=0 adultscore=0 malwarescore=0 clxscore=1015 phishscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 The self-tests for this driver have been fixed. The crypto algorithms are only registered if the user explicitly requests it with the provided module parameter defaulting to false. There's no reason to further keep it unbuildable with the BROKEN label. While at it: update the Kconfig description by saying this is an "offloader" and not an "accelerator". Signed-off-by: Bartosz Golaszewski --- arch/arm/configs/multi_v7_defconfig | 1 + arch/arm64/configs/defconfig | 1 + drivers/crypto/Kconfig | 22 +++++++++++++--------- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v= 7_defconfig index f9b8dbf9318c9d4947e56ef0159311634bf0c1ee..2d6292f8cab39596b540084fbd8= b30f4c25cd4ff 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -1323,6 +1323,7 @@ CONFIG_CRYPTO_DEV_ATMEL_AES=3Dm CONFIG_CRYPTO_DEV_ATMEL_TDES=3Dm CONFIG_CRYPTO_DEV_ATMEL_SHA=3Dm CONFIG_CRYPTO_DEV_MARVELL_CESA=3Dm +CONFIG_CRYPTO_DEV_QCE=3Dm CONFIG_CRYPTO_DEV_ROCKCHIP=3Dm CONFIG_CRYPTO_DEV_STM32_HASH=3Dm CONFIG_CRYPTO_DEV_STM32_CRYP=3Dm diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 6ec8d3a69c98e0da38465010d11166bb0e058f4a..e80927f87ff26fe3f51db6409f5= 09fb99ad614a0 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1949,6 +1949,7 @@ CONFIG_CRYPTO_AES_ARM64_CE_CCM=3Dy CONFIG_CRYPTO_DEV_SUN8I_CE=3Dm CONFIG_CRYPTO_DEV_FSL_CAAM=3Dm CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=3Dm +CONFIG_CRYPTO_DEV_QCE=3Dm CONFIG_CRYPTO_DEV_TEGRA=3Dm CONFIG_CRYPTO_DEV_ZYNQMP_AES=3Dm CONFIG_CRYPTO_DEV_ZYNQMP_SHA3=3Dm diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index 0189dfdcbbe11098ead0ea194293422a31d8fe65..adcbe15851899917fb3039efe89= a77c8fe712bf1 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -527,17 +527,21 @@ source "drivers/crypto/marvell/Kconfig" source "drivers/crypto/intel/Kconfig" =20 config CRYPTO_DEV_QCE - tristate "Qualcomm crypto engine accelerator" - depends on (BROKEN && ARCH_QCOM) || COMPILE_TEST + tristate "Qualcomm crypto engine offloader" + depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM help - This driver supports Qualcomm crypto engine accelerator - hardware. To compile this driver as a module, choose M here. The - module will be called qcrypto. - - This driver does not have exclusive access to the - hardware, causing races with the secure world. It - is also slower than the CPU. + This driver supports Qualcomm crypto engine offloader hardware. To + compile this driver as a module, choose M here. The module will be + called qcrypto. + + NOTE: With qcrypto.do_register_algos module parameter set to true, + this driver does not have exclusive access to the hardware, and may + cause races with the secure world. It is also *slower* than the + CPU for the same algorithms. By default it will not register crypto + algorithms and only scale down the interconnect bandwidth and disable + the relevant clocks. Use qcrypto.do_register_algos=3D1 at your own + risk! =20 config CRYPTO_DEV_QCE_SKCIPHER bool --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 1FC3154936E for ; Tue, 22 Sep 2026 12:58:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081899; cv=none; b=t0dyHISm8Sf03qS+Ol2aH8fY27Ds7s8pwV3PxkEqRdkXKUopiKZSZG6JTPiCfxRH6z5AbpbDaJSlxqO3WXQG1BhX77/ev0eesX7HTAQHHo5D8jsSYEO8Ad2BTbteTx5IqSIE4UBCOrTWoQdeFOzFpex9KPHSW99etyDHuNLY7zg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081899; c=relaxed/simple; bh=bqQnj1sRd5YIguxyvb1woihF/gxO2qBMbQ6gsb6aEnM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HWi0iajwvLDzcvtnMzG5GJP2qJA+D8Xm26ZoDFO9xYruEkTjOYvMktILuZx+ykOQMoO23mjwWkVNaSJQ3MVbikZT4JK33PEDp0pYkjJCZqs+xfwYIZV2UNZFlP48/7zcDJF6uohU6Levr6tz/6Dv+faIcTrDM2fGtihkWv8nJK4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=YDTUGAMy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Jvqj1fn7; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="YDTUGAMy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Jvqj1fn7" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPSpM269085 for ; Tue, 22 Sep 2026 12:58:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= tr6/L9XspX0mVolAtvJBefpD4SzsUnEqKEXPG9e6Y54=; b=YDTUGAMyvP6j2GnG ZTRVYD04MFTmXcGQ+bXSJLNYJPAhYQGUN0i10rBQ9N55c0wPs5bm99g/Tr7B4gAN 1ldJU8oMOLi2t1n/NAlNeWHw+1PS1gzv9IG8jR3/xPr0GhGK2MMexNQL7XCcGIq8 CjMuECfqWoxuFdUi3dgk8rJlSnK1OtxXfRC9bUian+hMp69VEjytoxTVnSfco4hE +pk0lrbQop1WVfHEY1yM4kjX2/qmZBVZjKmWty0fhVt7McM+7BYkD8klyMjuLHxh ERKlKtHm2UMOvH5DvJx0EfSDJZZWUi9VniNWqyA+fW4uXRvLmCv/XurS61yyXEe/ tXs3tA== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gufbatqde-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:14 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-5c83007a11cso1347868e0c.2 for ; Tue, 22 Sep 2026 05:58:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081894; x=1790686694; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=tr6/L9XspX0mVolAtvJBefpD4SzsUnEqKEXPG9e6Y54=; b=Jvqj1fn7Ah8KJZ4fCl/PNtYrNytOwcn4fGczGvwJlfkVPQprPTPE6NSblRd0BHqHAj 4Ad9DwSoWBXD0Z138x4iQECiJusi4JlFHp/9BRCyXkybOvz5YDuT9d310pS0xIycD7pj 7OGNwBfHwqOFLDpMPulFW7aL8aK4iEXoQrJV4qUZKELLaThYDTbchBTvNTn1S2NwSNr5 Ck1g9bu11ujBSb2C1yrdgHKqGo7NG/nHZJhqFh9Oc5H5zUDvCcDbP3+3TLiaY5SWVb5Q qfKd4jlU2C1tx1pJMY/gakMoJUa7S7DsRAqF/iSJQkJWLkwBHFPMZV/A00aYGJ473BPu znyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081894; x=1790686694; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tr6/L9XspX0mVolAtvJBefpD4SzsUnEqKEXPG9e6Y54=; b=kj2CNuqjfY5Mzfh0eN3uCJaNkDjyAI7cDGVA7MMyeSaZjNVnBSk3mqInI8YS1ayNcL n00pjnlgOux0jk2HAXj0XGz9VpbYQCBObmYHLCJDzsmbGqLO4ld2Z7CLMfmS+Le0Ge3O RmYKPGLl/MIWNqH1/xFUOLjG4xmv95cjvyp/dPYkHnzz29u8ltMoLeqHdJlRaetIcR/L ZrtpmXZ559pWlgFXJSJIhpHK96KiU35w6HjsV1AUQsDMP6VU7uiqi30yr11ZKfFACr+D PfeL273rgaYDH/SyvJVTcOg7Ff7TSr9CjHdHjzEMHLgIo/doCaoHxD3Qascxn/U0VbcM TlYA== X-Forwarded-Encrypted: i=1; AKwUvBwyFwc0s8TcUpkD/d4cXxRCpfQ25PyxhHmRE89XS9De711bitJMHT43koCW5Pj1QT7fu6q8FIInqieZdb0=@vger.kernel.org X-Gm-Message-State: AFuF++lHe5iyKFq2D0na7ufjuHFXGEhPhZJKAfSOY0AtCG0wLqCJt/T/ noSeKjCGqHqHbliAWVywuKyoZzye2TH1KnmAtGe3Pn26BWEi9I7FD4zWy+8UTu3V2NBV2iaBQBp kIeIorwdxDy+Ufb4kz/8AZ+1fPMe2LHZ2Iq3eHSc+MKULtVxy6C4vZZvCVA3IqFtSf3E= X-Gm-Gg: AYBFou2jcVKsEZVFujz6J7WR00QyjL57+rNb5Tis6MlS7aKTtKZ4Z3w8EA+yh2Etm/U fmpJIXXtLheMzMaMsXMD6RQDOIFMt04MXazZ+TXdNNzGjHu2+OkVAIQAPOKsh42xW85nlHJugq3 WluLvguQqMrvc4nz1wyUrIyFvC7X9PIGwX5KKNbUIwtmD82b3cYCTjtX3ELJKy7gUr/UsULH1tU mdl49f9o+Nw6ZLiL+sgGHUOdO0eoofqeEtKtyVSe6UixajwqOXsChlwjEfwKKHvfZlv8ht4u0E1 Dd5yZg3/9/6v52afeV2HqB+6UL5W3HGIN6HwdKAcbFmM2ykH9lPn/CbRq4KJAJX9vdd9hH6L4+J Swkf6IVFzGHdA8ons7/dXksNDAGM= X-Received: by 2002:a05:6122:8c8a:b0:5c9:a60b:e5cf with SMTP id 71dfb90a1353d-5c9b59413bbmr7504805e0c.9.1790081894149; Tue, 22 Sep 2026 05:58:14 -0700 (PDT) X-Received: by 2002:a05:6122:8c8a:b0:5c9:a60b:e5cf with SMTP id 71dfb90a1353d-5c9b59413bbmr7504775e0c.9.1790081893542; Tue, 22 Sep 2026 05:58:13 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:11 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:26 +0200 Subject: [PATCH v9 11/14] crypto: qce - convert to auxiliary bus Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-11-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=14659; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=bqQnj1sRd5YIguxyvb1woihF/gxO2qBMbQ6gsb6aEnM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsns/fmtMudlJlPuDfybMh5FEY5t72gLHhBK1U hBwfv2oTOSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7PwAKCRAFnS7L/zaE w6IrD/9bM+Q8ghrImd49o8Z2DyY+PZEJk2Et03myE8G1kYPLrLlbYPhShQsBqqrMLcNhJBxDRGn 0wQnXCZetayq0IuInO75OLF2vsa2Z3iR08hbHxzCmamW1u9KJ1JcK7q2Pj52U4Htg8yRXQKxcuS Xztw1AVJrkpqmZWUxR66rwitkzWI5MqwQSIV+MIJMKMCWe2Iy+bYe9I5Lespzp0EVaxxCMGq5G2 yulUQiJ4GSqiZpLm5vqmHIlis7GBQ+e3yCJEr5eui3gE3TQD0APxVbzIU5Xs5NW6K0nE939IbGR QUAKHsJsl8LrqTcWu0OLd7sO29ROBIIlOnBVb14q9sMlt20daO1YwXQeuotfOIjSIGNvSpvFo87 f4LB/kmDZTeXVLH429IOVGTdI0yDR/EU01Uf7dyWEVUouE+WAr60BOWf65fp9piPhTVv+juJD/8 /5yHo5G+3MIuVUbTJ/6q0f8kQDgsy1XDsFEw7A2z12dwGWjO/VpIdXmKha2oUV8LFoEjAQBZo6/ woRY9BAKqVZJYWGxi8cjJ3LpPKFpcwGOaWAhf4d9+Rz8erT05PrXzMHCP4kg0vDp3vPiGhV1lQR uq2jus4Ok6BqWZEGKmcZn0NFRS/7K5tWuUjVpc/SAme4+XbOOh1+pWsDnvpDBZf05BRDmc9dVxd vwDfmJlS8+t9LRw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NiBTYWx0ZWRfX40chh3gA9zPr RtxSIbKAFxPslKDeaexfK7Dlb2FSISnoajNvs8kan6hyhf0A+fL5F2UrUD/sDWND2pyOztLQMem mYekE6cleL4FgACMXoI4y4I8zM0U8btPJU6gxLG4iDHlDqOiZQQAPzwN1Xr+Af8UFy8rRt18d7O zok82cyHreGa/7TRT8J7oEzV6KrcTJ8fk0ltnt+byyOHCFyY/q+6+0yjp4h3RGHAffAL48Nzk2T jlQ0qycAam5yfwUp82+eAtgw5Ua3iO5+fN8yJlZgKTGeAPExnKcKb5v4cQLEhIrptW4Bg4XRo3C eFra6/Hl9rtMDl+jsqX7hREazs8m9JYiE9TVkIWuyAPy9gGjQL51DgdrGGtzmsGjbZz9PRY2enK BCDJ2im0O58gmddMiarkY+8/2hmkAnlaYqMaNkmNoJ/7dISsoKXUkG4ocX15pMhIHXxHOMgk64J a+XiX2PIyg2Ve3KsxEw== X-Authority-Analysis: v=2.4 cv=IYYSymqa c=1 sm=1 tr=0 ts=6ab27b67 cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=WPyFHUJR_z9Wl-EIX7EA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NiBTYWx0ZWRfXxoIkuOhe6fc+ 5e9Wi9NOILkf0BJ97kIpGdPlBILMmcwfhgeiI9mUpeqH2RGnrKTzN86hcuiRgCzpVkjJ30c1aeP 2NhXw7b/btfvVSieDtzGa3utLrdI6RA= X-Proofpoint-ORIG-GUID: 9Ht0EIKyhA5RH-O75Ry1rvoH8U8Xa1b6 X-Proofpoint-GUID: 9Ht0EIKyhA5RH-O75Ry1rvoH8U8Xa1b6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220186 This driver is disabled in arm64 defconfig but one of its functionalities - scaling down the interconnect votes to 0 when unused - will be moved to an always-enabled core qce driver. This upcoming core driver will also be in charge of registering the qcrypto device on the auxiliary bus so that it may be enabled if desired. As the first step: convert the driver to using the auxiliary bus and remove the interconnect management from the code. Update the power management as required and make sure to use the parent struct device for DMA. Signed-off-by: Bartosz Golaszewski --- drivers/crypto/Kconfig | 2 + drivers/crypto/qce/aead.c | 12 +++--- drivers/crypto/qce/core.c | 93 +++++++++++++++++++--------------------= ---- drivers/crypto/qce/core.h | 5 ++- drivers/crypto/qce/sha.c | 12 +++--- drivers/crypto/qce/skcipher.c | 12 +++--- 6 files changed, 66 insertions(+), 70 deletions(-) diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index adcbe15851899917fb3039efe89a77c8fe712bf1..b3fa1f6135bce345cc58387aac7= ba803a82aff69 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -530,6 +530,8 @@ config CRYPTO_DEV_QCE tristate "Qualcomm crypto engine offloader" depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM + depends on PM + select AUXILIARY_BUS help This driver supports Qualcomm crypto engine offloader hardware. To compile this driver as a module, choose M here. The module will be diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 37199cb50744fa3932e3404448689451b0004b77..a7bb2b7b2139d43911a72dd0d0f= 089f2704047b5 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -44,9 +44,9 @@ static void qce_aead_done(void *data) dev_dbg(qce->dev, "aead dma termination error (%d)\n", error); if (diff_dst) - dma_unmap_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src); + dma_unmap_sg(qce->dma_dev, rctx->src_sg, rctx->src_nents, dir_src); =20 - dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); + dma_unmap_sg(qce->dma_dev, rctx->dst_sg, rctx->dst_nents, dir_dst); =20 if (IS_CCM(rctx->flags)) { if (req->assoclen) { @@ -442,14 +442,14 @@ qce_aead_async_req_handle(struct crypto_async_request= *async_req) =20 if (ret) return ret; - dst_nents =3D dma_map_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst= ); + dst_nents =3D dma_map_sg(qce->dma_dev, rctx->dst_sg, rctx->dst_nents, dir= _dst); if (!dst_nents) { ret =3D -EIO; goto error_free; } =20 if (diff_dst) { - src_nents =3D dma_map_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_sr= c); + src_nents =3D dma_map_sg(qce->dma_dev, rctx->src_sg, rctx->src_nents, di= r_src); if (src_nents < 0) { ret =3D src_nents; goto error_unmap_dst; @@ -478,9 +478,9 @@ qce_aead_async_req_handle(struct crypto_async_request *= async_req) qce_dma_terminate_all(&qce->dma); error_unmap_src: if (diff_dst) - dma_unmap_sg(qce->dev, req->src, rctx->src_nents, dir_src); + dma_unmap_sg(qce->dma_dev, req->src, rctx->src_nents, dir_src); error_unmap_dst: - dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); + dma_unmap_sg(qce->dma_dev, rctx->dst_sg, rctx->dst_nents, dir_dst); error_free: if (IS_CCM(rctx->flags) && rctx->assoclen) { sg_free_table(&rctx->src_tbl); diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index 5b1bf7a50f88c890da1f0820fb9e070b3d3f4708..31f1ad8938ab3bbe76b2ae4799e= b2797efe704ed 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -3,15 +3,16 @@ * Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. */ =20 +#include #include #include #include +#include #include -#include #include #include #include -#include +#include #include #include #include @@ -28,8 +29,6 @@ module_param(do_register_algos, bool, 0444); =20 #define QCE_QUEUE_LENGTH 1 =20 -#define QCE_DEFAULT_MEM_BANDWIDTH 393600 - static const struct qce_algo_ops *qce_ops[] =3D { #ifdef CONFIG_CRYPTO_DEV_QCE_SKCIPHER &skcipher_ops, @@ -93,11 +92,6 @@ static int qce_handle_queue(struct qce_device *qce, struct crypto_async_request *async_req, *backlog; int ret, err; =20 - PM_RUNTIME_ACQUIRE_AUTOSUSPEND(qce->dev, pm); - ret =3D PM_RUNTIME_ACQUIRE_ERR(&pm); - if (ret) - return ret; - scoped_guard(mutex, &qce->lock) { if (req) ret =3D crypto_enqueue_request(&qce->queue, req); @@ -120,8 +114,21 @@ static int qce_handle_queue(struct qce_device *qce, crypto_request_complete(backlog, -EINPROGRESS); } =20 + /* + * Hold the device resumed across that whole window instead of just + * across this function, or autosuspend could gate the engine clocks + * while the DMA is still in flight. + */ + err =3D pm_runtime_resume_and_get(qce->dev); + if (err) { + qce->result =3D err; + schedule_work(&qce->done_work); + return ret; + } + err =3D qce_handle_request(async_req); if (err) { + pm_runtime_put_autosuspend(qce->dev); qce->result =3D err; schedule_work(&qce->done_work); } @@ -154,6 +161,7 @@ static int qce_async_request_enqueue(struct qce_device = *qce, =20 static void qce_async_request_done(struct qce_device *qce, int ret) { + pm_runtime_put_autosuspend(qce->dev); qce->result =3D ret; schedule_work(&qce->done_work); } @@ -194,10 +202,12 @@ static int qce_check_version(struct qce_device *qce) return 0; } =20 -static int qce_crypto_probe(struct platform_device *pdev) +static int qce_crypto_probe(struct auxiliary_device *auxdev, + const struct auxiliary_device_id *id) { - struct device *dev =3D &pdev->dev; + struct device *dev =3D &auxdev->dev; struct qce_device *qce; + struct resource res; int ret; =20 qce =3D devm_kzalloc(dev, sizeof(*qce), GFP_KERNEL); @@ -205,13 +215,18 @@ static int qce_crypto_probe(struct platform_device *p= dev) return -ENOMEM; =20 qce->dev =3D dev; - platform_set_drvdata(pdev, qce); + qce->dma_dev =3D dev->parent; + auxiliary_set_drvdata(auxdev, qce); + + ret =3D of_address_to_resource(dev->of_node, 0, &res); + if (ret) + return ret; =20 - qce->base =3D devm_platform_ioremap_resource(pdev, 0); + qce->base =3D devm_ioremap_resource(dev, &res); if (IS_ERR(qce->base)) return PTR_ERR(qce->base); =20 - ret =3D dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); + ret =3D dma_set_mask_and_coherent(qce->dma_dev, DMA_BIT_MASK(32)); if (ret < 0) return ret; =20 @@ -227,10 +242,6 @@ static int qce_crypto_probe(struct platform_device *pd= ev) if (IS_ERR(qce->bus)) return PTR_ERR(qce->bus); =20 - qce->mem_path =3D devm_of_icc_get(dev, "memory"); - if (IS_ERR(qce->mem_path)) - return PTR_ERR(qce->mem_path); - /* * Enable runtime PM after clocks and ICC path are acquired so that * the resume callback can enable clocks and apply the ICC bandwidth @@ -240,7 +251,10 @@ static int qce_crypto_probe(struct platform_device *pd= ev) if (ret) return ret; =20 - PM_RUNTIME_ACQUIRE_AUTOSUSPEND(dev, pm); + pm_runtime_set_autosuspend_delay(dev, 100); + pm_runtime_use_autosuspend(dev); + + PM_RUNTIME_ACQUIRE_IF_ENABLED_AUTOSUSPEND(dev, pm); ret =3D PM_RUNTIME_ACQUIRE_ERR(&pm); if (ret) return ret; @@ -269,31 +283,17 @@ static int qce_crypto_probe(struct platform_device *p= dev) return ret; } =20 - /* Configure autosuspend after successful init */ - pm_runtime_set_autosuspend_delay(dev, 100); - pm_runtime_use_autosuspend(dev); - pm_runtime_mark_last_busy(dev); - return 0; } =20 static int qce_runtime_suspend(struct device *dev) { struct qce_device *qce =3D dev_get_drvdata(dev); - int ret; =20 clk_disable_unprepare(qce->core); clk_disable_unprepare(qce->iface); clk_disable_unprepare(qce->bus); =20 - ret =3D icc_set_bw(qce->mem_path, 0, 0); - if (ret) { - clk_prepare_enable(qce->bus); - clk_prepare_enable(qce->iface); - clk_prepare_enable(qce->core); - return ret; - } - return 0; } =20 @@ -302,14 +302,9 @@ static int qce_runtime_resume(struct device *dev) struct qce_device *qce =3D dev_get_drvdata(dev); int ret; =20 - ret =3D icc_set_bw(qce->mem_path, QCE_DEFAULT_MEM_BANDWIDTH, - QCE_DEFAULT_MEM_BANDWIDTH); - if (ret) - return ret; - ret =3D clk_prepare_enable(qce->core); if (ret) - goto err_core; + return ret; =20 ret =3D clk_prepare_enable(qce->iface); if (ret) @@ -325,8 +320,7 @@ static int qce_runtime_resume(struct device *dev) clk_disable_unprepare(qce->iface); err_iface: clk_disable_unprepare(qce->core); -err_core: - icc_set_bw(qce->mem_path, 0, 0); + return ret; } =20 @@ -335,25 +329,22 @@ static const struct dev_pm_ops qce_crypto_pm_ops =3D { SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) }; =20 -static const struct of_device_id qce_crypto_of_match[] =3D { - { .compatible =3D "qcom,crypto-v5.1", }, - { .compatible =3D "qcom,crypto-v5.4", }, - { .compatible =3D "qcom,qce", }, +static const struct auxiliary_device_id qce_crypto_ids[] =3D { + { .name =3D "qce.crypto", }, {} }; -MODULE_DEVICE_TABLE(of, qce_crypto_of_match); +MODULE_DEVICE_TABLE(auxiliary, qce_crypto_ids); =20 -static struct platform_driver qce_crypto_driver =3D { +static struct auxiliary_driver qce_crypto_driver =3D { .probe =3D qce_crypto_probe, + .id_table =3D qce_crypto_ids, .driver =3D { - .name =3D KBUILD_MODNAME, - .of_match_table =3D qce_crypto_of_match, + .name =3D "qce-crypto", .pm =3D pm_ptr(&qce_crypto_pm_ops), }, }; -module_platform_driver(qce_crypto_driver); +module_auxiliary_driver(qce_crypto_driver); =20 MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("Qualcomm crypto engine driver"); -MODULE_ALIAS("platform:" KBUILD_MODNAME); MODULE_AUTHOR("The Linux Foundation"); diff --git a/drivers/crypto/qce/core.h b/drivers/crypto/qce/core.h index eb6fa7a8b64a81daf9ad5304a3ae4e5e597a70b8..6eda6e617b811420c0c3cc53988= cb15a23abafe2 100644 --- a/drivers/crypto/qce/core.h +++ b/drivers/crypto/qce/core.h @@ -20,6 +20,9 @@ * @result: result of current transform * @base: virtual IO base * @dev: pointer to device structure + * @dma_dev: pointer to the device to use for DMA mapping calls; this is t= he + * auxiliary bus device's parent, which is the one that actually + * went through DMA/IOMMU configuration * @core: core device clock * @iface: interface clock * @bus: bus clock @@ -37,8 +40,8 @@ struct qce_device { int result; void __iomem *base; struct device *dev; + struct device *dma_dev; struct clk *core, *iface, *bus; - struct icc_path *mem_path; struct qce_dma_data dma; int burst_size; unsigned int pipe_pair_id; diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index 8c12c072f4a9da2d97a51f29cf8ca22a6411063e..58114d06e60cd5925d8445ec0e5= 8d56433a8a67d 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -47,8 +47,8 @@ static void qce_ahash_done(void *data) if (error) dev_dbg(qce->dev, "ahash dma termination error (%d)\n", error); =20 - dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); - dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); + dma_unmap_sg(qce->dma_dev, req->src, rctx->src_nents, DMA_TO_DEVICE); + dma_unmap_sg(qce->dma_dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); =20 memcpy(rctx->digest, result->auth_iv, digestsize); if (req->result && rctx->last_blk) @@ -93,13 +93,13 @@ static int qce_ahash_async_req_handle(struct crypto_asy= nc_request *async_req) return rctx->src_nents; } =20 - ret =3D dma_map_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); + ret =3D dma_map_sg(qce->dma_dev, req->src, rctx->src_nents, DMA_TO_DEVICE= ); if (!ret) return -EIO; =20 sg_init_one(&rctx->result_sg, qce->dma.result_buf, QCE_RESULT_BUF_SZ); =20 - ret =3D dma_map_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); + ret =3D dma_map_sg(qce->dma_dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); if (!ret) { ret =3D -EIO; goto error_unmap_src; @@ -121,9 +121,9 @@ static int qce_ahash_async_req_handle(struct crypto_asy= nc_request *async_req) error_terminate: qce_dma_terminate_all(&qce->dma); error_unmap_dst: - dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); + dma_unmap_sg(qce->dma_dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); error_unmap_src: - dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); + dma_unmap_sg(qce->dma_dev, req->src, rctx->src_nents, DMA_TO_DEVICE); return ret; } =20 diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c index 7abc1d7b1cf0403c456f3b3ce1f28820839a5473..37c16fbfe245c66aa12fb17fdd5= d06d7aee2abba 100644 --- a/drivers/crypto/qce/skcipher.c +++ b/drivers/crypto/qce/skcipher.c @@ -49,8 +49,8 @@ static void qce_skcipher_done(void *data) error); =20 if (diff_dst) - dma_unmap_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src); - dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); + dma_unmap_sg(qce->dma_dev, rctx->src_sg, rctx->src_nents, dir_src); + dma_unmap_sg(qce->dma_dev, rctx->dst_sg, rctx->dst_nents, dir_dst); =20 sg_free_table(&rctx->dst_tbl); =20 @@ -139,14 +139,14 @@ qce_skcipher_async_req_handle(struct crypto_async_req= uest *async_req) sg_mark_end(sg); rctx->dst_sg =3D rctx->dst_tbl.sgl; =20 - dst_nents =3D dma_map_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst= ); + dst_nents =3D dma_map_sg(qce->dma_dev, rctx->dst_sg, rctx->dst_nents, dir= _dst); if (!dst_nents) { ret =3D -EIO; goto error_free; } =20 if (diff_dst) { - src_nents =3D dma_map_sg(qce->dev, req->src, rctx->src_nents, dir_src); + src_nents =3D dma_map_sg(qce->dma_dev, req->src, rctx->src_nents, dir_sr= c); if (!src_nents) { ret =3D -EIO; goto error_unmap_dst; @@ -175,9 +175,9 @@ qce_skcipher_async_req_handle(struct crypto_async_reque= st *async_req) qce_dma_terminate_all(&qce->dma); error_unmap_src: if (diff_dst) - dma_unmap_sg(qce->dev, req->src, rctx->src_nents, dir_src); + dma_unmap_sg(qce->dma_dev, req->src, rctx->src_nents, dir_src); error_unmap_dst: - dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); + dma_unmap_sg(qce->dma_dev, rctx->dst_sg, rctx->dst_nents, dir_dst); error_free: sg_free_table(&rctx->dst_tbl); return ret; --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 E8B0654CF66 for ; Tue, 22 Sep 2026 12:58:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081901; cv=none; b=bClES3n6u4w3UnotwIkyv8cosIEuxxUjhAoa6FJhCk0BhNC7JEuCYgLVxNoZtlaZkyYjtPJCK6D2cgCE6eNhYXkyptLz7f5+V6JEXwa/u5AaCiADtq8GnCQQZU4uCLro9Ud0TL0yeZF0J18RyFLkK8oD8FEqy4K1AwZSXaAUjWM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081901; c=relaxed/simple; bh=SZ2dL8TwrDpPKl/RZfPPK/8ppxvf49E+FLMHDVsmpq8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BzF/XSLreuCUVsgLHZftFDe0IlgQfuf7S2WliAuNY9aVYwS239kX2irboVtMFqJszpfxsSp8qaeHM6NrjEiLbpFu30Ld+Trc+ApQvmlX14pvfXsBLXscdUm8wEUNz+YvCnr/27H+rz0nce0TxF9ZlP9AbggiSYHF4amhckYjhps= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ahpZQs+h; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JwtEZMQc; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ahpZQs+h"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JwtEZMQc" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPhru134476 for ; Tue, 22 Sep 2026 12:58:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= XZGjRR4bE84GpahnnVxSpqzzsPWMTO6jcs8PAfT5Of0=; b=ahpZQs+hgJ4BnWqy r8zDxs3duzjY3RBW3GAIJNncaKRe0LvW9yrJhn+ao99tuVzozHn4/h154+nZnTcF U7b99wBu9IGObJslPHDGA5Trpi08MonY4f9+09ree4qTCKP080G7RgV3nv6bkm1b a/cLQQlRMmazgwTAypPLTnbwaFb3fTE//UPo6xy40rlHoZf7P4/1TckVB/4hrUnt XxpE60a0jtvGOsqD1bR1wnM+CWdzqsIP7Rd7MCMia1ChXTtZF5vDHlMYLudJOWAs zjB66mP4yRaBw6ZVeV4kgvney6Q9B56n3YnJu6WBpHNSdxTroLaVMBDhTt5zAWsE wj6IIw== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gujkja0f6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:18 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-5c83007a11cso1347907e0c.2 for ; Tue, 22 Sep 2026 05:58:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081897; x=1790686697; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=XZGjRR4bE84GpahnnVxSpqzzsPWMTO6jcs8PAfT5Of0=; b=JwtEZMQcDtnRnXH705APLWDLWBJcxRlnDuyhh26e0dqXdiNMSZAEjqHwAQON5zhZWt lZvskgaYPbnxBIbdUP9dvS1xLXG44PhDF2A8AzRF89mG1df1F1l2UG22kn64n+T0vqaP whtAEX/udI9yzX86d9aIJivGgJVDl5/q2vugIL3IQiN9TvOuKNtMVAoGVkNokRPW6GF6 SRi/nK8Q0r3qUCg4vyxgE145ACWsH4oj1W0bN2g8icVJIBqky48eGNKa9rNKsOWAc33z q8k3xfNH1CgT9o2J4Fbscv814jU9c8QnpTiVGPQsU4ade4uS+DgVStY7EHlJmYCBo+s7 dLNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081897; x=1790686697; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=XZGjRR4bE84GpahnnVxSpqzzsPWMTO6jcs8PAfT5Of0=; b=my6Gk9PF4Xu3dNr3PXULCFp752XplWsSCb9D3Cfo4+j+2dxoV3IO1idCDzGNHSVH6m vSjpTTWd28x6nhrTBrcTf+Js0pSmqW6s97IpQ71fCU9tx/BFzswjlVy2StQ0Lx/4EOVT YqThfPZ/zL6J7P79YZfYRlCEBIKAos+ACmFFaljby2mFy952fodswe0pcaTJqyI+bhFy WHFHwr7rrkzMv0RBiCXlMFxcxC3L0jH+9mua6EKsyTo7p4dEeu8svqsmqV2W4v9SrxA5 DXNvgoVEMgSyUE0U4pRXoZ5S+asWUIe34yV0hrItd82ROXEpeseN6inuREYSjnP6hQFR TNdg== X-Forwarded-Encrypted: i=1; AKwUvBzGJlcqX3IEcIfQc6ZRLBdtPmZYper1aV4VVA7T5uxuA0tQ07DY6PEeqqkMHAEvByHjGs+xdBuWcMxkVl4=@vger.kernel.org X-Gm-Message-State: AFuF++mVjwpARvP9p5px5qQnZvOcMnvdUxEfNSPvndWGVM8++tdOp24R ZdoEgT7kjCQTaTWTX1b0uIDwOkPDwSsZkAKZUV1tg0qxiM+Bg5akyaq0CMqu09R2j14NXK7T4IN o6saRoxxMJ595QVs3kbhqrBRbsB9QNHf0zHSFpw2+2vIuSvg9sRHwORwZXtSfUhEeK+s= X-Gm-Gg: AYBFou1dnozgCJ75yFUF3lHXeWd0UpG2tfBaO0caDbFoHnRKajIZQ5gOb8y4ZjEwr1/ 3UQAMhZAyYHNEQOuntaP1xzjR4gW5Nn3pTJS1em7M/IGIcQAAdHL8B7B1NZ5VaTvboRvXoPclpk fMHPZ2HeZG1rp37RRZ2iFWqdgdOXeXILyK46y905zwyLf3N8bqiqL2r7dg9N2mwgUB+StYx7czQ rds4AkhOWo6McgF8zMw/DxETniYw1gnlT1qVhOlphD9/COIIaICun6HbeFzvJ5kgTkIjd/BUd4G fY/9haG6XdC2/DeWmeCITVx1Sxc+XiKLjsI8sEg0/g/uTU88rKvxXnk73e9PwAjNP6w+K3eYMoG LQNStZp/LAwGcZKBc7PXPJcvYBwM= X-Received: by 2002:a05:6122:3b82:b0:5c9:a60b:e5d1 with SMTP id 71dfb90a1353d-5c9b5a027bamr7763473e0c.11.1790081897200; Tue, 22 Sep 2026 05:58:17 -0700 (PDT) X-Received: by 2002:a05:6122:3b82:b0:5c9:a60b:e5d1 with SMTP id 71dfb90a1353d-5c9b5a027bamr7763442e0c.11.1790081896818; Tue, 22 Sep 2026 05:58:16 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:15 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:27 +0200 Subject: [PATCH v9 12/14] soc: qcom: add core driver for the Qualcomm Crypto Engine Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-12-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4833; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=SZ2dL8TwrDpPKl/RZfPPK/8ppxvf49E+FLMHDVsmpq8=; b=kA0DAAoBBZ0uy/82hMMByyZiAGqye0CjFATY8qRJUxSTrr+MR4MKk7y483DIvvUdG+Xfxslmr okCMwQAAQoAHRYhBJHlEy3ltUYde6Jl/AWdLsv/NoTDBQJqsntAAAoJEAWdLsv/NoTDvU4P/0g3 ScrXNMzcgD5Nubh/LB92lMnZ1rh9sko3oqFnLkywoIYzu+dXEHCsh0HNoLTm9LBrYVIfqORos20 GOD9KHsJotIc2yMiOHjoH9dr39j+GzkJm8y92uwHnpNa93AqIWsA8bNxewRQ/phrWXmRR+70wv4 in7wuSo43KCEVNthQmYq5KBZ7fx4QWWQdaf3zqFofAp2JFAyvmNolIpDFwWvQPgUoB05XR4v5jv mz0Ek21ROJwdp57risy8zPZo87UpZqTgJyLmOqP5MdTD33Go1oGBlR6OXmuwRnIPrtN7Wwap6IJ QaXedjpXY+4KNJ9wsdpTa2qFFf+uYtmL+PR6qWVWYUqEsN8JixE9OktyCjRtTOv4HBQBhJOvr2a RapYdU9sxLiqFG2M+gZGd2B2LftOSnfBtRFunQeQYlh2J9t45Xp8NfZb/KmDvX+ClrtREcTmYR+ 3ewRVKu2UQk8zhYp4RQAwsK819nh7g5pm8Yxjb4zxkKFKdKsD5jcM4EKeIKSTqmZloIq4DO0ZxU +Odwwmq9UmdDVe9BkW+LXyrF81aTPbvCSOPNpzbukfcKbMcKpp0xBPedT3EvyjvVreuaMVBQ+sy bgkq0iKWdvrO7te3KaCtD6gOk9RL53zSCTAvAupyuiDRjeAWkgQ4fhiJHg/zK/9hoZz9oyyVrbY NNBOQ X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: n5RNZqIlU2IAhuDzmfWv622GzVvKNDQ6 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX3g2o8hA32nK5 G2B5lYS9x45bnxCL4b9iSC0gGheWrHq02zLU4u2pnyGD7l4RONtv/tBZ6oLS1xrfxE/2QZXFSlv NKQFmSMOFKIsFlVbmFwcooNCc3nlCOttrUGYEXZcW+5wNpQPceC0SNWTmwdy//tClsM0JxjUWWL YjhY69Nr6zyZfX6BigudMWL4RfVRLQjemwsVn6xvs4Y4c0nVWUHg8QTsrSctUt2Ui5NaLgQTXZd VPBSFIGx0x4/CCFHe9z55UO8tZrqO1J0VfoBd14e4CizvA/S/NPvDIT/LndtJJyb2wEMXG22YNB 80PaE4Y/yMVyqZAZcJqUunA5IRwtI6fS4FFjXzo2RMsEzYQIVvzTYlFvrWq9wd6wlbulVxneNL+ /iucrqHzbd04CVnhUsj1d1H2UKwp3pzN6h2oEiqF1kNdPXP570kPA3rRwg+FQ0IRizSobRZWHLJ N/QxDcC406gOy27aYYQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX8GzF8z1H5bwm ov26Kq9zdP1uHned9XKME2bb2cBghR+0Jb2PVNJ7I0u+NOJuCFRqrVirqZ2BD0mQiEKcr4TKbr/ fTxxA9+V2GtCmQIcxHJ8S2hBcvyivkM= X-Authority-Analysis: v=2.4 cv=SuAFe/O0 c=1 sm=1 tr=0 ts=6ab27b6a cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=EhY2VP3nYDlqWzrqXREA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-ORIG-GUID: n5RNZqIlU2IAhuDzmfWv622GzVvKNDQ6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 Add the core driver for the Qualcomm crypto engine. Its task is to bind to the qce DT node, set up runtime PM for interconnect down-scaling and register the auxiliary device using the crypto offloader driver. Signed-off-by: Bartosz Golaszewski --- drivers/soc/qcom/Kconfig | 11 ++++++ drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/qce-core.c | 92 +++++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 104 insertions(+) diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig index 2b524154d9fb331199fb162e43b0acfc03eced6b..859835a3dd1d98d1e4099f708d7= 5f36ca89d3f3e 100644 --- a/drivers/soc/qcom/Kconfig +++ b/drivers/soc/qcom/Kconfig @@ -122,6 +122,17 @@ config QCOM_PMIC_GLINK Say yes here to support USB-C and battery status on modern Qualcomm platforms. =20 +config QCOM_CRYPTO_CORE + tristate "Qualcomm Crypto Engine core driver" + depends on PM + select AUXILIARY_BUS + help + Core driver for the Qualcomm Crypto Engine. Say yes here to enable + the top-level driver that binds to the devicetree node representing + the QCE, registers the sub-devices implementing actual QCE + functionalities and sets up runtime PM allowing the interconnects to + scale down. + config QCOM_RAMP_CTRL tristate "Qualcomm Ramp Controller driver" help diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile index 798643be3590cc8303854658fd483b7807d2230f..33dfef07e7db2c0488b14c78f09= 8afebf689d013 100644 --- a/drivers/soc/qcom/Makefile +++ b/drivers/soc/qcom/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_QCOM_PMIC_GLINK) +=3D pmic_glink.o obj-$(CONFIG_QCOM_PMIC_GLINK) +=3D pmic_glink_altmode.o obj-$(CONFIG_QCOM_PMIC_PDCHARGER_ULOG) +=3D pmic_pdcharger_ulog.o CFLAGS_pmic_pdcharger_ulog.o :=3D -I$(src) +obj-$(CONFIG_QCOM_CRYPTO_CORE) +=3D qce-core.o obj-$(CONFIG_QCOM_QMI_HELPERS) +=3D qmi_helpers.o qmi_helpers-y +=3D qmi_encdec.o qmi_interface.o obj-$(CONFIG_QCOM_RAMP_CTRL) +=3D ramp_controller.o diff --git a/drivers/soc/qcom/qce-core.c b/drivers/soc/qcom/qce-core.c new file mode 100644 index 0000000000000000000000000000000000000000..8a9d070935cc87eaf20ae2db25f= 304cf4b2694c0 --- /dev/null +++ b/drivers/soc/qcom/qce-core.c @@ -0,0 +1,92 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define QCE_DEFAULT_MEM_BANDWIDTH 393600 + +static const char *const qce_core_aux_devs[] =3D { "crypto", NULL }; + +static int qce_core_probe(struct platform_device *pdev) +{ + static const char *const *subdev; + struct auxiliary_device *auxdev; + struct device *dev =3D &pdev->dev; + struct icc_path *mem_path; + int ret; + + mem_path =3D devm_of_icc_get(&pdev->dev, "memory"); + if (IS_ERR(mem_path)) + return PTR_ERR(mem_path); + + dev_set_drvdata(dev, mem_path); + + ret =3D devm_pm_runtime_enable(dev); + if (ret) + return ret; + + PM_RUNTIME_ACQUIRE(dev, pm); + ret =3D PM_RUNTIME_ACQUIRE_ERR(&pm); + if (ret) + return ret; + + for (subdev =3D qce_core_aux_devs; *subdev; subdev++) { + auxdev =3D __devm_auxiliary_device_create(dev, "qce", *subdev, NULL, 0); + if (IS_ERR(auxdev)) + return PTR_ERR(auxdev); + } + + return 0; +} + +static int qce_core_runtime_suspend(struct device *dev) +{ + struct icc_path *mem_path =3D dev_get_drvdata(dev); + + return icc_set_bw(mem_path, 0, 0); +} + +static int qce_core_runtime_resume(struct device *dev) +{ + struct icc_path *mem_path =3D dev_get_drvdata(dev); + + return icc_set_bw(mem_path, QCE_DEFAULT_MEM_BANDWIDTH, + QCE_DEFAULT_MEM_BANDWIDTH); +} + +static const struct dev_pm_ops qce_core_pm_ops =3D { + RUNTIME_PM_OPS(qce_core_runtime_suspend, qce_core_runtime_resume, NULL) + SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) +}; + +static const struct of_device_id qce_core_of_match[] =3D { + { .compatible =3D "qcom,crypto-v5.1" }, + { .compatible =3D "qcom,crypto-v5.4" }, + { .compatible =3D "qcom,qce" }, + { } +}; +MODULE_DEVICE_TABLE(of, qce_core_of_match); + +static struct platform_driver qce_core_driver =3D { + .probe =3D qce_core_probe, + .driver =3D { + .name =3D KBUILD_MODNAME, + .of_match_table =3D qce_core_of_match, + .pm =3D pm_ptr(&qce_core_pm_ops), + }, +}; +module_platform_driver(qce_core_driver); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Qualcomm crypto engine core driver"); +MODULE_ALIAS("platform:" KBUILD_MODNAME); +MODULE_AUTHOR("Bartosz Golaszewski "= ); --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 2D4C454EEB2 for ; Tue, 22 Sep 2026 12:58:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081904; cv=none; b=in2x9fh+KXeCUR1srQ+eIUR4jG9e8E7bSDXAg6PG7A0awKRNjEdJwiHiI5WDNuUSRC3cQqi2baxfhVa3c3FznoKIL9PTbGU90bN1DzQTyO/Hsw4523VTb47aVJ8OeYiRI8S8FQLOAzly0tTzT6cCIX3OWoWQ79mm33yMPaL4kvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081904; c=relaxed/simple; bh=ji7o4kGz34cmVqJOSJOjQ8rHVe1A4JqseoZChXshzjA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pYQ5wzs8mMPjxAYABDoXTd3MIFI68FWSxH0dPRZT9St5nm4C2lKNcR0e+P5sd/bQoAfeMbJGbtZAemDOXQ7g24jtkEOkDFAaIrV8ucaaEjdZu5pRn+AYFaAcprmxZi7vwPSmPA7mNveZAvJrm8M9EpTrankLMR1TUEzLN+G8oV4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=TYFN3Rj9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Viuqi7Yc; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="TYFN3Rj9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Viuqi7Yc" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPgY1134464 for ; Tue, 22 Sep 2026 12:58:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= gdQOWdli3leTGKHPsnF/A7t0W6rlUUzFDLfpE5R26M4=; b=TYFN3Rj9nbYmcuo+ CQZO2Gc0LDvB97lIWN2+3qtDKRNGrtPfoDup28dl+2vwoWhijk99Ou+GPl1OZbfF ZrYUHeUFuaKIMPbCPDKbSxy7V7pdM7dywlnvftb7mcF5RnJz70QSkURyVdNSGrrK 4GTCT6psWzp2cQOa3dybij6E5NqQ0gHUarikEwfE01gV3L632efFU/BLG6/dodYE xIX1G7Brd83b959qzHs/hWo66EoFIc4rypgorleR8QjqO3DOIph2nHwmPzyewO6Y GUfAJj0d3W/B75woNe8MOG82i8PV4TuZRrRqQ+LDpR+UVHtoGwXLiIuKkCHLC1Bv bKA4qw== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gujkja0fv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:22 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-5c96449cbb2so1263713e0c.1 for ; Tue, 22 Sep 2026 05:58:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081901; x=1790686701; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gdQOWdli3leTGKHPsnF/A7t0W6rlUUzFDLfpE5R26M4=; b=Viuqi7YcEKkLLqwJKhs/FXGc9Xl96cjx2e2wT05U7L3/VYvU9tXLgRW0nRejAMlN25 fzJGQhHsSMCvB2LuIJqgX7u4ygQlLdOfuiME9O3WZ+rhmYzOE/4cqYLqm4QYEgqITsQw qIjvTj8TjzdUT/qgRKJdbvrDEg+bNcFWt3KD6ZUkvATFQoXTLdpj16rGvYprZ7m2BF79 EadYeuOQcTlp084vSbMJTZl0vZhmNo1911bD1m+atSirue1DAic73z//k9V0XUAC3055 Gz+jYxYopjQunRCZ0gQXFUxojLkxo8BUQKfoBlc1N5UpQFeyQddJYA42Sb5obyItBv1w +k+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081901; x=1790686701; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=gdQOWdli3leTGKHPsnF/A7t0W6rlUUzFDLfpE5R26M4=; b=sfB4HWoXPoKwO8MtqwmEKOrZFXkcWFkej91atzbI/C9Scu3okiaTmiQGuOj7idfmFF 1FfyD6qSXGEEWQzrkYH29wPK/jjzTvkQYgwspGKvQ2cZzNOF8epg+OQ8FevAN5Ab2A78 Tg8JLDQet/dHnf0Vk+bxkmzNA+JxvNO3vwjokEfc0nSb/9arHZh84Iqpu0liUl0LNHHc KuqHKiZ7/jlK9xK5gnQAK2HAo8l+hnU5HeuERl4uVfxtAJ9nzvZEaUFe9DQW/gUeC2Dh ffe15eA8+0a9CCLWeKbIwfJRyRcQFVYQGKFChuo0sCaLzjBUzWJy+BdktFP67befxE/q GfEA== X-Forwarded-Encrypted: i=1; AKwUvBwBdKNHbwvdXHsYME0ePsYkfSiEug0EsQDbLUByYPeWNKd7Sv14nH1UNQMUK+tYH0JYtXWNO5zkTvB67aM=@vger.kernel.org X-Gm-Message-State: AFuF++lLuQvacTrZ3Kk+c8tp0xZDz1vcTIXyvbgfLmXLnQlfsGpgag6U 4c5yeIelgfpb/UTz8FUEiTrTM4gFP+ZR/0xjt92gaMMuaexT8wOghPMkoc5gwR19Q0WvV35KkkH tXyZSsJOaRbFLDPGQB5ooLv48jEGwB9jarXFBf62pAs684/8+8HRTK7b4TpGpqmJyNauD8qp7VP 0= X-Gm-Gg: AYBFou2Z29qGdtejxckivvULfpbV5VdPeob9VNu2qWPXb5GXA/IaDWbaO3qMyNbqBfb B1hwo8McLSvoB116/2OBaXYmt4SbhHnpMp2+YTyJ2vDThfAyVgU6CQSC8osXg5iU+twG7yQHKRw VRb1ak+RTV8elZGiuqDaZbvXsm0Tj3aNtDo1gqDf3LUIOC/yFH5hV9mDsmZbWPRgBYmC6sQmuMe ckSoOwKfhW7MiSGCvn5D7Cq07gbtam0GuGMA5o0RbpwYhWjumGtvCU3F0om6s8WBFWzDqYLppJv BmflQchgcsZ/An0mxqVcGgF/DBbcxKEtm2z+ZcMH7PrJnF10iiM46SPRMODAUT+jd1iYdgRbJM8 manrp/e/HD82U99uDUV8p/zJQWvA= X-Received: by 2002:a05:6122:30e7:b0:5c5:731b:11d2 with SMTP id 71dfb90a1353d-5c9b5941ac6mr8272814e0c.8.1790081901484; Tue, 22 Sep 2026 05:58:21 -0700 (PDT) X-Received: by 2002:a05:6122:30e7:b0:5c5:731b:11d2 with SMTP id 71dfb90a1353d-5c9b5941ac6mr8272781e0c.8.1790081901093; Tue, 22 Sep 2026 05:58:21 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:18 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:28 +0200 Subject: [PATCH v9 13/14] arm64: defconfig: enable the Qualcomm Crypto Engine core driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-13-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1162; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=ji7o4kGz34cmVqJOSJOjQ8rHVe1A4JqseoZChXshzjA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsntBZe+g9nIUmEpjkGFYbi2XVnb0JwBoWcN0y jLA7FsjUqOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7QQAKCRAFnS7L/zaE w1FGD/9zS9mD6MAL7sm4C/rsUcW5SvYKlJbCC0/J2T1qsC0SdU/4+x/En2iirGXcg8nK8eLFDR0 URYFkpKH7sNHFAaAb/X6Fpnblmsd+qSLlN6UOaARP9SjW5QeVYQgACox15hWvRd1usp9uOXtUUP LLvI5fHP62PPWN7YwnYn5QRLhTEMzQeMO/eOeSrdYY1JteT/Jen6O4BY6J0/xvcPfYkbxv7RY+O npRSFYCxCk2/Rup6FEqjVN9jOukFkbopqOeU6b/iU62Icv/YJnia8FXsBBXWzUQj0swG8NBBZ1V PzaYFhv+0WVM/ASVixkxKCylm53ucCmu1iFcPjaN+36oocp9w1W9svt3d4prcqqnAr/RhcSvKSU UEsCMPY1++j0bv6DMfXRhv87czKaIDBr6qhPWMvd40FtxIihkWNwgcS/53gz3oZKKO+M/i3yeR4 r/obEbKcDaSoWA8olvOProisSg1GaLf7AD7FochOcHD0EPAOk4p4sWhyXns5wic1C7P4EMgkAnZ A2Z8hkwBkUxtHvMoX/XLC9VlofEIlFN4Scbn45YB9q4w/pNDRmSO2fTy8/d8MwYtc16pw+4CNQR 0YhTd73JZ0rCc1c63rNuEquGcfUK9sBMoqYhkVXYr2rgDsLMu6B0YF+vFBm98F/LwCYZFUUduO2 3HAb86ZY2+UUhlw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: oef3ucpdYEhnXk39HSC7Vb381TeSpU7u X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX2QAwvHZ8Ob9f Lk+16U8A6XIhMm2C75WJHfEzq1QvbuATxqwG6wtgU0CU3E+umCu9DTqeExDYXKLzegIGAlLKbcG ZN8SNmtiVtwF9B3RYJ6VY77PJDiGetO0H8dL2lO0mSVHNhnWlWOn8fpr9Jz38uqiBO+ulO4GIPn lXrmKJ4sPhwd2Z6QssNOAZ082K/nwZEaS5SSt4+UG78M0MJvVbZmLIcwZXNFRv/sIKebwpCaD2e 3h5wx9VNKD676liKsxiUiTuL28hP68HhdOZkPSR8OLCgJK2nmPvwb4V5TpxcbBhmDytPOP7i2KU 3oXhMjjjhgJU8LsmWpbLyggR8QIze+Qtlf7x4MDzIF9TZs6YQEmJ+vSzHLxSSij9Cg3jCAaBu8P kLSTpha7sBfO12CxYsQledp3SNRXWOCj96BK2o+BUr5prmEjrjJh1nE8+ZUF2Oe2MnP7EiEGLfr cNFZyUK1OmAIKUsy07Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfX9Sz4SGzdNd0Q ctDYQtNwIBHzywcXAZFQR3z3Ks2ffNidYpauj++8REpxlXyCQDcoA/mysealz6JxJ4JGWt0xfCE DyKJ4p3Sc9o0p3+8CHD/fLbnyUzS4NY= X-Authority-Analysis: v=2.4 cv=SuAFe/O0 c=1 sm=1 tr=0 ts=6ab27b6e cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=QftN5WpXeUmWSfsFEiEA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 X-Proofpoint-ORIG-GUID: oef3ucpdYEhnXk39HSC7Vb381TeSpU7u X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 The QCE core driver should be enabled by default as it binds to the qce device node and scales down the interconnects if no child auxiliary driver is using the IP. Add it to the arm64 defconfig. Disable the crypto part of the driver by default. Signed-off-by: Bartosz Golaszewski --- arch/arm64/configs/defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index e80927f87ff26fe3f51db6409f509fb99ad614a0..760f9e9fb2ae13392563ade5de8= 71a5e882d195d 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1663,6 +1663,7 @@ CONFIG_QCOM_SMD_RPM=3Dy CONFIG_QCOM_SMP2P=3Dy CONFIG_QCOM_SMSM=3Dy CONFIG_QCOM_SOCINFO=3Dm +CONFIG_QCOM_CRYPTO_CORE=3Dm CONFIG_QCOM_SPM=3Dm CONFIG_QCOM_STATS=3Dm CONFIG_QCOM_WCNSS_CTRL=3Dm @@ -1949,7 +1950,6 @@ CONFIG_CRYPTO_AES_ARM64_CE_CCM=3Dy CONFIG_CRYPTO_DEV_SUN8I_CE=3Dm CONFIG_CRYPTO_DEV_FSL_CAAM=3Dm CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=3Dm -CONFIG_CRYPTO_DEV_QCE=3Dm CONFIG_CRYPTO_DEV_TEGRA=3Dm CONFIG_CRYPTO_DEV_ZYNQMP_AES=3Dm CONFIG_CRYPTO_DEV_ZYNQMP_SHA3=3Dm --=20 2.47.3 From nobody Thu Sep 24 15:11:00 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 675C7550DAA for ; Tue, 22 Sep 2026 12:58:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081909; cv=none; b=lKls9RIAwIXaPQqftpl2v1e/U5/ZR5u+TBzLfTYNmy2U6UvLT2v67Z4IA9ZZbtGxn6hQkKncAwqUdhw0NnrC1ZCV5/rQpj0UjCD4anbG8IM5kqF8DegOtjx0S0Qoy3reCSke4/+p76AOhgWh9NQqGmAoj1SAdbF/HdWc8qr+GHU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790081909; c=relaxed/simple; bh=QSpKCyM8sZRrkH8iCybVhH+lwRqWiSeaHHG1sXtFQNM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PN7TploM7NN2OwcdfoXC/SJ9OZAX6+1SbBeYIyIJWuNHKokTXodtWhUNgsgLJFvjPVJDRnBY3uiyBypSmgR+R6THseV+Nmo5t3RBSm5X8V7qx8kJAb60gakOHhHwTe3sjBuegtzUeLNNd5/vk6Gmvlj0J0ZE7wJIBTjvhM9I3FM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=KIWB2lfD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fj8c8h+j; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="KIWB2lfD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fj8c8h+j" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68MBPkvF134559 for ; Tue, 22 Sep 2026 12:58:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= nBjYFzsEvpA7J7qMIXXY1VKcNjLps3zJt5nU9OdLkCQ=; b=KIWB2lfDb+0cFwdu x2xxBtU35JfmUKYkSo6olWVg0R+d+5/DTQt0irGA/hS1cvi0fyAoZeeHgnhnOPSv SP6S5nhJSYU7LK8bhc9GRhsom7SB9F+PcLxEfhLCI37++HsnZkrOeMLGPkZ4pV2G nofTzSuG8KJJmVY50aiSLiLQBIqNg+kjc9lQq9XB5sgYRpMQkSkMUNleBGyUbDGP UfO15gved1vD87/R8mwApX2d2YwE8WRefjln1UVeiS/awmC+KXTmc1j5AyY2mzgB pwQsf6/SPZdIiRH+5HBOrslCcLNRJ3YsoYPDy1vYILmzMi6WL/a3UVwaeswdbx5o EUD6Jw== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gujkja0g8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 22 Sep 2026 12:58:26 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-5c82cf2652dso1100362e0c.1 for ; Tue, 22 Sep 2026 05:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790081905; x=1790686705; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=nBjYFzsEvpA7J7qMIXXY1VKcNjLps3zJt5nU9OdLkCQ=; b=fj8c8h+j2uK24xgB27rhdHwLKo9gqXygSeqS1uHL+AjDQEG93W6NGZcXBh6a9RlyZn o6kAT/GkVnYYCv53grbiqbwS4WV+rOulodHgacWI+46bONBSq6lz8JR4ElROorLq29ZZ EiZfFliGUal5WFvGrNsY3gVOLOpvzLLijPi0r+Eoa4K5szLH6/983SD/FGXG7CaqksO2 zcslLAHIfM6TrGtE6diVpASnQk2jnpMhGGYlz7ztuKL4pJqzeIbo4EE6hjZ4YlNhZcKa u5KZbAz1Zu9XWjINWYYa2Gnozs9YNGXzKJ2NPiAdMwcDsva9PeByPTWZCKMPQzH1N/dP kSgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790081905; x=1790686705; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=nBjYFzsEvpA7J7qMIXXY1VKcNjLps3zJt5nU9OdLkCQ=; b=rn//s08hLoPObXqRTkmqA1p22k/bJ7i6RvyYhHcriJevlPW9Hrm3A3g85+36foc01T 233xWNZgdpIe9auBOAw7NExNfjbZRnqDU8LJRykfGnjaJpXrLBZCL+BQV85Nx4lJmGMh eBBrSCq3asXZ8kQKRqd3br4JdITQFLbR+UT7oNo9JdddWWln3QbEp99k5x76eOVGkjXD U34mnpAC6Bs++owlP25h7tUw/PggJg53MfO+CrYkJKqO83IHI7lX3SSzB5rNK779RW8x GTsPeadKaUXb/Nab09rLV8QBOT4vTq6vv0GJKOcjVl8PXEO2PM+6Vn+2IP4T6LSv5V2L kY1w== X-Forwarded-Encrypted: i=1; AKwUvBwF1ByGCGwqm3WfKiZa6DBpNIZBXIYnrXzEzkSBred5/RgUWZe/Py9LdXOTRowu6UskT78BiFe/e4FbDaQ=@vger.kernel.org X-Gm-Message-State: AFuF++kJEyr73yyRLB5iAEp+Jf03+JOuqIDJHtSxnOgkhVV9SF6NfP5S HEJbjyRPZ23T4CMGVEyJY7BJTgPscDRxptbwfClMlwc7n70+ZFk3qjQgxt4CsIKRkCIUg5p5DXQ uzYrK+JoRSJfMmXcl8wn4GVDmcgjCr1h/q/OyIGYLosobsuqCybkv4sF0oKD/FMMNlDM= X-Gm-Gg: AYBFou39itmieBk3SEA4MFUE7N7mKOrI/K9Zr46V2D8M0qpliUq16tWuLdmrB2bWeiL 8joXXz8rO/iRAIXKGImDMnia/zqjs29W8023fAcXw/UyB+jKl+v7a3BlubPTmvtWfpFnojSOb0S gCdSwfw8XmnYA7YOv+EIa13u9JR0Me67rrcJdloVQZHxOo/JDZuYPOuRiT+vLQmjuma9a15LWJa ZjJ458nvGB8GGFzE8wKr7M8U07mc5kczq/NGubBx/obORtVhYrwa7SJaLFMN1mBKwkmxu9at1aa DB9NNe/GmTSeQ8sN2Z+NpFZZJDigGxw1Z+c3HYB2qTr+4umzMrFF9xZWjLBeAqP6R7npcu21abV WNz71E+mk/AbRE/Uyw8S7f19roA0= X-Received: by 2002:a05:6122:3488:b0:5bd:cb34:1b70 with SMTP id 71dfb90a1353d-5c9b5885d0dmr8002431e0c.1.1790081905248; Tue, 22 Sep 2026 05:58:25 -0700 (PDT) X-Received: by 2002:a05:6122:3488:b0:5bd:cb34:1b70 with SMTP id 71dfb90a1353d-5c9b5885d0dmr8002398e0c.1.1790081904775; Tue, 22 Sep 2026 05:58:24 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:5105:ff9:e148:c440]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aaa4537b5dsm1097669a12.30.2026.09.22.05.58.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 05:58:22 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 22 Sep 2026 14:57:29 +0200 Subject: [PATCH v9 14/14] arm: multi_v7_defconfig: enable the Qualcomm Crypto Engine core driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-qce-fix-self-tests-v9-14-b1aa742e79af@oss.qualcomm.com> References: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> In-Reply-To: <20260922-qce-fix-self-tests-v9-0-b1aa742e79af@oss.qualcomm.com> To: Thara Gopinath , Herbert Xu , "David S. Miller" , Stanimir Varbanov , Eneas U de Queiroz , Kuldeep Singh , Eric Biggers , Demi Marie Obenour , Bjorn Andersson , Konrad Dybcio , Russell King , Abel Vesa Cc: linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, brgl@kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1209; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=QSpKCyM8sZRrkH8iCybVhH+lwRqWiSeaHHG1sXtFQNM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqsntBDvWlAS5COUQ03+xkA7ZHypS6umrEDCSLI dauC7+6RV+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCarJ7QQAKCRAFnS7L/zaE w5M7D/9iAIzuA1TTTvPNYfwed+K8b9oNDY7AYeVjsaB8CFqotIsA6/0mHPhKJK+5Hfw1vJsDUuG +T/6tJ6s0VeQwHtm4tvaA3IclmetEszg194gkPMmwQuB3vZZg08vCzYGHdhdPoEgiCMlZMZZtwU N9FMutmW0TYuyNQnnRr1Y9Uu851x6CXd7mtCtWnbYig0l9vy51bxeAlvnf9oP+zLNG2lnZrrFsb KjYVdKKwcJkStEndXYI3xs+A5Vy7IrC6uNl8/mCvEhG2nDU78MdQQJHyl/bXQTBfe0hlcnj5P4a haLNPfj8ZFriRf5nyJMyQp+9tUzgb46QC3N2OA8nfWEPY5pAS4NSsNfbt9WL+K8Zi01x6MGb5n2 A51heqkbr/eaWBWe8t4adoh0HzAI8bJ7K58F/r5cenefTp5oQZXvPYJMhjQKB4vCw8sWQWeaGCo vWlU2e2dZtIVO+DiliLM49lh4bTjYb2GTYehD6UYeY6B5oZF3bTrYe3NloKVeP9/w7rDeFn29TL tsDl5CjBs1Rl7TmZT6smB1ilKmrOdYhE+XbhXagelH449cu4AsP5Jvbxbt5zvVttUe8y+c09wau KrIVtBgd25rJ4al+Wjq76Q48nRBrLX3reAbqKAnobFarQzUwhbo63tx0gDXBxVDq5fL6SIAo6pE autPbDIl3pPryvg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: cyNfqgZUb2tIuVeHAY-0py-VmzUctpFt X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfXxb/RDSEdYH40 NQuAhbronUiuM8R2HYGxO1YpOE/NR8uoMKofRBsHP9U6TgcaOmdouztWbB/RiL+i4OENsehye9a Y5nnVvwOD6tV7AHHIRsPmIj0bonB7xahhw/fcPIfH4hk+9cF7qTSddvA/txxfUIfa8qovQa2j9q 3gDgPXj+gLyUroS2VmOkm/uBsGihPGp8+hGIuJIHHyAzCHw6TfCNjBBSbufDYDGF7hTQZWTC4md U2DHIo6YvIJiSRfK9dfoYgLdF0+tdu/iVqS+sG8tUncUgqMpY6B/sDsyT4T+iShwBycmvQzGPtC aVM+Pg+CsaXNPxLGunKRoVPr+iPAnYVdrWO19ZypfrvCJ3vndAV5XNyZAknhAaMk/iVzpCYjza0 YsHX2IQo/PfTpt5jJXiNavx9AeBArv+P2i6uaWp2KQF5e4b4x5eGhyiQiZ7z+T/YTQ9eMV2LiM7 wCXMtM8lhKIrRmQ/DBg== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIyMDE4NyBTYWx0ZWRfXxhqOqYa1v5iH Uxx4t7BoTp78lKeAVUZlQBjlfEbX64oGu/TbYV3utPBhns55pHAqsPjkl9luggxsuIrzPc+s5Qo 5qeG9YWQ2oJ4HVtK5ZtnMUiybIjBjGQ= X-Authority-Analysis: v=2.4 cv=SuAFe/O0 c=1 sm=1 tr=0 ts=6ab27b72 cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=QftN5WpXeUmWSfsFEiEA:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-ORIG-GUID: cyNfqgZUb2tIuVeHAY-0py-VmzUctpFt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-22_01,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609220187 The QCE core driver should be enabled by default as it binds to the qce device node and scales down the interconnects if no child auxiliary driver is using the IP. Add it to the multi_v7_defconfig. Disable the crypto part of the driver by default. Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio --- arch/arm/configs/multi_v7_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v= 7_defconfig index 2d6292f8cab39596b540084fbd8b30f4c25cd4ff..7750b11f80312bf6a6f0fb27631= 5f32f8714b4dd 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -1150,6 +1150,7 @@ CONFIG_QCOM_SMD_RPM=3Dy CONFIG_QCOM_SMP2P=3Dy CONFIG_QCOM_SMSM=3Dy CONFIG_QCOM_SOCINFO=3Dm +CONFIG_QCOM_CRYPTO_CORE=3Dm CONFIG_QCOM_STATS=3Dm CONFIG_QCOM_WCNSS_CTRL=3Dm CONFIG_ROCKCHIP_IODOMAIN=3Dy @@ -1323,7 +1324,6 @@ CONFIG_CRYPTO_DEV_ATMEL_AES=3Dm CONFIG_CRYPTO_DEV_ATMEL_TDES=3Dm CONFIG_CRYPTO_DEV_ATMEL_SHA=3Dm CONFIG_CRYPTO_DEV_MARVELL_CESA=3Dm -CONFIG_CRYPTO_DEV_QCE=3Dm CONFIG_CRYPTO_DEV_ROCKCHIP=3Dm CONFIG_CRYPTO_DEV_STM32_HASH=3Dm CONFIG_CRYPTO_DEV_STM32_CRYP=3Dm --=20 2.47.3