From nobody Sun Sep 27 02:19:23 2026 Received: from mx0a-0002e601.pphosted.com (mx0a-0002e601.pphosted.com [148.163.150.75]) (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 9F46E43BDA0; Thu, 27 Aug 2026 10:58:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.150.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828341; cv=fail; b=ulmLmn+3PKQ7YNizmHI7juOPlGyGymjMgS12NZNDMiT3DieHNetmGKoXmyJjGOXnO/4O/kFkx97fcncsR/Ux4xy6VFsNievB913sFpklrkXP6J4Hxgawf9ERvuzhm6lWjCaAHZFmz9zU0JJiMYfxFXfRxgYGld4IYinG2ZArb1U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828341; c=relaxed/simple; bh=zsXxnyFtUFm+ltsR0elmkXSnlJzLQBqFYrZ/YLzZCSM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HcjaA8O/x2PsNO0nI+xlvndsPveZn5MgKH33p4h7ijbJcfZZezUQ9bLP4LximloC7rezRUNBa0JeKt3kP3NKSIMJrkfUAtn5jxc3RM0fJw/HGp90enBYU3cHnJM7lVGfDR5iY1gVHRtVODYV4rqVoE1BvTFIS9G0IlvwUD1YL34= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b=ZeHD7v4c; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=YU5+QbUe; arc=fail smtp.client-ip=148.163.150.75 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b="ZeHD7v4c"; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="YU5+QbUe" Received: from pps.filterd (m0384305.ppops.net [127.0.0.1]) by m0384305.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 67R9Gvuf1734792; Thu, 27 Aug 2026 05:58:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint-05-2026; bh=TWCCGasCg9LijBnwau2Mn443Y9RHfyLftPFqNAVUD nI=; b=ZeHD7v4cDRnnFeLNVAL9zJbA7f7GMDQ7SuoQsSJ5I9VM5JDnb2NyYTawN N2md4OtvUn2zwoKolSkpmldnccTlTl6ykRncozcP7wu7maaLImofLIQRo8MwULsd yA4UG+TXvH2nhgvPM4eYA2EUEAUM6XMaO4j6nWTrzohKSuJmKQhNoXWa946vHIJt fhXg9m5n78JRBIcSQT4+1suojYY7GP52Twf4qpe6oCEFJySlYbJtY5x4J4ZBFr+B P4ckceulN1ct1KGmjHrQOPO7uYu/dwbZnXBbA8RhXyyqcncR5nwqR07C6A8CBNfp yODy2HqkQTv/jqdlhEJ1mxy0Rns8Q== Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazon11011006.outbound.protection.outlook.com [52.101.62.6]) by m0384305.ppops.net (PPS) with ESMTPS id 4gad8sa1gw-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 27 Aug 2026 05:58:54 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tRYuqn/7Ib743CyqA0voeCT4GsB9NFOK0/G0ku5FIg2KjeeGo7wX953sydgPzPQBC0ahmEAK3cyw8cT+pZlbRmeodDCdAcZmvTQeT2SbexPxz7WILXiuwcVK1JzkJE9OZCkckIIPR/6eLWt4JicHb/zlMGr2B0Fy9M3hnkQ4NguOyZdpiwpuH4/ymt+K3pYwYC4ckedQbAvo3QHx+HvcfpNHb4dJ4mNzHEqehSBe9Nxj6zeq1YcyrHnb57fJfyMcC8EnhZ3nb2oma0CKjYpLBgxtcRDWIo/b1vDUh0insYzHuenSQ3MIP6JTZrWzmDsOfuz52MeTZnU9NOYJHdABMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TWCCGasCg9LijBnwau2Mn443Y9RHfyLftPFqNAVUDnI=; b=UFw8wQEw/erPsw/fZZ206a6mB5sxcNXm5eIDPQlaY8nNER/S7MIaI0E9sakWZ8AqQMoUv1P2kLOtNqVbkwUSB8ShRFHjH8Np35w2fX9VIXxBv/W8eGr2EXThssC0uKgIciBfWHdHK7KEZqrdoTNyXS9HYYBD7jqHG/JL5omuMOyTYTpURAoz5WG3xnqsPuN5q/lOlRaxk+ph17aYWFSToS4PWFnhoJ2M68yAuJojeLJZZ/a+qrU0loShwx2D4l3bG1ucEGekmvtxSwDHzel09l9ApDpG2L1EXcF4RxPtDmJsrxqyYtaudarOYc1OYemxV2O1aHB6ja2moZL3XO8lmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.21.195) smtp.rcpttodomain=gondor.apana.org.au smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TWCCGasCg9LijBnwau2Mn443Y9RHfyLftPFqNAVUDnI=; b=YU5+QbUeNsw2h73/Bw0KOEIHS5+3qd/sXN9DHau1ov34wPn+pAY1JgOHNCOfYnrU+lLPLb96tY7YTfvLLAhwPULCq0Ak/CfMOTfNfrpxwFSEkTNg/bM4voQSaT9YTi//IL1AawIJtIwkxHKS9iZpXvFXqgnTZqpc4FsY63H4xEA= Received: from CH2PR14CA0027.namprd14.prod.outlook.com (2603:10b6:610:60::37) by SJ0PR10MB4589.namprd10.prod.outlook.com (2603:10b6:a03:2d0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.8; Thu, 27 Aug 2026 10:58:52 +0000 Received: from CH1PEPF0000A346.namprd04.prod.outlook.com (2603:10b6:610:60:cafe::5c) by CH2PR14CA0027.outlook.office365.com (2603:10b6:610:60::37) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.10 via Frontend Transport; Thu, 27 Aug 2026 10:58:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.21.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.21.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.21.195; helo=flwvzet201.ext.ti.com; pr=C Received: from flwvzet201.ext.ti.com (198.47.21.195) by CH1PEPF0000A346.mail.protection.outlook.com (10.167.244.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Thu, 27 Aug 2026 10:58:50 +0000 Received: from DFLE203.ent.ti.com (10.64.6.61) by flwvzet201.ext.ti.com (10.248.192.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:26 -0500 Received: from DFLE207.ent.ti.com (10.64.6.65) by DFLE203.ent.ti.com (10.64.6.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:25 -0500 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DFLE207.ent.ti.com (10.64.6.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45 via Frontend Transport; Thu, 27 Aug 2026 05:58:25 -0500 Received: from pratham-Workstation-PC (pratham-workstation-pc.dhcp.ti.com [10.24.53.205]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 67RAwOoF694530; Thu, 27 Aug 2026 05:58:25 -0500 From: T Pratham To: T Pratham , Herbert Xu , "David S. Miller" CC: Mert Seftali , Sebin Francis , Manorit Chawdhry , Vishal Mahaveer , Praneeth Bajjuri , kernel test robot , "Dan Carpenter" , , Subject: [PATCH 1/5] crypto: ti - Use list_first_entry_or_null() in dthe_get_dev() Date: Thu, 27 Aug 2026 16:27:07 +0530 Message-ID: <20260827105711.527182-2-t-pratham@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260827105711.527182-1-t-pratham@ti.com> References: <20260827105711.527182-1-t-pratham@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A346:EE_|SJ0PR10MB4589:EE_ X-MS-Office365-Filtering-Correlation-Id: fe74402a-d976-4242-9b14-08df042a2d52 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|23010399003|376014|1800799024|10067099003|18002099003|22082099003|56012099006|13003099007; X-Microsoft-Antispam-Message-Info: 9BpNISv4lWhLe0WBDRLhK81oRSxKYr/4VLaNvX6JUIY0wSe2sIu7ofgyFn5RH5VbX0JNQEfPKrD4IzpDxbBxA0IsuYTrUBZiLC1UniupyU3dAvozH5RZfPVoG3BR1XwSmKJexnTfn4m49i5xjQPmrwOMB8lf83Hdz2qFZpnoLu7WsOiIGLTfjX/DDTde59Bo6+hvxZTKqgEpQ/5X1J7/xe2oIriJ96x759wDf556seQooQIcJlLHet295jRDnL9NpZrszvAk7cw0qgvAuOSZxzusiCBaGIzfLWe+/p8QAPPtkRSmv0c3ZXW48WY1lemsQO6bPf5xaOBSKBZH2mQdHrnehAOvY3r04k0bYtHwHA+6HTtnokaUruiPP70aNdTiz12QsDn9zYYMeB4WV9hN03ceIWUo/hZ/ydY2Nc6gv+osmJJ17rlbfhJYGILKOgHC0Pdy11/owxkrT2yZiwifqpLtg93eSkIRxO3QdXvBsIdeHyA1MkUUOHfUyVaRoiAg9YNMLbxp8QpTb31JdDze2VUIW0t3URcBU4WuInHKUNuEh9E6Z+MSg6z8YI/JsxAsHprvZjTz0csAPEW8HUku60QA28sZj+zTC6ZgpQBtLL/zmjigtMcNQ5dhga5K+VbtTr0kzz872NoD5YaqwuvhVg== X-Forefront-Antispam-Report: CIP:198.47.21.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:flwvzet201.ext.ti.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(23010399003)(376014)(1800799024)(10067099003)(18002099003)(22082099003)(56012099006)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 42KwpKHZSofnlnxmUt9agbzho2DzNoZm3XdlhpJLctRiZy+opOk24CATUXQ0nwGpWpdD7y8BoADc/6GDN8cPytUCrKFUHigsW9PVnyUUv351E9aifYe0cEAzOWSX+6iWGljOZfQGiM8ZomdAvFyd6lqPjSbEzyJ461UL6tm1Ry/R6We4z7y0F3+cFWiG2vdDTMsNTFwvTxDcV1H3sGx8PUoMAWJMmhLEcRcVWDAspVxlqfGSEuGXZ6M8O0fy9PODSGyULlAvcdGNvD4gWh2ihTY07K7X0/uz5vlWDZmfnEXHQlVGo+YsUfaBshp5NWqxPuZg3ZwUtiKcrp1WLg7/qUxwV7Lm4qiM2+Rp/QejPMIeYstQPZ0QzYwrrCJ6JXTvdczgzUHC8UTiRtX8dCJP3W+w5Ps9hgWTT+4VQEd/nFjgE0A5pZtmI1xhvjqdh0N7 X-Exchange-RoutingPolicyChecked: mkyqGEJ3Y8AR43B9oJLTv8gFzNfQWqSFfPLl4UgQXXvHPbQAg6eqbPP7F1e75joF48c6W2y6QSFqd5BNYW9KyABWYopZreUlvR6+TfGKcscLkUzaJ54fFR/bEaxDLgOWelNL3GjLnlQNq+hDdcm487tCou/xoOiGrmeWJaUcOLwE6eeqQGRot0jho7lvEafLjZJGlET+AZwc4sXQPLWhhGo1F7fC4ttVRhPYFtAW1Il5Fm5VmrNNXmwvTznUjNQjAFqxLbgcFSF5s/KvlnqBBkDIQpYmAkat2m2+1+nA9zWZvdXOaf+LAfpbT6kKD0H8uJYfdx1NO4bJG4FdYoGDgg== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 10:58:50.4519 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fe74402a-d976-4242-9b14-08df042a2d52 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.21.195];Helo=[flwvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A346.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4589 X-Proofpoint-ORIG-GUID: PH8CDQnA7biZSa-N_Z-3oF5rrQ7Oywzt X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX9lnBjKoq8URz W0TSWLpixzrUah4w6dDpOCKMbZHYoqbHmi0eQ6S6T2AC4e936W6eDk/0TnV77b1SCZly1e5lzSG n3kAy73Skrsf5w90q6l5jEx0sB7TPRePBJjaYwJQE8qF0wnCJuUJa+K7HMJxYOKf1uOVj+Ap8RS Qw/uASuLcf5vMDTzOt+jAJH1Q2CaKoeQqe/Ex8Cud8snFjYR80SZU3zpnulGV6Op1YHJmfrx0Y5 qt7/7Y/uObzsznu/knCxfn+tA08pB7o50tCh9BiSzNXklziB5Si5Y4+Eyxm0OWtOtlyL9NXr7nM mX08JJejr0SkOu2q2ILXM6DkaF2o2XR19OveazDQrvwlEHRknV7ZeBh6aedjeSI/UC2k1VebY/y qoOHmWbLy2qNuFEDM4GvI+rf8Xxp+E8SkkoUVn+SuHPNI/tSLML2/OTwbqilkQO06lUR+wssEuS W8YqpOpDfweTn2dgGFA== X-Authority-Analysis: v=2.4 cv=TJ11jVla c=1 sm=1 tr=0 ts=6a90186e cx=c_pps a=OmH7RzXgq2BZ7BLjxN5ZDg==:117 a=tJyPKKxUohctrY4NYmUjkA==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Sv0fKeRqtYgA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=taLDd7a_hP9WKsMzeGRc:22 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8 a=pGLkceISAAAA:8 a=sozttTNsAAAA:8 a=wJbimtiaZSj2K1SRI8oA:9 X-Proofpoint-GUID: PH8CDQnA7biZSa-N_Z-3oF5rrQ7Oywzt X-Proofpoint-Spam-Info: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX7iGl5cO8apWY LRwEn+w/KmCaIsV9NL7uqM3TNRSFL7Au1jx9owfpdIIpjrPD3Ndb5ieZuyNJPADGC/TFpkxap3g PwHFUvjBdP0LxdAvW1NhVrUEtiofaKc= 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-08-27_04,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608270090 Content-Type: text/plain; charset="utf-8" From: Mert Seftali dthe_get_dev() fetches a device from the global device list with list_first_entry() and then checks the result for NULL. However, list_first_entry() never returns NULL: on an empty list it returns a bogus pointer computed from the list head. The NULL check is therefore dead code, and an empty list would be treated as a valid entry and moved around as if it were a real device. Use list_first_entry_or_null() so the existing NULL check works as intended and an empty list is handled gracefully. [pratham:] Add null checks on dev_data in callers of dthe_get_dev(). Fixes: 52f641bc63a4 ("crypto: ti - Add driver for DTHE V2 AES Engine (ECB, = CBC)") Reported-by: kernel test robot Reported-by: Dan Carpenter Closes: https://lore.kernel.org/r/202606111933.69GGTKxr-lkp@intel.com/ Signed-off-by: Mert Seftali Co-developed-by: T Pratham Signed-off-by: T Pratham --- drivers/crypto/ti/dthev2-aes.c | 9 +++++++++ drivers/crypto/ti/dthev2-common.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/ti/dthev2-aes.c b/drivers/crypto/ti/dthev2-aes.c index eb5cd902dfb59..c025b08c49930 100644 --- a/drivers/crypto/ti/dthev2-aes.c +++ b/drivers/crypto/ti/dthev2-aes.c @@ -112,6 +112,9 @@ static int dthe_cipher_init_tfm(struct crypto_skcipher = *tfm) struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); struct dthe_data *dev_data =3D dthe_get_dev(ctx); =20 + if (!dev_data) + return -ENODEV; + ctx->dev_data =3D dev_data; ctx->keylen =3D 0; =20 @@ -124,6 +127,9 @@ static int dthe_cipher_init_tfm_fallback(struct crypto_= skcipher *tfm) struct dthe_data *dev_data =3D dthe_get_dev(ctx); const char *alg_name =3D crypto_tfm_alg_name(crypto_skcipher_tfm(tfm)); =20 + if (!dev_data) + return -ENODEV; + ctx->dev_data =3D dev_data; ctx->keylen =3D 0; =20 @@ -572,6 +578,9 @@ static int dthe_aead_init_tfm(struct crypto_aead *tfm) struct dthe_tfm_ctx *ctx =3D crypto_aead_ctx(tfm); struct dthe_data *dev_data =3D dthe_get_dev(ctx); =20 + if (!dev_data) + return -ENODEV; + ctx->dev_data =3D dev_data; =20 const char *alg_name =3D crypto_tfm_alg_name(crypto_aead_tfm(tfm)); diff --git a/drivers/crypto/ti/dthev2-common.c b/drivers/crypto/ti/dthev2-c= ommon.c index a2ad79bec105a..cc02449382673 100644 --- a/drivers/crypto/ti/dthev2-common.c +++ b/drivers/crypto/ti/dthev2-common.c @@ -40,7 +40,7 @@ struct dthe_data *dthe_get_dev(struct dthe_tfm_ctx *ctx) return ctx->dev_data; =20 spin_lock_bh(&dthe_dev_list.lock); - dev_data =3D list_first_entry(&dthe_dev_list.dev_list, struct dthe_data, = list); + dev_data =3D list_first_entry_or_null(&dthe_dev_list.dev_list, struct dth= e_data, list); if (dev_data) list_move_tail(&dev_data->list, &dthe_dev_list.dev_list); spin_unlock_bh(&dthe_dev_list.lock); --=20 2.34.1 From nobody Sun Sep 27 02:19:23 2026 Received: from mx0a-0002e601.pphosted.com (mx0a-0002e601.pphosted.com [148.163.150.75]) (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 A382C4119E0; Thu, 27 Aug 2026 10:58:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.150.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828328; cv=fail; b=qmM0SxZAuU6el9CTLW0cL2/NmMHqfTf5tYM89ZVOQ8tmxVihbeylOf8VCXIt8dgEMvDaYwDjGDeeK75ZWeMgcMkZuFfoElhDqpTReoOJr2ysMoU5inv0Ml+0ONUD8Q3FIatHFkA1jxjxuO2snY1p8AbtPbZerQiO9zLgUfrTzyI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828328; c=relaxed/simple; bh=77QOSfY3LDrt+RqKJDh8Y9peZ3KDrmLxDPni55YCN1k=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=rpVYpoxs614psTGbSzBrsZXwVUxSpSzD0lpdqVsGmdz4oqEEOwOCBWky4o0pYhP/ajqjY42/S7r0GRd8bBZD0OwC9wqEdTwSfODcn4+D8lxgrjgGlfn9Ee73TXNIi+B18Sg8hayuOmdqr2LBXQFAjEgDV+h0oneLrA9tNAO8Znw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b=ClzMld4W; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=qYuhKkBB; arc=fail smtp.client-ip=148.163.150.75 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b="ClzMld4W"; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="qYuhKkBB" Received: from pps.filterd (m0384305.ppops.net [127.0.0.1]) by m0384305.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 67R9Gxfe1734818; Thu, 27 Aug 2026 05:58:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint-05-2026; bh=0gmQABGDkd4TnJbpefbFvpr2MnLf7Y3mgUK3YYHe+ KA=; b=ClzMld4WOzIeaqO3EMBIDsbYXdJMDC46vXnbbB9niA3J3SeuYPc8ra/su B4ji3AgCpET0YPsbEhNt5OrD9iPZZWgo3RhTCvh06tAS7kW+PJdJpfS+yC+A9pdo IL/ejlp1iTtPZaQMK4J5thyP0rMq0OyN3rcDXjLdtitaNoRAxNjIkiLN9z/lAZb7 hduliDWcAIwgeTtP0QR3ozHNWBozUTT3QkvdV3Gtv2mhvfVAJwzALkYz/EMOHf/+ ad7T5H86xy8AH8JMumZZRRUu0ItUtgZmqZXLHIFHJUG7Ki0E2Szzu7rssoUQP+T9 4nZwOmVah9j7Eo6Z76+tJcFpsuFTA== Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11010061.outbound.protection.outlook.com [52.101.85.61]) by m0384305.ppops.net (PPS) with ESMTPS id 4gad8sa1gh-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 27 Aug 2026 05:58:42 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AMs90VvOZ+5W6mWOjAPLUIqXrnq0XcsJ4BufuqhBiiKxVuTR2X/fYq8cXyehMVXmZIl3QdnMimJk7XLY+yVIPNVUeu/atn2UMUaW0jflUVUbKJejBAzdutlsLogZ2kokft89xLAcDpSHv2klm1Qg7oO++3o2OpQZjngKKdzfYuyoUdizxLXORzT57sGjme7p1VJJNJ3QDZ/AMQKcdwOg7N5t/UnlqO2Dk16pgj0Uktzwfoni12fA+vKBpRE0I09LumtBtpFnxWHRujSDnkaJ+/l4MeUFMrKdv5ldR9b77DIkXGFRMfJLsXq1GbNZQuyx8YIL5VIgK5Eir56ETv7Ybw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0gmQABGDkd4TnJbpefbFvpr2MnLf7Y3mgUK3YYHe+KA=; b=IHN0rnYwJ6ccgPszero6wKXOmySf9sLzDEM/rvQbQDlhK8R/LhRq3mjyAWtCuoUB/NDeZ+GvK2E/ARMlEW+7uFCpbOLdFgAQysiSidAYAS2WVgCQXdimoyXmyEO6vub2nlNRIT+cZHx+3HzdIeFfa5kKNEh4KKv+X2mKU3S0pIb/qE4d9Ivm7i9wfLJs0fOoUUuajD+Qq4eaD+udx65ntauTFcx0YoPJ6LsmPlV62jssNgajNgXEvDmZ028C+wHDrFGR6NDeem8w31jjmOnhL53QzhYCw550fFck5e6RxlZHVyKvwTxmD+hC+uy+cl0RQlVpNHF0p+a0IU4zgPyp+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.194) smtp.rcpttodomain=gondor.apana.org.au smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0gmQABGDkd4TnJbpefbFvpr2MnLf7Y3mgUK3YYHe+KA=; b=qYuhKkBBt7WIDQsGNiwTMkxCzNfTfxcq3zBZCn78Fg1BRQcJBoXrLEnuHFld3PdTuXJLhJVcfBUi1lgzRUue4M019VO9Pn3tknYnDIBkvIdj+nwBjVTR5WSDN8JbDh5WPaLbjvC5tuDVAMhYeRaoYNhGOGyp+G7U0uke1aU+wMo= Received: from IA1P220CA0023.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:464::7) by IA3PR10MB8705.namprd10.prod.outlook.com (2603:10b6:208:583::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.7; Thu, 27 Aug 2026 10:58:39 +0000 Received: from BN1PEPF0001806F.namprd04.prod.outlook.com (2603:10b6:208:464:cafe::60) by IA1P220CA0023.outlook.office365.com (2603:10b6:208:464::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.9 via Frontend Transport; Thu, 27 Aug 2026 10:58:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.194; helo=lewvzet200.ext.ti.com; pr=C Received: from lewvzet200.ext.ti.com (198.47.23.194) by BN1PEPF0001806F.mail.protection.outlook.com (10.167.245.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Thu, 27 Aug 2026 10:58:39 +0000 Received: from DLEE205.ent.ti.com (157.170.170.85) by lewvzet200.ext.ti.com (10.4.14.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:29 -0500 Received: from DLEE213.ent.ti.com (157.170.170.116) by DLEE205.ent.ti.com (157.170.170.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:28 -0500 Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE213.ent.ti.com (157.170.170.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45 via Frontend Transport; Thu, 27 Aug 2026 05:58:29 -0500 Received: from pratham-Workstation-PC (pratham-workstation-pc.dhcp.ti.com [10.24.53.205]) by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 67RAwRh81731153; Thu, 27 Aug 2026 05:58:28 -0500 From: T Pratham To: T Pratham , Herbert Xu , "David S. Miller" CC: Sebin Francis , Manorit Chawdhry , Vishal Mahaveer , Praneeth Bajjuri , , Subject: [PATCH 2/5] crypto: ti - Fix potential deadlock and allocation bugs in DTHEv2 Date: Thu, 27 Aug 2026 16:27:08 +0530 Message-ID: <20260827105711.527182-3-t-pratham@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260827105711.527182-1-t-pratham@ti.com> References: <20260827105711.527182-1-t-pratham@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF0001806F:EE_|IA3PR10MB8705:EE_ X-MS-Office365-Filtering-Correlation-Id: 57561062-2014-48ac-f7ae-08df042a2694 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|376014|1800799024|23010399003|82310400026|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: sPKRSVpGV5x42BAonKNnP5Y84hDgrJyQrXUFGruRbzO6CLd9pUIo6l6AZWDuAhiVphAfBdq1iS8YNiWIbBjCwfHFiIXzDOp05yfMUnaJmjsEc/CixXrAbBWPnMDYCq+E1eeu+LZb9dPNPeW5qQrpn+NMLGD6ldzMkMe70DPVWDN59jGZuJ4H3iEsALaxmRamGroBfYEiEk09LM4qkygruLrfLEX6g53VtD1LKF2sq74pDnt9e3j31RwPECINCbRKLnJxEz6JVO+HDNfrAM87TnRdeCIDHUp5DQfuLgUApHXF79J0l+xkc1hkIqoKEGJtetpjx8QsiwcoEz+7f9qpyFSTb7Uo1Rh6w0aWINOiXrYdau4o55ZbmsvbwjI+Ff8+cN0jVNGZqgRbRMOdu9cy+8xrj9XULArlmXAvEBPLO7UbJhuwMvHH5v6niYNWR+rS78Ots8E5JM5nm7YCrSnglMn43jGoYVKUBicxEMGnRV/WeY2UKU/yWxbj8Ex4c9SMy0I2Tdgty0YxmDNsC+95KdZZMux7eVqbx1AKU8Hs4nFJq8A4Uugp083CfzLwk13cy2RUBzipWbfQFpopqYove0NAuOvAWKtQTYidtthN8BPIKjL0Q/H3l3kcCF7LhKsRr7eUwCDGj5EKKMJjZOAV4Dc70sJCQvvAAV0v1Jz8eQ2jkUg5bb7lLtvdNyxkqGB+204CXU/mzB+YU56R3HVWlw== X-Forefront-Antispam-Report: CIP:198.47.23.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet200.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(1800799024)(23010399003)(82310400026)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yDA1QVmHutoRMV805NOeTDho6knJoDpBTgPIME0OrLmra+QBvyM3CUJF3qc8XFMzPWtkdJJwsEQLEKO2/FPUIFExPNP/XvS+unN5j40v3XGs97GtKvaY21Q0C1ePR294weEF3g77sNhcah6xDfSv9qM1j7WO//jltUCiJZZvQ11ivKt2iVo0DUbIor+E0Qb0eJvt6e6hZuwbxeVmM0MctJVMZ+HXM/hprlCeOcUfQQAAoGxcpXXbQE8mLor+rTD9336tpe7g5jVDiyXslxCi9vre4RlJ49kIRCCM7qvdQqqcQ6cqMUI0b3fd28R6LXrJlEGz+kgIdIyzzM4NvdVZiXrGGNePN/pUW1ug9Tw/HI3zdCOUulVkfxXadWnweReB+LaY2z1XKEeu3xDLq1PNwhG7k5hxFQn/d0P3MqzDwXw4Uqd5gOWGkJEXTfshNN+p X-Exchange-RoutingPolicyChecked: oetmQ8/bgLlVMAivVuTjaKlCtIpVGz5fCBuj81CzkkCNRCK5tBwQM8CJS9hP91e6mnWwL9BZJFfFo4p4pkjmZXdAcyHFWwkV2Inozb17iAKx8OjdBgpCUPZavZoITVEOeUVBjkyB0VicQVcWMjwaSQXT/zdgA+gg23y1fD0Z0Ky91n/CfcINury+x/mcbw8lBjrrX8ZzoD98hNsGjkQQfvh+ogCXGZ/u83WGz3GqQoxSoR9rdaJUl0yzBTErbViMlkXNKJmMlcornCBhOWJ2S3wfyx473DnR632ohVzNuuzZ9Jcb4Udm6ihjVHJlKGt6W5KGfBeAgrqpV5lCvtIrcQ== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 10:58:39.1122 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57561062-2014-48ac-f7ae-08df042a2694 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.194];Helo=[lewvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF0001806F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR10MB8705 X-Proofpoint-ORIG-GUID: Ic4YTNQ2uQX9FXR2MCe-Z_OVn_2WM99y X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX1IiZr0PeCFoc m+bP+OOT/tANcR6g64xgRj7tIDtMidVCB3pFMOIPEKnq+QtrTjCE1CKd1sVVBr3Woh49Q2MApgC jq8KTDYXKY+FPBMjI/OaBhN7AbK40H+jg8MMWnr0/s7KZw4QiDhwaKiLDFuKgSqqg3eGIXA/JQ7 QEoAppdRqPELEe0kCgJMh4lWcwiqM0M8muY/EuSXEvvRqD2/85TD58jyK0Sq2uLwb5kcQvLb7OX /tN8QIlo7gjeYyYjas4eyXvaosR59OMMwfp2JCbqRGyLq2n1ocjT2tajShcRT60z6WsFqAeasWm jyqshBAGv5rZ6ze7Hxx24UONsvN4n8X/rNx0aGAHBCTwBPtqpoZ0mHnhZpErT8bhRy6Ng1fHZ4p Qgn+4uEfoXR3rqTzVz9MOcxqk4kJ8IWJza6IyRqSK1rPS1llfs/sHYMAZiDL1YRBPvaYfVOA+L5 yv5G+rhRdNMCRZhgCuA== X-Authority-Analysis: v=2.4 cv=TJ11jVla c=1 sm=1 tr=0 ts=6a901862 cx=c_pps a=lq01mLAL2wBNHDG9j+U+0g==:117 a=WotqVVQAdb04rnGuttW3Kw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=taLDd7a_hP9WKsMzeGRc:22 a=sozttTNsAAAA:8 a=rJ-GU4aWsYizkdYqeIgA:9 X-Proofpoint-GUID: Ic4YTNQ2uQX9FXR2MCe-Z_OVn_2WM99y X-Proofpoint-Spam-Info: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfXyl/Y8t0fDL2B ttywRUh2RpnL9nsfVNbQWgfCucC1ESM1bc9ZdY4l2f2PmidxRHN41r3Eugqjr228gG0XmyhHpZC ulIJtzbq60pfjAJlGg1WjyNpPhlVDm4= 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-08-27_04,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608270090 Content-Type: text/plain; charset="utf-8" Probe and remove functions use spin_(un)lock for acquiring the dthe_dev_list.lock. But dthe_get_dev uses the bh variant. Change spin_(un)lock_bh to spin_(un)lock to avoid potential deadlock when a softIRQ process tries to acquire the already held lock. De-register the algorithms before removing the dev_data from linked list to avoid any allocation during removal. Fixes: 52f641bc63a46 ("crypto: ti - Add driver for DTHE V2 AES Engine (ECB,= CBC)") Signed-off-by: T Pratham --- drivers/crypto/ti/dthev2-common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/ti/dthev2-common.c b/drivers/crypto/ti/dthev2-c= ommon.c index cc02449382673..b315c850f05d6 100644 --- a/drivers/crypto/ti/dthev2-common.c +++ b/drivers/crypto/ti/dthev2-common.c @@ -39,11 +39,11 @@ struct dthe_data *dthe_get_dev(struct dthe_tfm_ctx *ctx) if (ctx->dev_data) return ctx->dev_data; =20 - spin_lock_bh(&dthe_dev_list.lock); + spin_lock(&dthe_dev_list.lock); dev_data =3D list_first_entry_or_null(&dthe_dev_list.dev_list, struct dth= e_data, list); if (dev_data) list_move_tail(&dev_data->list, &dthe_dev_list.dev_list); - spin_unlock_bh(&dthe_dev_list.lock); + spin_unlock(&dthe_dev_list.lock); =20 return dev_data; } @@ -201,12 +201,12 @@ static void dthe_remove(struct platform_device *pdev) { struct dthe_data *dev_data =3D platform_get_drvdata(pdev); =20 + dthe_unregister_algs(); + spin_lock(&dthe_dev_list.lock); list_del(&dev_data->list); spin_unlock(&dthe_dev_list.lock); =20 - dthe_unregister_algs(); - crypto_engine_exit(dev_data->engine); =20 dma_release_channel(dev_data->dma_aes_rx); --=20 2.34.1 From nobody Sun Sep 27 02:19:23 2026 Received: from mx0b-0002e601.pphosted.com (mx0b-0002e601.pphosted.com [148.163.154.28]) (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 83299393DD3; Thu, 27 Aug 2026 10:59:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.154.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828343; cv=fail; b=tIg3NU4mauYLuQKRkwtCZaz7d/k3HCNKXksVazUcJDhJNSeMxscDPZhna+mDhD9kV9V8RAOZ2twpsR/i/vq8T28vx4g7uEM7hUXeTj918/VsPK3swa2g8+/N3bni1iwrg6YVTfTKy9D8NTDz/Wkd83Q53yXpduJtBTdFml1XQOQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828343; c=relaxed/simple; bh=5hqyVq6v+uTF1JozAVv9KoLLmKZ20AjwVxiBowpTaKk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=r39k1jsrrJFG6GYLHyYG/dpix5b/cXv5mRfvZusDlMUJoN0RODDFpwAnLCuI0fMNuLpocZj1Wd4GjvM9kCkGbNQqR/bPmlttZnqy1xlQiJy3K+UzFmaHp0Mmy1Ee8ZjCzygO82paoYKd3ylrFlSlcfXWM7lvTpZtxOpwHM9/UPs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b=lx8VA5an; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=JfK+cR+r; arc=fail smtp.client-ip=148.163.154.28 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b="lx8VA5an"; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="JfK+cR+r" Received: from pps.filterd (m0374955.ppops.net [127.0.0.1]) by mx0b-0002e601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67R9LL4E2767527; Thu, 27 Aug 2026 05:58:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint-05-2026; bh=aagA3oodfHFhmwZgc56VlZD04q7B5cBQh+xiFCpib 8A=; b=lx8VA5anzmUWrYSgXoIAi38mNKbRQoUotkcaRPbS1p5m/2UXasGdO37SN BtrXSKL5uF1KMrzHs/wFuZdDFKU8UOIU1xjKCHFqSkmxxOrj0N5TLFBzd5V0kG9J t4bSdQqtt6g1Ei5ucabT3MD7PQrpY7gJUOG01jFbZkRlp11bFPjN/jwUWAD1r0Cu GzqbpkuobPCe2k8eF2RmrOkG8FhQFQKjkjVBkBNpZgiLgZ5VHaFZ8e/VZsVkAHvM wMA78n2Lw/grSu6087zjwizSQ97aA0qFGJz7ltQn9SIvZMqoIw2YyVzYGGN1/mB2 DkDVOnSLcOxRX/mFysaTBxg8PHDTw== Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11012015.outbound.protection.outlook.com [52.101.48.15]) by mx0b-0002e601.pphosted.com (PPS) with ESMTPS id 4gajhhrcfp-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 27 Aug 2026 05:58:57 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pQrhO6dIIMLf6Lmo6kvh59oKB/hmstVXUNTuVNsJwggFScx0IZRwgpcbh9Q3XJuUourKxCSlj3Y2aGpoWZzq/2v6MQT+LM6ba5HUGPaDAR3V+GSXvXplfUuGNMUE44mi6+3vtmrYnWyMmcRjAmoBC7rDbvzqS5ryI05roK0WnC7RkqDZVHn9DiVS0WWWrs5eZ1KBopvmToil32q8tUYTdgtyKAc3hcAQoDQFRDVsHDmNYd9+YmrWtaPBYnpExdtqlA7yDxNctWRuSEAJ9E0v8wQpoDaypiixrMZd1s9QGxNgVXwve8JJyvk+C+/1aUkTCS6BzlT6KW/PytpzW23ivw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aagA3oodfHFhmwZgc56VlZD04q7B5cBQh+xiFCpib8A=; b=S0CVam8NiPUNqZgvMVbnWOWZrfz2REn3reYqb9EmcksaLpmbPLlC4HjIyHJOREvbn9ENMmj4yqBaJWQlpIuinH4kVBS+ILghC0mcNHpg652xXutRsFHSd1BGL+5TepAuWaFsr2soCyxX/lRyp8aaA3jst6H5Iq4BUcm/Z61TZQ14Ko8rtp5XrMnUSla/MI7YYnvCpSad4JGg/sp1p+hKAXC/LAQBQSK8K4tHh8UnbEHN4Hd90fxSDesO0ar7IsH42KaBjYJDOwybDXe+c8jrMjBSdMN18IerfLKm/LM62sXLY1vmn8JFjHdqPDV3k4vBJqtXTxUPPlYuo4D4Dc1STw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.21.194) smtp.rcpttodomain=gondor.apana.org.au smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aagA3oodfHFhmwZgc56VlZD04q7B5cBQh+xiFCpib8A=; b=JfK+cR+rkEbfV4Z5lsAjw8l/GcT18lfaU+d9GPk8SPlOy2Ojrl9cITGF1bHbnK0umLiLw/URgEOH0MbG/wBjuRjVDxgr+1NV784RMDm32YVgLpSvfbnVmEDTQPY6vVJJZMhkPceCTO60wSnb5NzilIFarGmVobJeQ50Noa6VqC0= Received: from CH2PR18CA0035.namprd18.prod.outlook.com (2603:10b6:610:55::15) by MW4PR10MB6461.namprd10.prod.outlook.com (2603:10b6:303:21a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.7; Thu, 27 Aug 2026 10:58:54 +0000 Received: from DS3PEPF000099DC.namprd04.prod.outlook.com (2603:10b6:610:55:cafe::4a) by CH2PR18CA0035.outlook.office365.com (2603:10b6:610:55::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.10 via Frontend Transport; Thu, 27 Aug 2026 10:58:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.21.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.21.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.21.194; helo=flwvzet200.ext.ti.com; pr=C Received: from flwvzet200.ext.ti.com (198.47.21.194) by DS3PEPF000099DC.mail.protection.outlook.com (10.167.17.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Thu, 27 Aug 2026 10:58:53 +0000 Received: from DFLE203.ent.ti.com (10.64.6.61) by flwvzet200.ext.ti.com (10.248.192.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:32 -0500 Received: from DFLE207.ent.ti.com (10.64.6.65) by DFLE203.ent.ti.com (10.64.6.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:31 -0500 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DFLE207.ent.ti.com (10.64.6.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45 via Frontend Transport; Thu, 27 Aug 2026 05:58:31 -0500 Received: from pratham-Workstation-PC (pratham-workstation-pc.dhcp.ti.com [10.24.53.205]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 67RAwUwM694642; Thu, 27 Aug 2026 05:58:31 -0500 From: T Pratham To: T Pratham , Herbert Xu , "David S. Miller" CC: Sebin Francis , Manorit Chawdhry , Vishal Mahaveer , Praneeth Bajjuri , , Subject: [PATCH 3/5] crypto: ti - Fix potential memory corruption on highmem pages Date: Thu, 27 Aug 2026 16:27:09 +0530 Message-ID: <20260827105711.527182-4-t-pratham@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260827105711.527182-1-t-pratham@ti.com> References: <20260827105711.527182-1-t-pratham@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099DC:EE_|MW4PR10MB6461:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b0ee568-5e7b-4873-052d-08df042a2f4d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700016|23010399003|1800799024|6133799003|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: IF8K7av8TrBSlxrqF0vRQt69sUsKaQnYYLR2ExACa5s30fJ8OAVhE01jT9FTdZ7JQZTicRot/8xtAcW+kUOp2LREp5LWKvTToYeq10f2AxkTOJ6dzp9zKcTfLD5cs46rcy8NcL5xaDQ9xI0kWq/dCqCnlCnQXnJlSAnHMAsOM/a2d4Aq6bkKBtKISJEKQu2IyMsmL8+UDy1eE+jJKNycgZNcWP1lVqCA5p2Z+zN79jt6Cvf2vayGt4htfqW6H3gwJl2bvacP0Ll2qNmZT6red7sifM7FneeFQYmTghdX/l+oxGDt/MtLJoa3BS+o2iOUsYJMZlm1rCvGy2ZDTKTJiM3sZXHtgU85OjYrqOWG9rY7xEmVsZxtUwQjlWGw743ash4gQUlpwL3GMt9TB4GY6ASontkMrV4hw8PfBUt2iNxYrFQstx3QC0c9dGZacFxhK5Tlr7uIaLB0bOE3O9SsyBRiohFWxeiBFNZ2CXD8zFSGf5j/BNpQgq9juz0krKE+0U23jz6ZMs5rhMAFeLyhXvmdlFhADJb576Hxxm2wvLIYPwhmZN6j/Oxi9Dhb1arES336Bkn/FPEsu4zaW5Aza2gqWv+axoTbKPvv0WAExiuioxS9AfMuBIxLDVkfNZ8fv57Wke5CrLyZjpbn7BZYp2uFv7SurxZ5p7Cm8B3VzqE5VbronrujAlCn0lIzToc0gXu8lRF7IA4+6MWMfSL+tg== X-Forefront-Antispam-Report: CIP:198.47.21.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:flwvzet200.ext.ti.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(23010399003)(1800799024)(6133799003)(10067099003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5DTRwOBccnPHqVeb4mIwA5z5tLZQovmviD9hxNjN7B7QYiZmGYtLJAw1M/sR+Si6lUJtryKyOugftJYV4w6pydaWnexyaPAetgrGmok6GZ69k3vmZomc3eDmPX7gX2qUF92baC3xo+fAdcwtfNmNjMBkBSc3dVnCx8N7EFtNynI8VRBZycQox3KurV7OxXNkWxmAi1MYIvfq2ywoEhrZyFrxDyhU2Pilsy+xsulLzRqibo9J3UzpmRUbLkNHHM4DxQklDF7uUavfi0e4u3Da32pRXzzsDnbAVPe7fEq+b6QmFxi0BHl6YMBHnHexoaV1tD0DFYZF3MN+z0IQEcd+o/dYOmclAOoD18DJfqzTitquztEXeH367IyQRAIL8BdjkPINQOczZbsIfiRm5IAgy0oa+uSW8myk1oSIiVddm4kh6NmexQL+Lc/A9ctUgqX4 X-Exchange-RoutingPolicyChecked: L2agOmzGecfqyQj9x1AZ9ML/8pVoCIerFXhFIKR6V4JL7t+x6f96bFhyCwQ7hBUKgnb729KYX8RM6GS5awKGsISt6sBTX1WizmljfkRPew0e9dgQgFjmyBErDhKV8A61ZS8JYTJrkdlQ/NZLRH5GGKK26sVVsh/g34SuOgUAkENYVDgK88lxHC1vrfJUK0IqTqZ1Gav2uRWvwZr2KRwCcnFg5xt9CKdlqtlWiIz7MJxDgAkRkDQGqLQ8fOBzjGy24O+alGLo5nGVZBiHK41yDJmohIkhVkt27L0BbAnS5P/gcPBAhqijza/4+HYVElSe7wee6xrmUHNbd2hoHARirQ== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 10:58:53.7549 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b0ee568-5e7b-4873-052d-08df042a2f4d X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.21.194];Helo=[flwvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099DC.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6461 X-Authority-Analysis: v=2.4 cv=Fu01OWrq c=1 sm=1 tr=0 ts=6a901871 cx=c_pps a=cLI4zmX3yytpP84iY95SKA==:117 a=iwqwCZQqcuTv3JOpYdM7/Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Sv0fKeRqtYgA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=fPAWb5peG099m5CrUpKH:22 a=sozttTNsAAAA:8 a=VPAvt0e__hU7bH23DkEA:9 a=zZCYzV9kfG8A:10 X-Proofpoint-ORIG-GUID: xxu9TgYFjEWXFyz0Rb59_E7KfBpp0a70 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX/thEFKXTW4m1 P4qroq+xlYOWIq+GmETQVOu7I/TnFNNb4eSpp09wV/Ds1+fDZ1jWZ+BWqMWeAmHPb7dg/O6Txpr IDVwouhVv/htb93YR4D5/nfFOHHpaQN4nKXf5wTAF+QT0PmtoxY21pOthyulD/XekL3TdeEUB8d aAFem5jnOqCjowUitkjr6NjlMpFgZDSFdttmsY56hPQ1znIJJogfGdGpuMUGr6CISnlxFYixazu 5+GPjIbT+u45VXlysJLgZZp8kZzvyRxODs+omzLC78Z8H0P4SlSifVyVNt6206p1+Wp7J2OEVVp SwtpDP0BQGwXy7p2exZF5Y7Z/8COOx1Z9QSh9LnXMwmQ40qE1+hX+VRN3gHaoDOkrdIClncVNUS +2LO0ArW3rY0YmWoD+fI5hQfMuwBukyvN/cMwPo/u9xy01rXP7Vm6NaIzOgzTz9ikenVMRsUc2B BQzayFZrqEjq0XaIBXw== X-Proofpoint-GUID: xxu9TgYFjEWXFyz0Rb59_E7KfBpp0a70 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX82te2ufrGE/u lIWzXPsIJ3KTKq4yGbnk+ItzluT23pKPMsfUEEpxqwroimbrtfFTF5NO2cOdTvwcwW3LTBjYaQ5 pZ29OG+wy4zlFtOYJq4ZUYUhl873BSI= 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-08-27_04,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608270090 Content-Type: text/plain; charset="utf-8" Change sg_set_buf to sg_set_page in DTHEv2 dthe_copy_sg function to avoid using sg_virt() on scatterlists. For scatterlists containing a highmem page, sg_virt() yields invalid or null adrdess, causing potential memory corruption. Fixes: 35645ca63caa1 ("crypto: ti - Add support for AES-CTR in DTHEv2 drive= r") Signed-off-by: T Pratham --- drivers/crypto/ti/dthev2-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/ti/dthev2-common.c b/drivers/crypto/ti/dthev2-c= ommon.c index b315c850f05d6..5ca1576664133 100644 --- a/drivers/crypto/ti/dthev2-common.c +++ b/drivers/crypto/ti/dthev2-common.c @@ -59,7 +59,7 @@ struct scatterlist *dthe_copy_sg(struct scatterlist *dst, sglen =3D from_sg->length; if (sglen > buflen) sglen =3D buflen; - sg_set_buf(to_sg, sg_virt(from_sg), sglen); + sg_set_page(to_sg, sg_page(from_sg), sglen, from_sg->offset); from_sg =3D sg_next(from_sg); to_sg =3D sg_next(to_sg); } --=20 2.34.1 From nobody Sun Sep 27 02:19:23 2026 Received: from mx0b-0002e601.pphosted.com (mx0b-0002e601.pphosted.com [148.163.154.28]) (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 7A452420484; Thu, 27 Aug 2026 10:58:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.154.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828339; cv=fail; b=iPlKhXaUcISPeqv2PDkDcNh/2FmpkGAm47W64deL0fzifIr5BMKbiwwVtCXwtcO6Va6di3463gkbBIMhsdrc7PHhor3Ikoaq1rHWWQ5wZcFSvxNjSBTKiAVOxglLZTRh5tyacsKtfESFgCg9jdArBO9pR1JX3aRMrCuRtz+8Xz8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828339; c=relaxed/simple; bh=HTUp6gt0ViCok5YhaTuQ6fZFjHWsS8ga0G6wwKGV75U=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KY52/jK3PxZwPpGHe1PLcBp8GMz8WxTIVLheGCYCDkUPTm+mki8c/klIVS4KqMh9eVdtCA51ML/AyY+/FB2rpFGJl9J6UfN9EigPH50JWCulxWLNCCxLlbtBvrh5nqqBBaRIXGqlCb0v4GILPZjEzVv6X3Q+vK4jyZey0ENNdC0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b=KHwFLwPQ; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=rX1eC96H; arc=fail smtp.client-ip=148.163.154.28 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b="KHwFLwPQ"; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="rX1eC96H" Received: from pps.filterd (m0374955.ppops.net [127.0.0.1]) by mx0b-0002e601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67R9LFma2767411; Thu, 27 Aug 2026 05:58:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint-05-2026; bh=1OVzGylSzXqNRekLanbIBcD2ycs8QFgloyJf5Euqw fM=; b=KHwFLwPQ0mbIsNld5XZAAUmCeMyJwsGo/4dwiku6cIVm+g3+nezdoQHRv 7WNUSlqjCMhJNvD1OPU7YHhSREv3V4RSBKqEDh2+PixYu2OMG77NewqBCN4unIQD rNs6HvzbaLiqFO4NNsyFeMO2swMqxjYp348vq47DVZeOYyJx8BxP3evWu7P30R2w g79RWQjn7nKm2oymdOZnV2W0q48Sb8d5OBK4nNpjx25RcL+7UCBgi4QlGHJ37876 tf7PzDZO2FS+RXhDz8G6sVURZn3u5ZZBD+E3H3Q43llAZDlKrDD6DenzvRlkB8+m VeBn0kAGGQhfwXDVmfET0NOtwEzYw== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012017.outbound.protection.outlook.com [40.107.200.17]) by mx0b-0002e601.pphosted.com (PPS) with ESMTPS id 4gajhhrcf8-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 27 Aug 2026 05:58:53 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ko7WEPKd4zpoRVxxGb/c66+uU5W/ZvDUxElJMomMZCzj7ir/Z1P43gpMADgvtKM5LdkToLnIEyaIG9sKiRK2b/nS4Sr6jzpm1YHdfz0eFRI4VDvPbdBQt9yMlAlGw22A6N0LOVlAft9PWxAm7jAkE+TnPP2uQgRqLz9/sF1szSfu3j+n7ZPyYdYpKH+h5av8C6gyxeHyHKsYTbw9xcxlMe0Vs6Q++QsAK04F4sQ5XWzBRYsk35GwMctRAaNFdgNgTnZ63YPDtndIDvPSMcyPwf9SNPQ3ehBJ8Dz4051HqGYKC+m1oBdPwJW6WSP9NnLeCFhgdq0Yq5e4r1A6POek2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1OVzGylSzXqNRekLanbIBcD2ycs8QFgloyJf5EuqwfM=; b=IKCje6UT7uZcL+xTbaukuBAy5wOpSLnM5wUt/tPzfDKVEYk6iShc1bo14iUdsjunv8OgXIVD/pun/8Kck4WLgOclzg/NH7hfnpRhUeDuJdKYRm5QPhXz3QZKRmwmhYs/6CuaaL/AswWCRHnZkpO1vhj/T/MXwNiqCKamiF1i8KuioS6Smmw6BnABEjqClILRw9/4jGlyXzv1CgZR1eBbXfjd+gAVJ9wMtOuuoDr496hIrwtKp/NzPO5KaxuZYjTzlxM3MuuMLh5TDsOAfQlAUMIxcEQoORz1SamKOYlBZnEro6kAvDFbOQuETBUIbiHyXBPVRPjUqUXSUgEjlyxAgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.194) smtp.rcpttodomain=gondor.apana.org.au smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1OVzGylSzXqNRekLanbIBcD2ycs8QFgloyJf5EuqwfM=; b=rX1eC96HWFUSmQbnOdrghhZ9oGY960yW28/kS6i1FUfaYqLMsfr8DFBxtX4r1ykvVoVdrNaCsB3XApncKQr5mVmKqQwCVf8wqTcBBFjGychL4AAMMUGQOhJ7qWJFDxKgJKqEmhawgp6p38sgNa/RuwUG04yOjxijFMsAessgqSk= Received: from IA1P220CA0024.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:464::12) by PH8PR10MB997765.namprd10.prod.outlook.com (2603:10b6:510:39f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.7; Thu, 27 Aug 2026 10:58:48 +0000 Received: from BN1PEPF0001806F.namprd04.prod.outlook.com (2603:10b6:208:464:cafe::86) by IA1P220CA0024.outlook.office365.com (2603:10b6:208:464::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.10 via Frontend Transport; Thu, 27 Aug 2026 10:58:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.194; helo=lewvzet200.ext.ti.com; pr=C Received: from lewvzet200.ext.ti.com (198.47.23.194) by BN1PEPF0001806F.mail.protection.outlook.com (10.167.245.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Thu, 27 Aug 2026 10:58:47 +0000 Received: from DLEE204.ent.ti.com (157.170.170.84) by lewvzet200.ext.ti.com (10.4.14.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:35 -0500 Received: from DLEE212.ent.ti.com (157.170.170.114) by DLEE204.ent.ti.com (157.170.170.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:34 -0500 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE212.ent.ti.com (157.170.170.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45 via Frontend Transport; Thu, 27 Aug 2026 05:58:34 -0500 Received: from pratham-Workstation-PC (pratham-workstation-pc.dhcp.ti.com [10.24.53.205]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 67RAwX8w694685; Thu, 27 Aug 2026 05:58:34 -0500 From: T Pratham To: T Pratham , Herbert Xu , "David S. Miller" CC: Sebin Francis , Manorit Chawdhry , Vishal Mahaveer , Praneeth Bajjuri , Kamlesh Gurudasani , , Subject: [PATCH 4/5] crypto: ti - Trim scatterlists to correct length in AES Date: Thu, 27 Aug 2026 16:27:10 +0530 Message-ID: <20260827105711.527182-5-t-pratham@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260827105711.527182-1-t-pratham@ti.com> References: <20260827105711.527182-1-t-pratham@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF0001806F:EE_|PH8PR10MB997765:EE_ X-MS-Office365-Filtering-Correlation-Id: fd34f550-48a5-4bf6-24f8-08df042a2b95 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|23010399003|36860700016|6133799003|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 1GuaDr9XubhpGimVv1I8ptFWS3YZu6dCqg26ECjZn3nRmv2SCEkAC210Q/PgMXEaU/6cde7rMZTwoJrbJloZz8tLuikLBGN8NmhAMiXAuA1wV53S89bLmMZYmjKZe7xOCe4GALW1PtnfBeNa5muvgOGk/yE6dtR+TDTbcHq2X9rYZaZ/3zXe9oZgpCqGUIx82x0sJtaOieGvPh7U5b6hOxluENeSiFZkFmQWsxOMKP/Q1kV7KGHDo+iTCPT/gJfrb5tHqDLIkQ1IEALSCdM6Pq2Kvh+kMpsBw+yb7BRZ8QfAHO3vQS3beHSlZigEuVgyQu5jSBoTKOmMtlvDRky1nXL3+VgvDenwf/hwgW72+M/WkJu2PZAnW4xJBEvkG7O95KMX1L6leSHt73pQPf8dwPg0/LY/yQhsLfNXpMZTBFIL0QEfg6YWSv5+xSo6kXngHmkhmGNM9kk7aGiv+XuRiH40Q22hNHbMBQY1mGPTWGjUQz6FNQ2kmtaX2IkT4Me44KC5Xw85zoUKPjS4VTgzPHfkVlF3N2ZKn0PE4ArdcUP3UsF6luiOJ/eN60i/KeAP38X0lwrzqvRYQLF2QZZ/DTyWsD2sNRYuP1aBDT3ZCgaC2L8I92cg2cckzrOekleirlFkffVPcl+FsHoY1rEqDCG+IJL4bFLLkejgJkb0sJ6/xutHhuoGmwW9IdCgIrRC5jgnAoyZ/SPUpLgUtQsLig== X-Forefront-Antispam-Report: CIP:198.47.23.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet200.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(23010399003)(36860700016)(6133799003)(10067099003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mFZrn6QMJ8TETnta0w0jiGyShgI36UOMXFcXsXaZjhJuLx9qMIH2nUircxnpn5gODvHARh3meF4Vdb6FMfJxUvy1b4p71QY6guepe8H4HxMpmmlYWifg3iEmhldGE/1IzIhnPb2V6R+aDTPQC94IPPQPm4oJDH7otaTt1TeFxKrGa7S0m46oBdBcrkPkf9zofs10WbhsEtPJFjq4wP+IJn+WdnepZ64u6uT0jEu+ZaV5ZlQQae92arz5xs9HdGa6nbNMBj6F1odSFZBrJobmh/7hfRdLnN0vXE1djKprmdVRBUKZ8HhLF9v/KceXFEVpXF1MxG+R6FewAZC8n8CJ2LLyWy5VTbRubeXdUGCTsUuzXecnIEOVyUwswnSxKjT/Yd7H424Xc4B416NX5Q7Yk43GmszuIV4sLAqZuv1Rnp3PUAYacPcc3m4ZHxqRmnEG X-Exchange-RoutingPolicyChecked: YVyoED2YpkPGzfDQBqsvdF34GkmC5so+lbzwTWMBSQpGxjtD8cnyfgb9ToHW0kLGT0aqEA5xXB4UgBRkaP+ESpWV6CJ+9pQBfP0uaLh2shIsinsvXyazA8EaWQJu0fNCdJQ3r8FUdYvjFf/XWv2ykX914t8AUw2ZLz8pTFnKCV6zJzj1hUZJhFtyC4diqv4nQGDQC1SnruS7+rBDxYNCprZ7YBrsrhEP2XkLprWT4/sYg2mplk1vArWWrps/uP6ipzWqVjdOBVOnuLzM4jUzhqHZ4r2uAiiKOspd8Y5gEPcpcN3zz636PO4xoqFfAGICHCqN69l1qMwJxJpBZPY7Dw== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 10:58:47.5089 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fd34f550-48a5-4bf6-24f8-08df042a2b95 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.194];Helo=[lewvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF0001806F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB997765 X-Authority-Analysis: v=2.4 cv=Fu01OWrq c=1 sm=1 tr=0 ts=6a90186d cx=c_pps a=Pcpo/nSjxNMkuCW/QO6CAA==:117 a=WotqVVQAdb04rnGuttW3Kw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=fPAWb5peG099m5CrUpKH:22 a=sozttTNsAAAA:8 a=Tpn98H0sjD_mw3BxSIoA:9 X-Proofpoint-ORIG-GUID: OQEFCVGjRw3kRs2soshtfb-hetV1zd5z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfXzZsStDn55IQu YF2dqBXmbkPxlnXaZfIvxl0wadNlJla0RsUl53mjB+1wih3vrbKTlzxrLOE+vSbtYEkFPkepv0k +OQO/OH1LLv8qm6fySWKdvwTB/qjsdQroj4IAFTDyJ2Hk+EB7YO+e24JLiS5e3yb8xv5Nu3dse3 jLIl3yId8poKjOh3JY/AFW0DAIr6qWz5KgQ8ZmSNODI509B78OqVm6/snoYlLH8W4ixpMHdWUUl ZDhIkd51g+BVnJq/8THMP04eFgdqdewifwL4byi3E8PkzG2KqdB4cog+YKB+JvTwyIgZa6aPCQH sbJoYJ2g3SUZZz+mIY/8EZghMl21d6KSAx637mpnjJosy3iqSFnavSEo8ww2N9neWFngQtlOo5w qPMi3igZddqdDWpJ7SAyPzKy40cXBj4UX9O/YJJoGjyyr8sqSrZhQdIAoTHyTucOfqO5wMM47fw iXsdaQVFB4L9b7HkBuQ== X-Proofpoint-GUID: OQEFCVGjRw3kRs2soshtfb-hetV1zd5z X-Proofpoint-Spam-Info: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX8essqItT4P2f 9xD4OONmmHtRg6xxdATITeUQg5QBB9FGqCY6ZN+30gVrKIySWvupUScoNZQlsqsVsUS/l1czrJP x9FEbRBenTuZwP1tZdawojM5gMy1FNw= 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-08-27_04,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608270090 Content-Type: text/plain; charset="utf-8" AES functions were using src and dst scatterlists directly provided by the request. This is problematic as it is not guaranteed that the input scatterlist is exactly the length reqired. This problem was seen in IPSec use case when the kernel provides the scatterlist which contains space for plaintext/ciphertext and TAG. The problem comes when the scatterlist is mapped and sent via DMA. The K3 UDMA sends/waits for the amount of data equal to the length of scatterlist mapped. So when the last mapped nent contains some extra length, the DMA keeps waiting for the extra data and eventually times out and crashes. Mitigate this by copying the nents to a local scatterlist, copying only exactly cryptlen of data. Note that this does not copy the whole data, but rather only the scatterlist mapping. So it is not as penalising on performance. Fixes: 52f641bc63a4 ("crypto: ti - Add driver for DTHE V2 AES Engine (ECB, = CBC)") Signed-off-by: T Pratham Reviewed-by: Kamlesh Gurudasani --- drivers/crypto/ti/dthev2-aes.c | 146 ++++++++++++++++----------------- 1 file changed, 69 insertions(+), 77 deletions(-) diff --git a/drivers/crypto/ti/dthev2-aes.c b/drivers/crypto/ti/dthev2-aes.c index c025b08c49930..8899b53f032b1 100644 --- a/drivers/crypto/ti/dthev2-aes.c +++ b/drivers/crypto/ti/dthev2-aes.c @@ -108,20 +108,6 @@ enum aes_ctrl_mode_masks { #define POLL_TIMEOUT_INTERVAL HZ =20 static int dthe_cipher_init_tfm(struct crypto_skcipher *tfm) -{ - struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); - struct dthe_data *dev_data =3D dthe_get_dev(ctx); - - if (!dev_data) - return -ENODEV; - - ctx->dev_data =3D dev_data; - ctx->keylen =3D 0; - - return 0; -} - -static int dthe_cipher_init_tfm_fallback(struct crypto_skcipher *tfm) { struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); struct dthe_data *dev_data =3D dthe_get_dev(ctx); @@ -155,19 +141,24 @@ static int dthe_aes_setkey(struct crypto_skcipher *tf= m, const u8 *key, unsigned { struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); =20 - if (keylen !=3D AES_KEYSIZE_128 && keylen !=3D AES_KEYSIZE_192 && keylen = !=3D AES_KEYSIZE_256) - return -EINVAL; - ctx->keylen =3D keylen; memcpy(ctx->key, key, keylen); =20 - return 0; + crypto_sync_skcipher_clear_flags(ctx->skcipher_fb, CRYPTO_TFM_REQ_MASK); + crypto_sync_skcipher_set_flags(ctx->skcipher_fb, + crypto_skcipher_get_flags(tfm) & + CRYPTO_TFM_REQ_MASK); + + return crypto_sync_skcipher_setkey(ctx->skcipher_fb, key, keylen); } =20 static int dthe_aes_ecb_setkey(struct crypto_skcipher *tfm, const u8 *key,= unsigned int keylen) { struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); =20 + if (keylen !=3D AES_KEYSIZE_128 && keylen !=3D AES_KEYSIZE_192 && keylen = !=3D AES_KEYSIZE_256) + return -EINVAL; + ctx->aes_mode =3D DTHE_AES_ECB; =20 return dthe_aes_setkey(tfm, key, keylen); @@ -177,6 +168,9 @@ static int dthe_aes_cbc_setkey(struct crypto_skcipher *= tfm, const u8 *key, unsig { struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); =20 + if (keylen !=3D AES_KEYSIZE_128 && keylen !=3D AES_KEYSIZE_192 && keylen = !=3D AES_KEYSIZE_256) + return -EINVAL; + ctx->aes_mode =3D DTHE_AES_CBC; =20 return dthe_aes_setkey(tfm, key, keylen); @@ -185,24 +179,19 @@ static int dthe_aes_cbc_setkey(struct crypto_skcipher= *tfm, const u8 *key, unsig static int dthe_aes_ctr_setkey(struct crypto_skcipher *tfm, const u8 *key,= unsigned int keylen) { struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); - int ret =3D dthe_aes_setkey(tfm, key, keylen); =20 - if (ret) - return ret; + if (keylen !=3D AES_KEYSIZE_128 && keylen !=3D AES_KEYSIZE_192 && keylen = !=3D AES_KEYSIZE_256) + return -EINVAL; =20 ctx->aes_mode =3D DTHE_AES_CTR; =20 - crypto_sync_skcipher_clear_flags(ctx->skcipher_fb, CRYPTO_TFM_REQ_MASK); - crypto_sync_skcipher_set_flags(ctx->skcipher_fb, - crypto_skcipher_get_flags(tfm) & - CRYPTO_TFM_REQ_MASK); - - return crypto_sync_skcipher_setkey(ctx->skcipher_fb, key, keylen); + return dthe_aes_setkey(tfm, key, keylen); } =20 static int dthe_aes_xts_setkey(struct crypto_skcipher *tfm, const u8 *key,= unsigned int keylen) { struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); + int ret; =20 if (keylen !=3D 2 * AES_KEYSIZE_128 && keylen !=3D 2 * AES_KEYSIZE_192 && @@ -210,15 +199,12 @@ static int dthe_aes_xts_setkey(struct crypto_skcipher= *tfm, const u8 *key, unsig return -EINVAL; =20 ctx->aes_mode =3D DTHE_AES_XTS; - ctx->keylen =3D keylen / 2; - memcpy(ctx->key, key, keylen); - - crypto_sync_skcipher_clear_flags(ctx->skcipher_fb, CRYPTO_TFM_REQ_MASK); - crypto_sync_skcipher_set_flags(ctx->skcipher_fb, - crypto_skcipher_get_flags(tfm) & - CRYPTO_TFM_REQ_MASK); + ret =3D dthe_aes_setkey(tfm, key, keylen); + if (ret) + return ret; =20 - return crypto_sync_skcipher_setkey(ctx->skcipher_fb, key, keylen); + ctx->keylen =3D keylen / 2; + return 0; } =20 static void dthe_aes_set_ctrl_key(struct dthe_tfm_ctx *ctx, @@ -341,8 +327,10 @@ static int dthe_aes_run(struct crypto_engine *engine, = void *areq) struct dthe_aes_req_ctx *rctx =3D skcipher_request_ctx(req); =20 unsigned int len =3D req->cryptlen; + unsigned int pad_len =3D 0; struct scatterlist *src =3D req->src; struct scatterlist *dst =3D req->dst; + struct scatterlist *sg; =20 int src_nents =3D sg_nents_for_len(src, len); int dst_nents =3D sg_nents_for_len(dst, len); @@ -385,38 +373,38 @@ static int dthe_aes_run(struct crypto_engine *engine,= void *areq) * We need to handle the padding in the driver. */ if (ctx->aes_mode =3D=3D DTHE_AES_CTR && req->cryptlen % AES_BLOCK_SIZE) { - unsigned int pad_size =3D AES_BLOCK_SIZE - (req->cryptlen % AES_BLOCK_SI= ZE); - u8 *pad_buf =3D rctx->padding; - struct scatterlist *sg; - - len +=3D pad_size; + pad_len =3D AES_BLOCK_SIZE - (req->cryptlen % AES_BLOCK_SIZE); + len +=3D pad_len; src_nents++; dst_nents++; + } =20 - src =3D kmalloc_array(src_nents, sizeof(*src), GFP_ATOMIC); - if (!src) { - ret =3D -ENOMEM; - goto aes_ctr_src_alloc_err; - } - - sg_init_table(src, src_nents); - sg =3D dthe_copy_sg(src, req->src, req->cryptlen); - memzero_explicit(pad_buf, AES_BLOCK_SIZE); - sg_set_buf(sg, pad_buf, pad_size); + src =3D kmalloc_array(src_nents, sizeof(*src), GFP_ATOMIC); + if (!src) { + ret =3D -ENOMEM; + goto aes_src_alloc_err; + } =20 - if (diff_dst) { - dst =3D kmalloc_array(dst_nents, sizeof(*dst), GFP_ATOMIC); - if (!dst) { - ret =3D -ENOMEM; - goto aes_ctr_dst_alloc_err; - } + sg_init_table(src, src_nents); + sg =3D dthe_copy_sg(src, req->src, req->cryptlen); + if (pad_len > 0) { + memzero_explicit(rctx->padding, AES_BLOCK_SIZE); + sg_set_buf(sg, rctx->padding, pad_len); + } =20 - sg_init_table(dst, dst_nents); - sg =3D dthe_copy_sg(dst, req->dst, req->cryptlen); - sg_set_buf(sg, pad_buf, pad_size); - } else { - dst =3D src; + if (diff_dst) { + dst =3D kmalloc_array(dst_nents, sizeof(*dst), GFP_ATOMIC); + if (!dst) { + ret =3D -ENOMEM; + goto aes_dst_alloc_err; } + + sg_init_table(dst, dst_nents); + sg =3D dthe_copy_sg(dst, req->dst, req->cryptlen); + if (pad_len > 0) + sg_set_buf(sg, rctx->padding, pad_len); + } else { + dst =3D src; } =20 tx_dev =3D dmaengine_get_dma_device(dev_data->dma_aes_tx); @@ -503,19 +491,19 @@ static int dthe_aes_run(struct crypto_engine *engine,= void *areq) dma_unmap_sg(tx_dev, src, src_nents, src_dir); =20 aes_map_src_err: - if (ctx->aes_mode =3D=3D DTHE_AES_CTR && req->cryptlen % AES_BLOCK_SIZE) { + if (ctx->aes_mode =3D=3D DTHE_AES_CTR && req->cryptlen % AES_BLOCK_SIZE) memzero_explicit(rctx->padding, AES_BLOCK_SIZE); - if (diff_dst) - kfree(dst); -aes_ctr_dst_alloc_err: - kfree(src); -aes_ctr_src_alloc_err: - /* - * Fallback to software if ENOMEM - */ - if (ret =3D=3D -ENOMEM) - ret =3D dthe_aes_do_fallback(req); - } + if (diff_dst) + kfree(dst); + +aes_dst_alloc_err: + kfree(src); +aes_src_alloc_err: + /* + * Fallback to software if ENOMEM + */ + if (ret =3D=3D -ENOMEM) + ret =3D dthe_aes_do_fallback(req); =20 local_bh_disable(); crypto_finalize_skcipher_request(dev_data->engine, req, ret); @@ -1215,6 +1203,7 @@ static int dthe_aead_decrypt(struct aead_request *req) static struct skcipher_engine_alg cipher_algs[] =3D { { .base.init =3D dthe_cipher_init_tfm, + .base.exit =3D dthe_cipher_exit_tfm, .base.setkey =3D dthe_aes_ecb_setkey, .base.encrypt =3D dthe_aes_encrypt, .base.decrypt =3D dthe_aes_decrypt, @@ -1226,7 +1215,8 @@ static struct skcipher_engine_alg cipher_algs[] =3D { .cra_priority =3D 299, .cra_flags =3D CRYPTO_ALG_TYPE_SKCIPHER | CRYPTO_ALG_ASYNC | - CRYPTO_ALG_KERN_DRIVER_ONLY, + CRYPTO_ALG_KERN_DRIVER_ONLY | + CRYPTO_ALG_NEED_FALLBACK, .cra_alignmask =3D AES_BLOCK_SIZE - 1, .cra_blocksize =3D AES_BLOCK_SIZE, .cra_ctxsize =3D sizeof(struct dthe_tfm_ctx), @@ -1237,6 +1227,7 @@ static struct skcipher_engine_alg cipher_algs[] =3D { }, /* ECB AES */ { .base.init =3D dthe_cipher_init_tfm, + .base.exit =3D dthe_cipher_exit_tfm, .base.setkey =3D dthe_aes_cbc_setkey, .base.encrypt =3D dthe_aes_encrypt, .base.decrypt =3D dthe_aes_decrypt, @@ -1249,7 +1240,8 @@ static struct skcipher_engine_alg cipher_algs[] =3D { .cra_priority =3D 299, .cra_flags =3D CRYPTO_ALG_TYPE_SKCIPHER | CRYPTO_ALG_ASYNC | - CRYPTO_ALG_KERN_DRIVER_ONLY, + CRYPTO_ALG_KERN_DRIVER_ONLY | + CRYPTO_ALG_NEED_FALLBACK, .cra_alignmask =3D AES_BLOCK_SIZE - 1, .cra_blocksize =3D AES_BLOCK_SIZE, .cra_ctxsize =3D sizeof(struct dthe_tfm_ctx), @@ -1259,7 +1251,7 @@ static struct skcipher_engine_alg cipher_algs[] =3D { .op.do_one_request =3D dthe_aes_run, }, /* CBC AES */ { - .base.init =3D dthe_cipher_init_tfm_fallback, + .base.init =3D dthe_cipher_init_tfm, .base.exit =3D dthe_cipher_exit_tfm, .base.setkey =3D dthe_aes_ctr_setkey, .base.encrypt =3D dthe_aes_encrypt, @@ -1284,7 +1276,7 @@ static struct skcipher_engine_alg cipher_algs[] =3D { .op.do_one_request =3D dthe_aes_run, }, /* CTR AES */ { - .base.init =3D dthe_cipher_init_tfm_fallback, + .base.init =3D dthe_cipher_init_tfm, .base.exit =3D dthe_cipher_exit_tfm, .base.setkey =3D dthe_aes_xts_setkey, .base.encrypt =3D dthe_aes_encrypt, --=20 2.34.1 From nobody Sun Sep 27 02:19:23 2026 Received: from mx0b-0002e601.pphosted.com (mx0b-0002e601.pphosted.com [148.163.154.28]) (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 D37B9432E6F; Thu, 27 Aug 2026 10:58:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.154.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828339; cv=fail; b=YaOsoj0/9iGB2ihPv/Et/bR0t4qbww3BBVLPwCo3uw83ioo/M7s0cfrvwaSplVF4wYB1o747PVJHIp8GGZF+oEhMQyOCh84szPCrv6W7mV2+rY86Y1QtlzZCPI36wvRkdZ+RoLp0NbrbtRRSTEXD5hz1sxipzGxq1iWUolbWAgw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787828339; c=relaxed/simple; bh=BJd1UKQVUQyAFyHjMko4RSESHox0ep8uJUrTPSDo1Gg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=p1t86MfsceLDvxTcrDGl6wod+YRRZf4cogweakMrz+d5BmQr3bAGfzvLiYH9zRa5mM2sdvdGxRTDqJVKWY4Byv0k6yl4OLok2XtzennLRi3hUVQqsyCxcZTtgrBKHTEOE8m0DBTyy6jqoVe1fehOLFMdbq8Qg4MUzn0TCUgEJ+g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b=oSgt8Jlg; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=OrBm4g5t; arc=fail smtp.client-ip=148.163.154.28 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ti.com header.i=@ti.com header.b="oSgt8Jlg"; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="OrBm4g5t" Received: from pps.filterd (m0374956.ppops.net [127.0.0.1]) by mx0b-0002e601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67RAEVPt2504023; Thu, 27 Aug 2026 05:58:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint-05-2026; bh=0rkRx0/+BXB2oTh6N+o4VcHMlCgA1T1oW+9PORgkZ fM=; b=oSgt8JlgM/S4SHqW3DRkCM5J8vayalJH7oAu60/+MxZxNNApy0zndQD/T d7y2tmHCblfxpaiigqbU2vOfVR11vz2On5wqMB7gMAUL5Pq9JSPRvwFwRVqq0Uto rs8+znSZd0sFZYulODCgQ/QAvS1RSX0OjUt3dqWSql/kRKQlzhRdiPJEeN/Pf+bY CfLDSaTARcEOOlCMAiPHxxis7SsSzJ5LoasoeLY7Ua0kRLzws8P22R+IMhXJcOeJ wIcpyfLUVL8jwIMk0/weTNjlEKorlWcM1+3vwWx/LiDPba9IcvcGzzPIEbTZC3of iN4d7+gFE83DOWjcg6KKJ1JgRKDmg== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11012022.outbound.protection.outlook.com [40.107.200.22]) by mx0b-0002e601.pphosted.com (PPS) with ESMTPS id 4gakag04th-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 27 Aug 2026 05:58:54 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tcbaDG3Ynpz4eMKHHswh6XeiRc3YZTY/SGZ0DAuZv6sHEK1jlxawAAWVrdCuOKKZvvAtDKzmQawqG2EYMqQ8XYoFuLo1172PSGn+mmOSx0B92Ms+LpH6V7NcnFbp3dxERS0wr9tXbrj/xpRbnnaZaO4m6KSGcKFrS5zvVxvuekqRgXloGpcz1bZObw6obarZdr5qMoIefV2hgWeB/LJ4nsqt0zllMZf0J8Z0ZeCeMzVEaIYfR7K4wWDtmvGQZRwoLq6DiDRgiBt+1UASmnxumVfzimxjjH7vpGFYV0Cy4dbGxnGjVqs0SprTas20p9v7rkL3OjUEMxlb7IUeHuvMCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0rkRx0/+BXB2oTh6N+o4VcHMlCgA1T1oW+9PORgkZfM=; b=EGJ5Umu7FIpSTB4VsVPQAL1H2LXmlSAzjUyq7Fg9S615oR09p+wil+LhLV2dFPFR7J/zCNWLi5rAh2iL4HG3xBnsb8bsywjZgKZw+iz/VB487C+PJQkUEYYJGiY6hoDiLmcl0lAodSp34kyBlbK5hBxoM7dJXlmijwHpXwtOmwc4zVPXS8XyJNc4akJdtpgpKDIrC2lhqGN/AFyT9O0fKET+uXtMi5ndqq8Sv8ENUMz6U4QC8EMtHjTPRLN7CPk5gcDwRXWK9Uv6gQzoQa4a/wIBie1VrJP0NDHZIONvGYqdEBd7cMV3zHyPefiGbCkcJ8XbNisPY7TNY+uYTPVnKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.194) smtp.rcpttodomain=gondor.apana.org.au smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0rkRx0/+BXB2oTh6N+o4VcHMlCgA1T1oW+9PORgkZfM=; b=OrBm4g5tdRbrxXj8ZBn7c12maeTr0Z8gzaMDHXaGs/Md2dBytLybuxUJ08tcAlM9+E7R2tq5XMZkZDZROXxGsRzeiwOAPTu1CB+5b1KT4qyhBoCVaWYNQLfkPbiZf+2wYXQRzjmMVbnz98GyU0TDQcuDOQinJbOhIVo/0bB2c9A= Received: from IA1P220CA0018.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:464::9) by BLAPR10MB5025.namprd10.prod.outlook.com (2603:10b6:208:30d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.8; Thu, 27 Aug 2026 10:58:50 +0000 Received: from BN1PEPF0001806F.namprd04.prod.outlook.com (2603:10b6:208:464:cafe::7e) by IA1P220CA0018.outlook.office365.com (2603:10b6:208:464::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.10 via Frontend Transport; Thu, 27 Aug 2026 10:58:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.194; helo=lewvzet200.ext.ti.com; pr=C Received: from lewvzet200.ext.ti.com (198.47.23.194) by BN1PEPF0001806F.mail.protection.outlook.com (10.167.245.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.3 via Frontend Transport; Thu, 27 Aug 2026 10:58:49 +0000 Received: from DLEE206.ent.ti.com (157.170.170.90) by lewvzet200.ext.ti.com (10.4.14.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:38 -0500 Received: from DLEE200.ent.ti.com (157.170.170.75) by DLEE206.ent.ti.com (157.170.170.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 27 Aug 2026 05:58:37 -0500 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE200.ent.ti.com (157.170.170.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45 via Frontend Transport; Thu, 27 Aug 2026 05:58:37 -0500 Received: from pratham-Workstation-PC (pratham-workstation-pc.dhcp.ti.com [10.24.53.205]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 67RAwawO694741; Thu, 27 Aug 2026 05:58:37 -0500 From: T Pratham To: T Pratham , Herbert Xu , "David S. Miller" CC: Sebin Francis , Manorit Chawdhry , Vishal Mahaveer , Praneeth Bajjuri , , Subject: [PATCH 5/5] crypto: ti - Fix use-after-free of dev_data on DTHEv2 driver removal Date: Thu, 27 Aug 2026 16:27:11 +0530 Message-ID: <20260827105711.527182-6-t-pratham@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260827105711.527182-1-t-pratham@ti.com> References: <20260827105711.527182-1-t-pratham@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF0001806F:EE_|BLAPR10MB5025:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a41358a-84bc-4b62-263c-08df042a2cfe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|23010399003|376014|1800799024|36860700016|30052699003|22082099003|18002099003|56012099006|10067099003; X-Microsoft-Antispam-Message-Info: qXgIrNyPkL7LEA3HwkRNUqzBRLTO4/HHT0Keze+wg05+jmfzeaeCX7331OIF6AgUBd6q6YyQ34dCekgguNwN5xHTMdJpxcRI2trj7qO7JL6nu1qc/BJolIK/lwDWm6SRs7PgbkJ4w4baGtnbFDxJZj91UARh0d95Z1g9W5KOQyPS15wUfm+LWD5VbxYOTswH7P+p8SKQE8RyPEwcCYTOIewFpItEOwkv5c1KVoCPcBnk4tXDNupoz5uXMam4s7/2v7X1B/zMCigos6YweEWoGEN015EYCsa5ULTJdZPTPBaAgoZ2dlCbnGtXAUf+rPJ74rJ4/MIBSEL/Ml37TMRDOt0EyOUokPkxf7f/RVzgmn+Hl8341aGgyG4ozyQLMoALX8sxD+F5YXW5FGzhKYIKGqd+NSyD72MxViM4aIdvJqb5cTbVGS3NC47bMy9DQOUrqpOhp9/iOmrj5fPBkWe7RuV2JS1DN+gZOYwDF2/Mx/y3fV43brPXuArimqfCQsVkx+8KgwWCAdoP8+C+O8uUUK9rS7Zu1atzd3D+8yBYlwcpNJVF8ZJsBUiYg4jpSUnqHfOnzJUB1f8rSlbyo3V4hvvXIYAkGgg55WAQ7tcjKMFsW4BGW9xdnWJH6pTA4UzwBuywd/4bR3j1lYBADjUMVsPo/B8Upt804MdBuf1hZxWli662LzniT88MyCky/BNppEecQ8oZxpJ+umRlk4dQuw== X-Forefront-Antispam-Report: CIP:198.47.23.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet200.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(23010399003)(376014)(1800799024)(36860700016)(30052699003)(22082099003)(18002099003)(56012099006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JNd/lVh9X7vZRBXzBeiHMGn4wAP1IkKN6e/DD4p5RYETdmNiEBEUzadMtMnRJw/gjVZMJmNYUdoR7W8pI91LsDIRJOHKmP2APtXpbiW+Csq6hcZHPWlFqRBp/0HNg2mFKodB8VD6m3JPtZoT4akgt49OYEyr5IylfsH/HIXicgLjSe+ILPTuDJTmdNfhpN73u32SB1ky4LL9edjEWUfvrW8HrCXEa+DQsKQD7ni/F5z3BmZM2ZC68sOoE6VMbag5hpBNE4jFj0dzd+37z+dGmRNQwXvi5Ztc7JR8YrQjxEA0Y7E31gWx82+RUke/Q4QeiVhGShMtYy1gpNEDnDx1Kb4ZdzeHMEclJ1hc+P7juE/9YuCuzN4q9q61M0FqRCov78eEOy6mTUdjqyy9l37//70Ay2zsWDGnivp54UBOpSbdpKsyNH/Fc+aGm0PzXk+O X-Exchange-RoutingPolicyChecked: xHhub4amA2+iWOARrPUZZDw71VXh9O0eDz9KS9Rdi6XRPm8ULIBACFRAmZQCS4zbYI1IqiHczVKAgOz42NUMjzfOFE4eP4XB3Lq/8BXtFRkYK1UJGC6cuPKJ86aJenuWNeXxZwROoykBZaEggCWggOVQptwJEWFcrm4Cuz72rla/7mnJVDn+uU6+cBQPB6O+goZVKNm0foE/Hh1JV35MBo4sWQ/jVgrmwaKD/jLxGxYmDq5h0hBI4QiZOlGyK3gm1vtyFeI/MM8DfV2jtAIlGC3xk12uIsePN75MPm9NlD1fsbbEpLW38XaVxpTKL2ARYBEBwoG6zEwyQpH1ACS/4A== X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2026 10:58:49.8744 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5a41358a-84bc-4b62-263c-08df042a2cfe X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.194];Helo=[lewvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF0001806F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5025 X-Proofpoint-ORIG-GUID: qq2LtQN3IjlbH8KXsZ0xZL0541BZ8uH3 X-Proofpoint-GUID: qq2LtQN3IjlbH8KXsZ0xZL0541BZ8uH3 X-Authority-Analysis: v=2.4 cv=VrMTxe2n c=1 sm=1 tr=0 ts=6a90186e cx=c_pps a=cqrExuG+o96ZXwTaJI9uFg==:117 a=WotqVVQAdb04rnGuttW3Kw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=V5UXEbMT0ywA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Z8NIEmU8O1QQgoT56wFK:22 a=jwouBfj2j3NM8CExmVVE:22 a=sozttTNsAAAA:8 a=2APMjrMfoq02II8ecpEA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX6CSOxgUl+MFc RKioGcmLbezyFs/vKi1QS0/TyamW1xcYD7wt1Edv7b10PJLeg9rmAYwrrY4Upzwnedj7guZh0Xs SML+usCOpBcUk/moqPP0uRnXUOmWfHhFJkPObDbjbkshF5O5lXeJDa7+kzZr8W0AaT75AbpwDWq kFFyNo2NsO6bfz+uLW7FXSDWs+dmuWnoO/ENpASG7XuiZV7N1UC8YRZ33FCaZp5+TiInZdsjg9z e5wMvt5KuPxIkQXssXBWjwL6noCzf+J/PMtcGwICZvWJ6K/RsQ9f9m5oqzT889L1f47SmjLjs2R FlvTeQte8KSNB1zYpI6ubMyQ+nZwmY5EHnuBvSWEmC1ERJBlNv15ww72rCGgRDPdQeyF1my1FVE iQ4a4asBVUgPnOx/9ouAwktlPAdppVOTwsCUgXnzdXRBpVJY9nuLtBVInf58d+8JYBI48Xn/hmL H4gBltVueiYg6Htl9xQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI3MDA5MCBTYWx0ZWRfX/IO91CiOOzaO qNJD8fLCgKMv2hcWD73dZUurldd91JygZ8jV21gqPNt/mMlrOu1ArdZEWsmamk2avQSAbtIGVkG bF97qy4Hb9vmiR+95ixNE7TWASTbaL4= 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-08-27_04,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 suspectscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 spamscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608270090 Content-Type: text/plain; charset="utf-8" Each *_init_tfm() caches a pointer to the per-instance struct dthe_data in its transform context (ctx->dev_data), but never takes a reference on it. If there are tfms in progress when dthe_remove() is called, the devm allocated dev_data gets freed. Then ctx->dev_data will point to a memory that has been freed. Add a refcnt to struct dthe_data, incrementing it atomically in *_init_tfm() and decrementing atomically in *_exit_tfm(). dthe_remove() now polls this count, with a bounded timeout, so tfms allocated before removal have a chance to be freed first. If the timeout expires, it warns and proceeds anyway rather than blocking removal indefinitely. Fixes: 52f641bc63a46 ("crypto: ti - Add driver for DTHE V2 AES Engine (ECB,= CBC)") Signed-off-by: T Pratham --- drivers/crypto/ti/dthev2-aes.c | 4 ++++ drivers/crypto/ti/dthev2-common.c | 22 +++++++++++++++++++++- drivers/crypto/ti/dthev2-common.h | 5 +++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/ti/dthev2-aes.c b/drivers/crypto/ti/dthev2-aes.c index 8899b53f032b1..3769fd7da8d0f 100644 --- a/drivers/crypto/ti/dthev2-aes.c +++ b/drivers/crypto/ti/dthev2-aes.c @@ -122,6 +122,7 @@ static int dthe_cipher_init_tfm(struct crypto_skcipher = *tfm) ctx->skcipher_fb =3D crypto_alloc_sync_skcipher(alg_name, 0, CRYPTO_ALG_NEED_FALLBACK); if (IS_ERR(ctx->skcipher_fb)) { + dthe_put_dev(ctx); dev_err(dev_data->dev, "fallback driver %s couldn't be loaded\n", alg_name); return PTR_ERR(ctx->skcipher_fb); @@ -135,6 +136,7 @@ static void dthe_cipher_exit_tfm(struct crypto_skcipher= *tfm) struct dthe_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); =20 crypto_free_sync_skcipher(ctx->skcipher_fb); + dthe_put_dev(ctx); } =20 static int dthe_aes_setkey(struct crypto_skcipher *tfm, const u8 *key, uns= igned int keylen) @@ -576,6 +578,7 @@ static int dthe_aead_init_tfm(struct crypto_aead *tfm) ctx->aead_fb =3D crypto_alloc_sync_aead(alg_name, 0, CRYPTO_ALG_NEED_FALLBACK); if (IS_ERR(ctx->aead_fb)) { + dthe_put_dev(ctx); dev_err(dev_data->dev, "fallback driver %s couldn't be loaded\n", alg_name); return PTR_ERR(ctx->aead_fb); @@ -589,6 +592,7 @@ static void dthe_aead_exit_tfm(struct crypto_aead *tfm) struct dthe_tfm_ctx *ctx =3D crypto_aead_ctx(tfm); =20 crypto_free_sync_aead(ctx->aead_fb); + dthe_put_dev(ctx); } =20 /** diff --git a/drivers/crypto/ti/dthev2-common.c b/drivers/crypto/ti/dthev2-c= ommon.c index 5ca1576664133..3844faf5fec1f 100644 --- a/drivers/crypto/ti/dthev2-common.c +++ b/drivers/crypto/ti/dthev2-common.c @@ -27,6 +27,10 @@ =20 #define DRIVER_NAME "dthev2" =20 +/* Interval and timeout for polling dthe_data::refcnt on removal */ +#define DTHE_REFCNT_POLL_INTERVAL_US 20000 +#define DTHE_REFCNT_POLL_TIMEOUT_US 1000000 + static struct dthe_list dthe_dev_list =3D { .dev_list =3D LIST_HEAD_INIT(dthe_dev_list.dev_list), .lock =3D __SPIN_LOCK_UNLOCKED(dthe_dev_list.lock), @@ -41,13 +45,21 @@ struct dthe_data *dthe_get_dev(struct dthe_tfm_ctx *ctx) =20 spin_lock(&dthe_dev_list.lock); dev_data =3D list_first_entry_or_null(&dthe_dev_list.dev_list, struct dth= e_data, list); - if (dev_data) + if (dev_data) { list_move_tail(&dev_data->list, &dthe_dev_list.dev_list); + atomic_inc(&dev_data->refcnt); + } spin_unlock(&dthe_dev_list.lock); =20 return dev_data; } =20 +void dthe_put_dev(struct dthe_tfm_ctx *ctx) +{ + atomic_dec(&ctx->dev_data->refcnt); + ctx->dev_data =3D NULL; +} + struct scatterlist *dthe_copy_sg(struct scatterlist *dst, struct scatterlist *src, int buflen) @@ -200,9 +212,17 @@ static int dthe_probe(struct platform_device *pdev) static void dthe_remove(struct platform_device *pdev) { struct dthe_data *dev_data =3D platform_get_drvdata(pdev); + int refcnt, ret; =20 dthe_unregister_algs(); =20 + ret =3D readx_poll_timeout(atomic_read, &dev_data->refcnt, refcnt, !refcn= t, + DTHE_REFCNT_POLL_INTERVAL_US, DTHE_REFCNT_POLL_TIMEOUT_US); + if (ret) + dev_warn(dev_data->dev, + "removing with %d transform context(s) still active\n", + refcnt); + spin_lock(&dthe_dev_list.lock); list_del(&dev_data->list); spin_unlock(&dthe_dev_list.lock); diff --git a/drivers/crypto/ti/dthev2-common.h b/drivers/crypto/ti/dthev2-c= ommon.h index d4a3b9c18bbc1..8eb27812b8cdf 100644 --- a/drivers/crypto/ti/dthev2-common.h +++ b/drivers/crypto/ti/dthev2-common.h @@ -18,6 +18,7 @@ #include #include =20 +#include #include #include #include @@ -53,6 +54,7 @@ enum dthe_aes_mode { * @dma_aes_rx: AES Rx DMA Channel * @dma_aes_tx: AES Tx DMA Channel * @dma_sha_tx: SHA Tx DMA Channel + * @refcnt: Count of transform contexts currently holding a reference to t= his instance */ struct dthe_data { struct device *dev; @@ -64,6 +66,8 @@ struct dthe_data { struct dma_chan *dma_aes_tx; =20 struct dma_chan *dma_sha_tx; + + atomic_t refcnt; }; =20 /** @@ -113,6 +117,7 @@ struct dthe_aes_req_ctx { /* Struct definitions end */ =20 struct dthe_data *dthe_get_dev(struct dthe_tfm_ctx *ctx); +void dthe_put_dev(struct dthe_tfm_ctx *ctx); =20 /** * dthe_copy_sg - Copy sg entries from src to dst --=20 2.34.1