From patchwork Fri Apr 25 12:45:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 1751 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 314681F4626 for ; Fri, 25 Apr 2025 12:45:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585150; cv=none; b=ozCRrxkvJ59BFVLufPKFjmh95P+vDCJfvsacuJEJnESVdSgC94U5ccq3g7nH52tn2hPuHHaADhlapSZBFZ6Ttv6XDomvK3MmCyovFbO1Qp5vjJls2A1sPSMvfV8/rkPmbPR8WOHbokTSIUzH8MLB320v2aXKr4BwaGL+rwkvxW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585150; c=relaxed/simple; bh=N1JqJa/Thtcgbai7AXn0UM396DEB6usJBO8fHeX8CeQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=TbU2Cyqvf6egm+YUVzXDJ7GlUYeoIXOK7vUMDkIA0uoxi/ikH+A9ENATeHtzAcZFdY8dQ6BhC1dxgh88tGeWBW4cp+AeA7jBUH11SYE1HqFO+M4Ll5dNFhxogDcGhwPZHovjIJAXeRiXFrl2eYmxbc5aWFrbLSvIAmD9NE+Kk0s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cirj4Daw; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cirj4Daw" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-acae7e7587dso342233066b.2 for ; Fri, 25 Apr 2025 05:45:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745585146; x=1746189946; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=l3BCALyVfXKt+WZYBHxbyWx+XxVRkGCfaI97XHpd+pY=; b=cirj4DawidzPy4MmxWSZagM6Sq9s9OuUE/s3pT2LCukaEQ9yKFwaKIBapX4z+zvD+2 85wElBW48tmGN6cUS/G81SIDM5KwFpULw295YVfOD8PaGqvCiWyCXjOGoTLOvCMI1H5b lrKbwYuDfHNqLs+fDLALw+vSrL/1fre6k8DLHWtszgYqCK21dTH/YK9690TSs/a1Frmv VA9z3tOkiLSG5Iow3pU9dv5VEKnR5g38Fu9zOilezb9qVECZivbLeHYajcnqYdnpLhmm kZ9Dx27yTNNg0MxTe4Nw3UB2WnH7DatI+2hOuv6CfqIkw9CWvdhFxO8ApX3/UZ0WdUQw pmUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745585146; x=1746189946; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l3BCALyVfXKt+WZYBHxbyWx+XxVRkGCfaI97XHpd+pY=; b=LwxiITo5L4Ux3jqoIMR6YnQpGRLsSUxsnd7T1T48lsXrqe5OY6PI8W7d8Rtp/Z6klg FJhtvBBLjxi2yyttD4G6zEUjfCQS2q9QLH3rRTTKsk6/vBFlWH21nmVby2RcR7EAxxJy Gslz0+NMnquiOJihvP2BuaVBN/TdzFdJXUnpyYTyj++V/PbbB4WCKWephMMYkOqK4zKC JL2dt0QrPmQT+9C9w6Tpt3SQMZISb4MjzeXrIUvU0Izq0mE8WIlNhYj7mdoE7MNtgEoM zgxlJv3fWnBWtVpdxlvtEiijqKjGb1sdqTAukviCTshcnejadZeaOYxAqzIthSpJv9yN AIrg== X-Forwarded-Encrypted: i=1; AJvYcCVOG+5nKiFAS4eMeq/i5WPRJmI8XAhx9Gn4S/qOk2z72YFjUwORrxmlc68Yj3G+m+MhSxoUGe+jYwJ62Q==@lists.linux.dev X-Gm-Message-State: AOJu0YzLMxQNx/dxehTwyeJYMVGXe90Ipdt+oH6UWUm3v8plxYLsN8L1 eFBTjxs4pM9E4aB8/GeTNy+JptSf6TJNs1oGPEPhfBgd+dmlFBWT X-Gm-Gg: ASbGncvmkXKTFw2JMBtouRc1nVfMgEkaYZuqb0gO1JV4i3xUYB2Slbc9CmuVrxWGAay Anpei2fuEFhSeveWEPxZAD3DF1xRmOsMNRR6r3I9Z4dZga3tzpa3LE1JGFXsAZyLrTah1aIYpJQ z/aXrr1yW/RvILQhavbV2yWTXcxZFIYaMFa1RJ1mL9ONdGPJQBGlVdN0Z3jxAG23+19e/WUL7MA 5DRRQv34IurdIjowORf7Xo4z5TU/dTlk9MHrBYbWfDlnj3ODQlLTYShjWzs9jtRjndspxiIG6cX vwfB+NgaErhWm50hr8uqmGnG7rg4DwOy62pJI4hMFt20Df1BALB23e7arDSgP1dP4BMZFfmVHiY ziy0= X-Google-Smtp-Source: AGHT+IF6lACxg5XQV9zx3XY5JZvnZc0emetlxi1pM+qXxla8Kdp3t0Y/dF93JbbLv9LE6OFyvzm8+A== X-Received: by 2002:a17:907:1c29:b0:aca:95e7:9977 with SMTP id a640c23a62f3a-ace7113336fmr191137166b.28.1745585146266; Fri, 25 Apr 2025 05:45:46 -0700 (PDT) Received: from localhost.localdomain ([2a02:2f0e:c50a:8800:cf9e:ee0b:4a01:37f6]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e4e7094sm134641766b.56.2025.04.25.05.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 05:45:45 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH 1/4] crypto: sun8i-ce-cipher - fix error handling in sun8i_ce_cipher_prepare() Date: Fri, 25 Apr 2025 15:45:14 +0300 Message-ID: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.48.1 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O Fix two DMA cleanup issues on the error path in sun8i_ce_cipher_prepare(): 1] If dma_map_sg() fails for areq->dst, the device driver would try to free DMA memory it has not allocated in the first place. To fix this, on the "theend_sgs" error path, call dma unmap only if the corresponding dma map was successful. 2] If the dma_map_single() call for the IV fails, the device driver would try to free an invalid DMA memory address on the "theend_iv" path: ------------[ cut here ]------------ DMA-API: sun8i-ce 1904000.crypto: device driver tries to free an invalid DMA memory address WARNING: CPU: 2 PID: 69 at kernel/dma/debug.c:968 check_unmap+0x123c/0x1b90 Modules linked in: skcipher_example(O+) CPU: 2 UID: 0 PID: 69 Comm: 1904000.crypto- Tainted: G O 6.15.0-rc3+ #24 PREEMPT Tainted: [O]=OOT_MODULE Hardware name: OrangePi Zero2 (DT) pc : check_unmap+0x123c/0x1b90 lr : check_unmap+0x123c/0x1b90 ... Call trace: check_unmap+0x123c/0x1b90 (P) debug_dma_unmap_page+0xac/0xc0 dma_unmap_page_attrs+0x1f4/0x5fc sun8i_ce_cipher_do_one+0x1bd4/0x1f40 crypto_pump_work+0x334/0x6e0 kthread_worker_fn+0x21c/0x438 kthread+0x374/0x664 ret_from_fork+0x10/0x20 ---[ end trace 0000000000000000 ]--- To fix this, check for !dma_mapping_error() before calling dma_unmap_single() on the "theend_iv" path. Fixes: 06f751b61329 ("crypto: allwinner - Add sun8i-ce Crypto Engine") Signed-off-by: Ovidiu Panait --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index 19b7fb4a93e8..05f67661553c 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -275,13 +275,16 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req } else { if (nr_sgs > 0) dma_unmap_sg(ce->dev, areq->src, ns, DMA_TO_DEVICE); - dma_unmap_sg(ce->dev, areq->dst, nd, DMA_FROM_DEVICE); + + if (nr_sgd > 0) + dma_unmap_sg(ce->dev, areq->dst, nd, DMA_FROM_DEVICE); } theend_iv: if (areq->iv && ivsize > 0) { - if (rctx->addr_iv) + if (!dma_mapping_error(ce->dev, rctx->addr_iv)) dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE); + offset = areq->cryptlen - ivsize; if (rctx->op_dir & CE_DECRYPTION) { memcpy(areq->iv, chan->backup_iv, ivsize); From patchwork Fri Apr 25 12:45:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 1750 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6940A24C067 for ; Fri, 25 Apr 2025 12:45:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585151; cv=none; b=JNNRacuRfYOOsb6KIMp6VaLdPpbYK/USe3xJrHDuWPT6SL8fCUX+sgqyiU2n1cx/ik+RvSzClp0GEBQ+r2Cy+mO8kY6OnW6138sgctOFZf+HHPlN6ZdNyKsj2wS3yHN4IU0xwdnxFIGfi3L9P9q9j8vhZg3YVly2lr3v4cigUmE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585151; c=relaxed/simple; bh=3iija+D+wAivPTxPgQkDWS76dXwwDw+JDuIms6/61uo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=imNlsI1thN4p+UVr6AM6GP1RiGFESY1ajMRX57R1ujSMZcTfI4BCgN7Bjk+VgaKQTkat0D7O44AhjOJyOk5XG2qd4gW5L54x9wE7BcBUlUj90vISu5rfj6eW95GjZnrB5rmu4F5EIqVP/LCw5YIfvayShmzpRPBUt3RwtFMRArg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JgeE09Ch; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JgeE09Ch" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-aaecf50578eso337732966b.2 for ; Fri, 25 Apr 2025 05:45:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745585148; x=1746189948; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=p5+vsDywURKto5J2uSvLDBbpGVTjH81pRFa24AxG5QI=; b=JgeE09Chi7rKu3Hl+qbOv+iearYSGTzGknM0gJzN7709d0lGKtEG0iDg/PQBeoxOeN tmkUIlRRLIJcQf9J5R3TlmretDly3tdRp+9KcWoW4/D73W8GiPo5imWvIEWiADCn+HuM t8XBYAKzEXCrs8thlsH0pGJ5k4ptRwxrtpPFMDDxvvnV9kK6tnlGxY56MmFv59nrFor+ LW72ZaeVRYCPm2JMEHTGJ97Ip8e1b0/aSad2bgTMrVcB0ZasPZ8ObYBruOvpi9AFjif1 SKttlLVVsS75wjJpV5LuSLJRWegG4/+4QVOF1lQZDfNxsbyTLZbPnXaUlyhYmYfLTP8m 507Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745585148; x=1746189948; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p5+vsDywURKto5J2uSvLDBbpGVTjH81pRFa24AxG5QI=; b=A4dgQkc5p96HbH5jZ7X5o/PEL8nlmDmox6iTlRD/9gw7HBO8N0Qu24QnmKvDhxBGUq Myz4UGzHZKoeYnBHVSR0P81PPEKRq6TqMWCepJuUr12BLi0XoJmLqRozSWk+Ycymz3xy nXMwng1/WF/DA/2HYedb/ic+yvx7ZaEiWzKkAtIGXmTSflfHGhkdCAx9Efwk+GsI0laO foI+1g29gUBvfMKd8rO+g1gXV6crz8uKiY7ooNDiolOAsy1z+uiqx414zakI2p8tD9a2 WAgXy3Ny9UdXrbwpu0rvmqFtZZY/lLCvjxA/Xug/5zagdjRK6AJmVURA0QEZ7xJgMC2F RMGA== X-Forwarded-Encrypted: i=1; AJvYcCVrrSmABn7zcCFnYN/ZskVMz6/3ooWufigh2kUSqYo1xMf9GVpzg3AyM8Zr0tvpdIRcK2SqaNPVFrH2qQ==@lists.linux.dev X-Gm-Message-State: AOJu0YxsJn8hiZsOwUnTJTiP0lXxTT7bwVQWE1hx3rRVP8YbCg2zM82l k48Hjgg/FQsahr4XQ5+JXsnie7gszgNQUjUQjpdJ1eQyM9rNBaRl X-Gm-Gg: ASbGnctQG6Ecr3scgmptmLN3p2hb3As0hoN5vPyCsXvkEHyoxUROHC2NXhnLtYuJZZx nXaCBPwMO0a/qtLDbFJK63eL/KBmpk/lnAQSWVjINrjWv4Yan1uWs6DnfDZwbNs6MoihGwgLHYb 46N635juXh+nsSdUtarLqpIzC/xUv5X61HgBeXzeLVB1uKk57gcKchMqB+iVMGJl8IXxjMnsfye olAmypA4edl0spIfyZtOC4XpPp3YXZ6iDt9S8AnBc7QoqtpWBFfDJ3e59C645HfhfSLasgLTayG k6JWWXsKOcKzcQNrwGTV3aGEhXebCSbkE4gj2LB2Mkrq1Ir3+Z1clPBHImlx1rkbns6e X-Google-Smtp-Source: AGHT+IHslZla2YsavTI3FKWyUmmzSPKtVbN76hsEb/Nq6bQTRCWaVxHsrrr0xKG5Y0qcVDJqED8AMg== X-Received: by 2002:a17:907:9485:b0:aca:c507:a4e8 with SMTP id a640c23a62f3a-ace71095212mr185275866b.21.1745585147374; Fri, 25 Apr 2025 05:45:47 -0700 (PDT) Received: from localhost.localdomain ([2a02:2f0e:c50a:8800:cf9e:ee0b:4a01:37f6]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e4e7094sm134641766b.56.2025.04.25.05.45.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 05:45:47 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH 2/4] crypto: sun8i-ce-cipher - use crypto_skcipher_driver_name() Date: Fri, 25 Apr 2025 15:45:15 +0300 Message-ID: <20250425124517.2225963-2-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> References: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O Use crypto_skcipher_driver_name() helper from , instead of accessing struct crypto_alg directly. Signed-off-by: Ovidiu Panait --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index 05f67661553c..f03a8fa7bfa2 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include "sun8i-ce.h" @@ -438,7 +439,7 @@ int sun8i_ce_cipher_init(struct crypto_tfm *tfm) crypto_skcipher_reqsize(op->fallback_tfm)); memcpy(algt->fbname, - crypto_tfm_alg_driver_name(crypto_skcipher_tfm(op->fallback_tfm)), + crypto_skcipher_driver_name(op->fallback_tfm), CRYPTO_MAX_ALG_NAME); err = pm_runtime_get_sync(op->ce->dev); From patchwork Fri Apr 25 12:45:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 1749 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CC6124DFFD for ; Fri, 25 Apr 2025 12:45:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585152; cv=none; b=DGiGtf0NrPnIsEa54ve6lqa+x+gNU2l2oqkbf1ECnf2q6FHDVekwkAGyYbjGJg0BMvMIWV8MkoE+K3AfvjJvbAbKTRqkeaQxjWK72S1kZeAE6iYYWRPVlPs7a86UOIrb+PflSNlyOTdi23rtJp753qP6jpWwmMS/xACy7RJattw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585152; c=relaxed/simple; bh=1u4Z29Anp5j72oBtUya4T+wvp68KB3fipULiInA7Juw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rzl7RXeNYDDa51PE6GO5xrxMzYpQ+BsgQrEMnAKlP/umultzEdfBkEO+4UE0j1x8/5Hu3RzZGSppDkJeg8jlslhFFa1umpKd/0XIr4vOg4Gy1wJupEgrT8zS2Uq5kcbpG74s/vUbGLDaWQ/mJYtg6GSWrjX66dZ6pB/elyyqekw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=L7BjVXIK; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="L7BjVXIK" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-ac7bd86f637so646486466b.1 for ; Fri, 25 Apr 2025 05:45:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745585149; x=1746189949; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QlIhz0JB5sRSfAD0HIOOevrgWFZ2yotgxE/TDOX4uAU=; b=L7BjVXIKMsS6i3a1P44WqDLvIfMi+R4VNRAoRzEmm4HU/PkGgPwF8qAgXkDVC9abxE hDeggXKizdm5vfjB05DmkOIzyrq//vfOG82dmWzsNgCAhhVwAxinx6toRgSy9I6Yxam5 gL/ECv+6uaQwv3iH5sktg/iiMPLd9KTSqiURs4dZJaI3IjJSs2xODKag7f4q8SlFASkC rL/B12rKOrRclrrQxT2SxykWYlEC0/S8sngkHmefADEvo1jIwuH6dy92I+msuFmd1sv4 rYbXdHBHM5ZYfr0tKzXrxToW7WYcAWgrtgNdwNCO7uNyxzq4mHBQm0T90i3YKEtiOcSe ibfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745585149; x=1746189949; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QlIhz0JB5sRSfAD0HIOOevrgWFZ2yotgxE/TDOX4uAU=; b=EySJIIJykvIYmdFNYZxR7rGKZabBYEWB6hXwHr9NLkk5DfSnhFOqCoVHyv23t029PW tV0Ab3NCM6ev3BTCXIPonryBhjENSmNBIfEE9aydHRM22S0X2iWJxcFrKtLmam3Wb5MU YuXuXBWRKv1vV0ykhusB9Lr/kcexALIHVEkMhGBD/7EiY9jRtmqMC7OXeVOaGfw8Mvvc f/oqMalJR0u62xFHu4RzGp6QPIctj1a7JeRMIvKLQn2pZ6PK1Gr0GvSg/iikOwWXtPRs jdX5mEnOnwHfhxcWbJ9Z5VtWotAXnTdTxVT3opKDso2dtibANOjb1aXL4S/ucL205+O2 EoCw== X-Forwarded-Encrypted: i=1; AJvYcCVv5WTQyrP8ivmxojlIhU6hz+xIPe8niRgvNhF7GxWxyz3AzBMdjQLhq6f8KoAzx0kOqztGIwnAtixLwA==@lists.linux.dev X-Gm-Message-State: AOJu0YyXHaENksPSd4yJSm62X3qJ1dx+2IFSVX3U5ik0hAzolpkC8X67 5AfRWztiziYueFUxuKXUO755Lhlc3i3JiEX7ecL0SJvqqo7Y0LYr X-Gm-Gg: ASbGncsE7eXcFYM4ODjLhB4JEuN2hgDZ6DkFQPx28I+tCs2sZICkXdSu+r8cVDrJjbE kKeYQOMq2nIH0/zBioOdzV9jgXVHjGuZrKne8jvdfGd77AHiWyr7c1Ys3YwprYi8QP87tBmuztI yaL56gtVSJrK5lpVkTwZae/k5DBtF/W70hRrGDLdMGzR55H8k0lf115lj/p38hw0dl44sm5QWs1 vioOke86pKEvp9iZyFSdC7zocGONU3ymJkHOmP4v5hNr0LZxG5m8YZX9h8Cqp6dUGjex9axf7UT H8/3Y12TK6WpAYIaknzcIalCzTg974R63kfzBd3t5LTyjUjBZfj+Ow70JkN70CvRxo9o X-Google-Smtp-Source: AGHT+IHsRkfW4z8AS9Sjh3HauYzSDV+j3U5Ovg8Y3HzMxW6/Vp1c2OsJ8tuja5lsWTGyHhQu5GJEEA== X-Received: by 2002:a17:907:cd0d:b0:ace:3291:751 with SMTP id a640c23a62f3a-ace5a2a87c2mr526981066b.14.1745585148502; Fri, 25 Apr 2025 05:45:48 -0700 (PDT) Received: from localhost.localdomain ([2a02:2f0e:c50a:8800:cf9e:ee0b:4a01:37f6]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e4e7094sm134641766b.56.2025.04.25.05.45.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 05:45:48 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH 3/4] crypto: sun8i-ce-cipher - use IS_ENABLED() checks for debugfs stats Date: Fri, 25 Apr 2025 15:45:16 +0300 Message-ID: <20250425124517.2225963-3-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> References: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O Add IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG) checks before the fallback counter updates to make sure the code is not included when debugfs statistics support is not enabled. Also, drop the existing ifdef guards, since 'struct sun8i_ce_alg_template' is always defined, even with CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG disabled. Signed-off-by: Ovidiu Panait --- .../allwinner/sun8i-ce/sun8i-ce-cipher.c | 46 ++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index f03a8fa7bfa2..433cd18f0b5b 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -34,22 +34,30 @@ static int sun8i_ce_cipher_need_fallback(struct skcipher_request *areq) if (sg_nents_for_len(areq->src, areq->cryptlen) > MAX_SG || sg_nents_for_len(areq->dst, areq->cryptlen) > MAX_SG) { - algt->stat_fb_maxsg++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_maxsg++; + return true; } if (areq->cryptlen < crypto_skcipher_ivsize(tfm)) { - algt->stat_fb_leniv++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_leniv++; + return true; } if (areq->cryptlen == 0) { - algt->stat_fb_len0++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_len0++; + return true; } if (areq->cryptlen % 16) { - algt->stat_fb_mod16++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_mod16++; + return true; } @@ -57,12 +65,16 @@ static int sun8i_ce_cipher_need_fallback(struct skcipher_request *areq) sg = areq->src; while (sg) { if (!IS_ALIGNED(sg->offset, sizeof(u32))) { - algt->stat_fb_srcali++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_srcali++; + return true; } todo = min(len, sg->length); if (todo % 4) { - algt->stat_fb_srclen++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_srclen++; + return true; } len -= todo; @@ -73,12 +85,16 @@ static int sun8i_ce_cipher_need_fallback(struct skcipher_request *areq) sg = areq->dst; while (sg) { if (!IS_ALIGNED(sg->offset, sizeof(u32))) { - algt->stat_fb_dstali++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_dstali++; + return true; } todo = min(len, sg->length); if (todo % 4) { - algt->stat_fb_dstlen++; + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_fb_dstlen++; + return true; } len -= todo; @@ -101,9 +117,7 @@ static int sun8i_ce_cipher_fallback(struct skcipher_request *areq) algt = container_of(alg, struct sun8i_ce_alg_template, alg.skcipher.base); -#ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG algt->stat_fb++; -#endif } skcipher_request_set_tfm(&rctx->fallback_req, op->fallback_tfm); @@ -147,9 +161,8 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req rctx->op_dir, areq->iv, crypto_skcipher_ivsize(tfm), op->keylen); -#ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG - algt->stat_req++; -#endif + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + algt->stat_req++; flow = rctx->flow; @@ -438,9 +451,10 @@ int sun8i_ce_cipher_init(struct crypto_tfm *tfm) crypto_skcipher_set_reqsize(sktfm, sizeof(struct sun8i_cipher_req_ctx) + crypto_skcipher_reqsize(op->fallback_tfm)); - memcpy(algt->fbname, - crypto_skcipher_driver_name(op->fallback_tfm), - CRYPTO_MAX_ALG_NAME); + if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) + memcpy(algt->fbname, + crypto_skcipher_driver_name(op->fallback_tfm), + CRYPTO_MAX_ALG_NAME); err = pm_runtime_get_sync(op->ce->dev); if (err < 0) From patchwork Fri Apr 25 12:45:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 1748 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B84F72500DF for ; Fri, 25 Apr 2025 12:45:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585153; cv=none; b=aYLw8M9nHCgamVBMCUxMsXGiyvsJQS1z5ttcm1QI1wbpbhNPp1PNf+1HQ5tDntBzbHZO9Dn7XEgNsM2uSn4Iq7O7fbOyB3eZ2f10RzWtlwcahEOlhx5TQh45OGcOlOkmZtf75xXkq5AnSX29JIvucsuKGUGgIxLSwj6NV2pG2Jc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745585153; c=relaxed/simple; bh=exRkwnVeS/Cdsai2sezNI/oSufx/K7jdx/8Kohn6yVw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cBj2xt2XWFl6o+UPNZ0rJT2ow6Mh6ZQk0EyeryZEGhP0uD4Tl5QxsXugVyEnqNsJeNd29pw6JM3tJDQoFIRNb9OKWUhNZNuWxT8oyXlFdOOUnzv87V/RHVDwSrZc4pqwfccxRoGy0n+d2f2cqSXruH3N5W5imRskQBx9FEleryk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kXQ8Dmf0; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kXQ8Dmf0" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-acb415dd8faso324137466b.2 for ; Fri, 25 Apr 2025 05:45:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745585150; x=1746189950; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zJZkOqtqIFJNQlkOlUTiGoivFhrWHNceh/fOrvQbc9Q=; b=kXQ8Dmf0hVuqzsDul/lsG2+y0AnUuJHuFa4DktsEUBY7xTNChLEV0ALo+Xi76D8cs9 2Qpu1DhgmzIf6zJ79/y1TIodzNO5BV1EzlIoEQFzeMdB1RChPyU3cckg1G9pPxawzFL6 6SB0RdH+G7HGF383hGeI1A+3g1o4HLQo4g34I17RrjSaQudX7otzknNRwXeOm9q+kkum frUyO/y7dccFXwx6+P0NX0/2mceI7thITjQTHs22CQSYqEOLGdxXMhrQgZ2WsGk/UA07 hc7IH0zsUvjdhNXtrqz5KkRe1LZy6ZAX5xRVDerwg6p3IBXjCziojViaBbPkKqSto/Ht cSuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745585150; x=1746189950; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zJZkOqtqIFJNQlkOlUTiGoivFhrWHNceh/fOrvQbc9Q=; b=oQpZhBUiZYECeWtuMeZICcW9aUXZV6WNelssNHi4e1aLvARLs8LocJlPT+P3b/RoE4 QHzVzQvrKyRtr8Rt8atuD+vDpRDF7PmMgT+j1CS7uLmE8VTXvsABqh0SPsBjYGdIXV3f JDILtnTEeusztvRmezSwyWg6M3dZUgEbLYyf+b4fc4lZWrpu1P0wWiVLU1BP4IjZPdsW WmFoRAIzn7DPX3aog+uxkkVtSC9GKvQBWTHZLoc1Pboaazt/OWxQ5W30Q5+4p/CUtwAE aWP/bAEEWSUgyaiJLLW61KK5WeusyjW5QV0fO93RiWJkLaI2uth+bazTOcA71ykvreir 6LWg== X-Forwarded-Encrypted: i=1; AJvYcCXg7aAP9UealgvVt7cViBAddlpE5TZiel7m5ZabXMzJrkoLXVRMk/FQwcxaxkdpockSjv29er2IzEAkQQ==@lists.linux.dev X-Gm-Message-State: AOJu0YzSwTirLzdgukWeqdVOv5ob++l9JjUFhGoGQJ3OqlcQZBHi5UCN KvPD0ghSTLr7WLDgyclTAhVX+lPfMaExeccQMjTnPT06Yw0fLlAB X-Gm-Gg: ASbGnctCd5j8V/fq58P9xzlU2P1W+s9pbjFArTHYJ96nEUu4yK2biTVGx25BWTJ7EpO On1vSCBoi0QMbOMhNVbyWSw/IJBoyOQukUxgZw2PIiHCvGVaqzd+HTeDEWt9k3su49nseQQ5PxA WLKP+4F+mkBhbanLfK55hpB5ba4OEsOJPgk4Ia+mkVjUWkjuN6BmuqxPnEMpWFhaimjy/CY98vN MMjCgdvBfm1pajO6YKYb7DrubHFqAbKKd0fdORLLkGBy1rocGT0koUOijrODxQphpDBtNNw59k7 02u5zd5eBk3IB0D0yvaFvfhwXRfxeO2yiUFSgZLyafqXY/gTjaucGpV6nypJX1siN2tL X-Google-Smtp-Source: AGHT+IHX1fUvg5R4L0dWk/e/ZPWlYj/hBTwXn2LGbh3X7N19EfXlUA+lvP4IWHRCaDEIAuZ5mEtnsQ== X-Received: by 2002:a17:907:7ba7:b0:ac7:cfcb:c3e3 with SMTP id a640c23a62f3a-ace7136ccadmr194648166b.45.1745585149643; Fri, 25 Apr 2025 05:45:49 -0700 (PDT) Received: from localhost.localdomain ([2a02:2f0e:c50a:8800:cf9e:ee0b:4a01:37f6]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e4e7094sm134641766b.56.2025.04.25.05.45.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 05:45:49 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH 4/4] crypto: sun8i-ce-cipher - use pm_runtime_resume_and_get() Date: Fri, 25 Apr 2025 15:45:17 +0300 Message-ID: <20250425124517.2225963-4-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> References: <20250425124517.2225963-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O Replace pm_runtime_get_sync() usage with pm_runtime_resume_and_get() to simplify error handling. This is recommended in the documentation of pm_runtime_get_sync(): /** * pm_runtime_get_sync - Bump up usage counter of a device and resume it. ... * Consider using pm_runtime_resume_and_get() instead of it, especially * if its return value is checked by the caller, as this is likely to result * in cleaner code. ... */ Signed-off-by: Ovidiu Panait --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index 433cd18f0b5b..471eec743f1c 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -456,13 +456,12 @@ int sun8i_ce_cipher_init(struct crypto_tfm *tfm) crypto_skcipher_driver_name(op->fallback_tfm), CRYPTO_MAX_ALG_NAME); - err = pm_runtime_get_sync(op->ce->dev); + err = pm_runtime_resume_and_get(op->ce->dev); if (err < 0) goto error_pm; return 0; error_pm: - pm_runtime_put_noidle(op->ce->dev); crypto_free_skcipher(op->fallback_tfm); return err; }