From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11011059.outbound.protection.outlook.com [52.101.65.59]) (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 BA0164086A; Mon, 6 Apr 2026 10:09:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.59 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775470147; cv=fail; b=tH0JvgFzpaao7dAUF3TY9D339Tj+k8munUeIbDlXCIVB8Hm5K6nPlz3UuydLR1HEXP3I2wJ2Sw6peeuN+CNbp2Gvh7eOu4VUL1afmKS302m3CBnSo75PGCJFNxaY3nAb58D1m4IhIsf90EeFQpS/n/dTBooKpausIaaKHTtDeK0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775470147; c=relaxed/simple; bh=LDQ6WkMQdVWCEpy/05lK4DdeJtiUG9SnKIJdhKf3uEM=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=LEGcbD6ctr7T8vsJUbUW/DFGXe7qqk2ol/OHVjdz4z1gOWqNsJAwI/9czVhaUEnznNUQfTTP7kC+vuSYfK//HiOpeVZRtlt+NsF1kk6rClhgD43mHfyWxIfZdsUjIUCJwC55+Q/G6S5y0tapCK6zWcJjAAfpH2miMjGyAWnooWI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=INzIuGKM; arc=fail smtp.client-ip=52.101.65.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="INzIuGKM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yU0dDGsgktJexgS7VN29EFpseXi77eV3vziSH4yFuVctAvLDUF7zKvWLRuIUTsAqkLo8jwtSiknlbnklZ7Na2/Z69DVMBnvcuBdO9X9atiocEX2Ittyxz1a41ykjIyjWtrMTxBdBCHmw8qqsyqX3TuE+8RdqiwWXz9903goonAUDAhyoR3EUkdAvs8SXcQya9tdBdCs9yRujfH4p/8O4P0MEsnwD/YcJ5pgGfvleGNbLFI9W7BQVCAoZfX+sjKix2s+liK7CMhMOf0z/RQKFQA3BAti6jkMhr9WowqL6O4w8pNg9eYH0Hj+MKgK4M/XzFMctTp83xUAp3Ep7HtD6Bg== 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=DpjkjyyWN9kdXFMfpy/lzqo573t0R84eMSLhWu2iMdk=; b=paIJiaK6SzotsU0uW/24aKo8OF+GCFwmQqHUvMUD7IQBNG56sGjbZeeAEh45FblgJ5EtpabtyDIMwZJH4FTIE3zN7X6jtdbbwfDdD0nkecPYKqtUXjKpaHgstafgGwaIYA95hF6Nzs+Dpo/dHYTI+hIFuiSyk8yZpedvdZGQ2vJB7nmMkN91iGqXpX6BMAq+pxYWoFw0pRhHcNnglhGGdIpGStQEqvOJS4YhW56Wp9d7japLcjyL1HrhxlAqXZc4BR87S0puGl4FCaIDimZN/npGEKCCMHawMtkjjZX9fDItP/wB4szxA4fLuQakt6BaZs6QtpNeTDlY4BWQYFhyWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DpjkjyyWN9kdXFMfpy/lzqo573t0R84eMSLhWu2iMdk=; b=INzIuGKM+oMVDGIjLV2w654DwjM04uCh/bC6THeBJW9Jfx7i5Sb1A3Mcrk2pxKo8RlikfpbG72SxoqG2JmOC6kHg0fmV+U8IHfUFlG0hmgCBa/8r+Ocklrt383VRfrII3sjs3CTyfDkZmYuC4mvGAdG26xEnzMRL1d8b6Ybim9vxjEKMct9V99vsxdwqx/sJLEXpmclhoWkwXzxifZEwRyvWXkitaalJVvme12Nfpz16bdy1kNu4kyma9VMrPtC7w4HdVPtS8Bjp++sp9FbqRx+BmJ6zZsUJmX4Euav+tuw/pDZYM5RaIJfqnLjfcoyctSk8WLdX+kCLTj//WTjkyA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8) by GVXPR04MB11017.eurprd04.prod.outlook.com (2603:10a6:150:21c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Mon, 6 Apr 2026 10:09:01 +0000 Received: from PA4PR04MB9366.eurprd04.prod.outlook.com ([fe80::75e4:8143:ddbc:6588]) by PA4PR04MB9366.eurprd04.prod.outlook.com ([fe80::75e4:8143:ddbc:6588%6]) with mapi id 15.20.9769.018; Mon, 6 Apr 2026 10:09:01 +0000 Date: Mon, 6 Apr 2026 06:08:53 -0400 From: Frank Li To: Rosen Penev Cc: dmaengine@vger.kernel.org, Eugeniy Paltsev , Vinod Koul , Frank Li , Kees Cook , "Gustavo A. R. Silva" , open list , "open list:KERNEL HARDENING (not covered by other areas):Keyword:b__counted_by(_le|_be)?b" Subject: Re: [PATCH] dmaengine: dw-axi-dmac: simplify allocation Message-ID: References: <20260330211128.12319-1-rosenp@gmail.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260330211128.12319-1-rosenp@gmail.com> X-ClientProxiedBy: SJ0PR05CA0040.namprd05.prod.outlook.com (2603:10b6:a03:33f::15) To PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR04MB9366:EE_|GVXPR04MB11017:EE_ X-MS-Office365-Filtering-Correlation-Id: b8d80e8e-194f-42eb-d0fa-08de93c48644 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|52116014|18002099003|22082099003|56012099003|38350700014; X-Microsoft-Antispam-Message-Info: UbSriYPYXnHw8ZdZbvVPnsykWWQCkb4IHPA5+CxFmWPmk5U5C0HpeOGMmup786oVDWTZLoI4U91KEQnQ0o4zgyJG08MZ7ao1HYrP9BCmvPiWc0t+k8lGH5LS16G7HLHsazOoX7uNLynlm83il889WkxJ7VCWh2/AQyStDLmVqqtn1If09YfrQH4puSCAhAyes4ALoKpghEIbQDE+eWswWXCIw9NPScplLDtfKqlfeJsVQ0YY1Pu4RCxygiahTGcnxm7GcizgRZlYljG1exzRgdhETR7Wl3K2CUN67F6gFaW8WgyqVXuVKGE1XSrHDq5x3NsclfDGKUtCc2t9Y3ETNLTZl2OutsEKB0HBG8iwMSP9D8UWt/nP2WuSwAHhzGGfvgmyqwAKdi+GihpNnnda3ptnzl9j8n0GcvQkLw3keOPVBrxOekOc6FbmQqf4M/q8veFYuHXlONF0yO2RpnjXLzk7fnYvfObYQrmUUhAFD024AAz92QCo2BfF5HlD+bQuGC7qILScygNSSB6b8Wznrim+GZ8lbdvSpZaelLAHxR1jmvvJYyErwBa3KlnSs0eTKLhNhkgRuzwW2UTgDBrhBXJFkfYCaLHIkBSEVMECKaV9SthB4FKYlEw2R/GH7tVO19iosVfrpqXRBoSCItOLs/Cz9QZ6zoPhOg8ibV3CxVbBmvoGl3xSfmNiCb4flwXGiJwDYdftz9r3Jia3AFBkjHe8gZumBS9Cexay+eRvxcCx6h2RilYjqM9kCHxqIE67Ovb4ghun0T4J46V9q7idtnr3IwDJCPPLObrYf9Vx3fM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9366.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(1800799024)(376014)(52116014)(18002099003)(22082099003)(56012099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oRtF1IOYt9gx1pj/E5fdLkP5eGEq+uaYV6Qs8PoRL8R8KV3KTIMRrzZFHvTd?= =?us-ascii?Q?QauIWvbK6dWKUAet7E8MoUVUuYoYY+dUxLf807HvDIDm8C1Mw1GH0reXiU4x?= =?us-ascii?Q?3R3Rm+xO4cbk4RuyPKkMO1cmyzaUo5tk6zhu/eYznPhirxmj/CddCowyIFlo?= =?us-ascii?Q?BQ8PhcS6zg47XqNNkSNak4ARLmYrkQhH311pl7dmxsalv75YPr2Ex2oHB/TO?= =?us-ascii?Q?xn3XsB6VvlrDtAJ0ZOEB/loyl6jSKcHwqCLZwBlFfXLbs1aspIEvMGXidKmX?= =?us-ascii?Q?7kCzJrilaua4/KnYpzTKER3Ms2i3FGE5uKqFyNEdloboXyJcWlrtB9IUSx0Z?= =?us-ascii?Q?9IYWTZhMn5529/6BxbfVoPWLEqRj9SnGAKyzQ8l/Rywv08fBAFKkNuPEuy9/?= =?us-ascii?Q?vUBAFbegVTXkDXbnWX8W35HfCT0R/Xl2lTW5b5GBx4ONHpFy7EsTn8DinQHx?= =?us-ascii?Q?h/0baxY0v9kZSJtC6nPXWy5oXi3gJa6vKMKOQUr7L/DeZBFK3LNB1Jj2lPJo?= =?us-ascii?Q?7uIPQ1yl+ZiugRaqnM+RBvr3TrHiAVziRLhj2PRLr1eJGqpDBZPbTN1PJOwW?= =?us-ascii?Q?KCfrpdvUsPE9EGvQo1npBdX4s76o6Yljfg0Z8uO2JmxW5w15j1H+DMwWHEXg?= =?us-ascii?Q?bOeBDKxbyTeOMGY2/mQ7HvDVOy1LH9QKNrnq1qdKp6NdPMs6Oi1G36U8nOa0?= =?us-ascii?Q?uHvkBolbFWLdNLKA5pKuMz1uBopmdENGByV7fS3hG2luzMRvgdQWBlzQGVNu?= =?us-ascii?Q?p8rQdhqX6haMYgSs5lJalxTMLsMkBWJWzuWhrgMAcQHYQERET/PCki2nghdK?= =?us-ascii?Q?BrZ4welDbppJgZEauJzfMwwfhFRrQvmD220CBt9UzGlAzgaDTwg3EkkhUuPL?= =?us-ascii?Q?9x9GH86VstJS0f7aATbmVjMLrsIGZ8n4oaWKQXQFg1d6Nu58JaUtLXGAdPIp?= =?us-ascii?Q?ipN4193/3XcFY1h7uinWt1R2EeUmMq8r8VjVlUAfSY5/mocnL0gDXO+SvzUI?= =?us-ascii?Q?+PuzQlSR8abH76DXxz1PDE61hfJuwGCwOeI3aV+B7t740Bq+VUAsw4V7eBEJ?= =?us-ascii?Q?bDzSgA92AInhkReSrhe6wJ0khnrv61KNOidFaQ7h1BJ2iNENqgIaZsQlkGO1?= =?us-ascii?Q?hFhBwpUPCrOr9PV90kEiVVClyZ5QDiwqIMuprEzgq+JBJbdmSt6Nf666S3Ai?= =?us-ascii?Q?nJa6c3aCm0MWIMxQWZiA/8UjgqdNERnTSpeQeig8QlD6l55rDfAtv5CT5X1m?= =?us-ascii?Q?iRYJcO9ld0NQ2hS/1z4+fpt61RGCRGViaYOs23NKi1R4gy9nfE+nEh7VwPcR?= =?us-ascii?Q?AHMuSKoMpyGQanzb/dGfFB8jaYBeUo8bNfPCeXb2dud4cyPQ0dZLxrLoLbow?= =?us-ascii?Q?t2gsBhLsqABax4csGQUAEqu3y3WHuaKZuQmKZrcTE34DnSBDm3/urntCAFSn?= =?us-ascii?Q?QGofU4FkC9+s2Fu4RzxUEL6GYFlmpceJ9W72s+4tWgTdWdgM0XvCGNky5iOu?= =?us-ascii?Q?aldee5D+Uj9dcf1wJk+BquO+A//FYUbagOR7WfYpwDx2l6IkHC2TCtWpBgg8?= =?us-ascii?Q?8OdACU23SExzSjxTpBvJ3lHzfJXTVk6O05C6lBOpN9sw8agjeePYKwQvsP46?= =?us-ascii?Q?Bmk3WYxoMMOj/eiAcDEfW4D+ndHIxfBUs50/0cvzJIuLHfIjIeNA94Cna6h8?= =?us-ascii?Q?SkDoymv/LIHS+60u3Yq9xt57jj+uU7pBos8muSRADODNScHw?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8d80e8e-194f-42eb-d0fa-08de93c48644 X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9366.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2026 10:09:01.0232 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7yHE6+i12fjGN9DvVrUTebxGj0WcnNm0jquE3PtoN0OhI5FRR9aNP+BRnRxHbGRVItKVDK6DeBP7e8+tJyp5Ag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB11017 On Mon, Mar 30, 2026 at 02:11:28PM -0700, Rosen Penev wrote: > Use a flexible array member with kzalloc_flex to combine allocations. > > Add __counted_by for extra runtime analysis. > > Signed-off-by: Rosen Penev > --- Reviewed-by: Frank Li > drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 8 +------- > drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 4 ++-- > 2 files changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c > index 4d53f077e9d2..d3ca202dc478 100644 > --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c > +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c > @@ -294,15 +294,10 @@ static struct axi_dma_desc *axi_desc_alloc(u32 num) > { > struct axi_dma_desc *desc; > > - desc = kzalloc_obj(*desc, GFP_NOWAIT); > + desc = kzalloc_flex(*desc, hw_desc, num, GFP_NOWAIT); > if (!desc) > return NULL; > > - desc->hw_desc = kzalloc_objs(*desc->hw_desc, num, GFP_NOWAIT); > - if (!desc->hw_desc) { > - kfree(desc); > - return NULL; > - } > desc->nr_hw_descs = num; > > return desc; > @@ -339,7 +334,6 @@ static void axi_desc_put(struct axi_dma_desc *desc) > dma_pool_free(chan->desc_pool, hw_desc->lli, hw_desc->llp); > } > > - kfree(desc->hw_desc); > kfree(desc); > atomic_sub(descs_put, &chan->descs_allocated); > dev_vdbg(chan2dev(chan), "%s: %d descs put, %d still allocated\n", > diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h > index 67cc199e24d1..a04a4e03eb3d 100644 > --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h > +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h > @@ -98,14 +98,14 @@ struct axi_dma_hw_desc { > }; > > struct axi_dma_desc { > - struct axi_dma_hw_desc *hw_desc; > - > struct virt_dma_desc vd; > struct axi_dma_chan *chan; > u32 completed_blocks; > u32 length; > u32 period_len; > u32 nr_hw_descs; > + > + struct axi_dma_hw_desc hw_desc[] __counted_by(nr_hw_descs); > }; > > struct axi_dma_chan_config { > -- > 2.53.0 >