From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) (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 8C5E6348860 for ; Sat, 13 Jun 2026 23:46:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781394381; cv=none; b=i+jA0oquZkOoJro0XXlCWR/Nzry5S0U7Ypj8em0rPK8wJuWQaNIt9ukGcMYLFb0J0/NQWM6bo9cW4q1vcLFREdxFLQc6xA7tEmZ3VMxCfKkygFv1ZXjOQna/5WyklDghnpOhgYdVc2sfcAq91Q+5TSR36ex/uR5Prcmeg6UZ63w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781394381; c=relaxed/simple; bh=CfWJot3SKjXt8ceJZLe4hKTlf92dxoeuK2OvsyC3Frw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=UIh8uNpr3IiBobccc107esG5JoA/yc9x48jlbsZYhnzwd1YoCkFV3zQsIipuu6dYse+GJB8bdS4kYHPe0w2PhSNlz5x3Tq/OfIvISA9Vsr7jtROKGUmeBXkHvByKhC3I9j2Pkg+Aoox4lXrEPxNFLFnv2hVhbqfnK7GmdfZIiP0= 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=aR4w9yPv; arc=none smtp.client-ip=209.85.160.177 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="aR4w9yPv" Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-5177945a279so24243731cf.0 for ; Sat, 13 Jun 2026 16:46:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781394379; x=1781999179; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Ls3gEwpchKnksI5GGC5dUIm4pnSS/9GpJMm8LP9GAcI=; b=aR4w9yPvNy/a1460X52igemGR164nfPkglBLdNY98RMAoyC25hmEteSFUEfpzFPclY buva45BmRfiQxTH1fW8Ocmm/huKF0yM5nmo0ep59i9kMHZnGT/UPz6G+9YeoumuLqHls lRZBpuQ2PIaWVLfHyP4tVSsp1Azcnl8VQkbcAO3po9kbDpzZYp6Das8cBukShkX31c21 2ewkLZMUwu5BAJd1uJMOcDVwb4Gt70oZZjE2+PNNhSVn4HvliVZ0EQ+KIeLZtvUBdHre Fz31aoDAgFXSUH9dqgyjwF7vu8/xVZJeaU+MYLFMQ2679e5lnbvxzILytRJ6vwxC5Vpt suAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781394379; x=1781999179; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Ls3gEwpchKnksI5GGC5dUIm4pnSS/9GpJMm8LP9GAcI=; b=qiBRfZ5SW5nnAF6XGQO4ddl1HwHfXAb2AqqLmbtI/mk/NjFNqdN5nyw2URx40mBcSA kPUffqXRxihkkTaxkv50HyotZR+qRuxmqpnaG+BtJ9NpK2/PkhDgKk1a7tqBUgt0JOb+ zP8hNHV5llSTQcKl/iNaketcshJBvV12tK7bragJD8iUIxApmNNAftwQSgDmwDIxEuFC 2MNxiuA+Q/hnY1PpjG0K3zx87d8JvrlEYJiV64dnYldy6hAbWPvOC2yG7zL6RNyulAzX 98fIh3ONScS3xC6OWDhUfaYSFrVpht7TuRyztsrlDU8s4HsTn2MN//XTtzweZfUBKoOD AKiA== X-Forwarded-Encrypted: i=1; AFNElJ+ZGSfwsl/R3lO9T9UTlPhhzj241FQ+zzQndXs4FU/28HYAH7+jkimDXwzb06onHGvOVT7MZTz61aO04kI=@vger.kernel.org X-Gm-Message-State: AOJu0YwAtbk3hZMVySoabbadsnTxCfBA/wAsgX0W2IDu77UYpzFXskiF aBSUf+TKDDtSSkVExaXsZSoq56NWSlor27+vBT+IV+/FaPExcoUFmL4ztRFSqw== X-Gm-Gg: Acq92OFQ3lvkao9h6LHor2qAdDtV/xhdEuIbyXWjr+jLC38WtUP2PXt8F0+7WknRaKg hrSW6WBfKZg0rNpzsa0urwb/wSTsbjdAFFNB3Qmi805gfU6kHcCjHoe4CWdRxShWne8Wo8e+lTi KVEyAofFtCUfUaAumLvXm0OzVDLN4w24rPBl8ZohIQVyd5VlrKmXvmJIY0wZrIqkIpAfPR2Lz9w id3NB6YV8UiyJpvYO5GHxY2SdJlqgU+NvheK3QhSn5OQUOrgWw8pn1bwO4sSzSvAOO8oHY3OAwk sNQOaVYA4Cyd+C4yOS+/zG8uTjRpFd/9+WyY3PJOPpXBq6obo+6WAT72qidaw6QHflFAmWZ2svB 7hYuAnCoY8DCgdVYNzFZ1PnfJhdFocVjK8Q5omn/7fdQb3n7ckYlgeR4YAamC50BvjMZHHtDkSE Q1XuOc2zGpzDPtUaM0Y/2y1l5ECmuV1s1dgVwAGGRXXUYU1lRx4vyive8wQwhHrevAeH/qEXWnD qYt0VbQ2fCz+D36VDz20WOIAUS2WqXsIvk= X-Received: by 2002:ac8:5f11:0:b0:517:61d5:2f85 with SMTP id d75a77b69052e-517fe5cbddfmr129673881cf.33.1781394379444; Sat, 13 Jun 2026 16:46:19 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:6e63:e53e:e773:8f84]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-517fb81697asm62069361cf.26.2026.06.13.16.46.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Jun 2026 16:46:18 -0700 (PDT) From: Rosen Penev To: linux-crypto@vger.kernel.org Cc: Herbert Xu , "David S. Miller" , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] crypto: amcc - embed pdr_uinfo as flexible array in crypto4xx_device Date: Sat, 13 Jun 2026 16:45:59 -0700 Message-ID: <20260613234559.20934-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit No need to allocate and free separately. This keeps crypto4xx_destroy_pdr dedicated to dma freeing only. Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev --- drivers/crypto/amcc/crypto4xx_core.c | 12 +----------- drivers/crypto/amcc/crypto4xx_core.h | 3 ++- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/crypto/amcc/crypto4xx_core.c b/drivers/crypto/amcc/crypto4xx_core.c index 001da785af07..ea1e40b3184b 100644 --- a/drivers/crypto/amcc/crypto4xx_core.c +++ b/drivers/crypto/amcc/crypto4xx_core.c @@ -171,14 +171,6 @@ static u32 crypto4xx_build_pdr(struct crypto4xx_device *dev) if (!dev->pdr) return -ENOMEM; - dev->pdr_uinfo = kzalloc_objs(struct pd_uinfo, PPC4XX_NUM_PD); - if (!dev->pdr_uinfo) { - dma_free_coherent(dev->core_dev->device, - sizeof(struct ce_pd) * PPC4XX_NUM_PD, - dev->pdr, - dev->pdr_pa); - return -ENOMEM; - } dev->shadow_sa_pool = dma_alloc_coherent(dev->core_dev->device, sizeof(union shadow_sa_buf) * PPC4XX_NUM_PD, &dev->shadow_sa_pool_pa, @@ -226,8 +218,6 @@ static void crypto4xx_destroy_pdr(struct crypto4xx_device *dev) dma_free_coherent(dev->core_dev->device, sizeof(struct sa_state_record) * PPC4XX_NUM_PD, dev->shadow_sr_pool, dev->shadow_sr_pool_pa); - - kfree(dev->pdr_uinfo); } static u32 crypto4xx_get_pd_from_pdr_nolock(struct crypto4xx_device *dev) @@ -1247,7 +1237,7 @@ static int crypto4xx_probe(struct platform_device *ofdev) dev_set_drvdata(dev, core_dev); core_dev->ofdev = ofdev; core_dev->dev = devm_kzalloc( - &ofdev->dev, sizeof(struct crypto4xx_device), GFP_KERNEL); + &ofdev->dev, struct_size(core_dev->dev, pdr_uinfo, PPC4XX_NUM_PD), GFP_KERNEL); if (!core_dev->dev) return -ENOMEM; diff --git a/drivers/crypto/amcc/crypto4xx_core.h b/drivers/crypto/amcc/crypto4xx_core.h index 66a95733c86d..bd4a286514a4 100644 --- a/drivers/crypto/amcc/crypto4xx_core.h +++ b/drivers/crypto/amcc/crypto4xx_core.h @@ -93,11 +93,12 @@ struct crypto4xx_device { u32 gdr_head; u32 sdr_tail; u32 sdr_head; - struct pd_uinfo *pdr_uinfo; struct list_head alg_list; /* List of algorithm supported by this device */ struct ratelimit_state aead_ratelimit; bool is_revb; + + struct pd_uinfo pdr_uinfo[]; }; struct crypto4xx_core_device { -- 2.54.0