From nobody Mon Apr 6 09:10:51 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 61E331A6809 for ; Fri, 20 Mar 2026 01:08:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773968897; cv=none; b=qoMdb+Xd7RY/vg3A0qk7uXNFInhr+r8iEcituSwsWTXU1WuTIiB2HTRuvn6jzWzSJr4UvSoIoVsyJ6BS20t6us/hAz423cPsReUC5tFdS3CBKgIWGVrKlw0oxS8687pLxd5XMGzUkLzVPBe25EFQyzhF5yCAxc18mgzlqP0GTwg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773968897; c=relaxed/simple; bh=wi2aFuneK089P/GmBrnXTHr500dlqqhmfNad9Tfk8JE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=hHPkbp56BluLQluEfdRp7E61F5IBgHRdBGdM1y/vqgKFWnqu5HVv70RlNfHTKsJJr3BJJYswuyKV9lJ7y7pSXK+mF4/iVjwCTD5Hn7c7RmgQD6aL0N/J46bscLNg8dsFdjoo5cDiEHn+UAAZYLq2vPdMOe0BHO+hMsCH/oyP4Q4= 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=l2ItyBjw; arc=none smtp.client-ip=209.85.214.174 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="l2ItyBjw" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2aecefc7503so9273905ad.1 for ; Thu, 19 Mar 2026 18:08:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773968896; x=1774573696; 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=g+MtQY3GBP0FcqvY6s09ctlLbOJ05XY1yODrc7nIS/E=; b=l2ItyBjw95SEbc5N/CQAsQgKFippOAe6TUdcSZJrcdZjQQ0AxDLDHdVki079vP/zH9 s8W88WXeVKol9uTGj5sFKyRslB/DpHC6yHynJ/5SRM3X40o/yJ1eL7bp4CVZRR1QyYsR wrMvp8ZU9ADtpW+l4yP6Q44tkeqvh0h3KMLpIeb7xS6YIfVttXN0/O9y8pYr6bbHBfQh OqJlay+LhPM7fNQLZeKW/2kUsyforoyd+M3jhdT1uu0UtOVqANIQaTFXzMQz8i4MiKqZ HNDzr56z6nO+dJCXB5jI8puYUhmA+aA2TZef1V/4RkmvLKf2wAZa8L/8myG1S9vioRxm mEng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773968896; x=1774573696; 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=g+MtQY3GBP0FcqvY6s09ctlLbOJ05XY1yODrc7nIS/E=; b=OVxisf9zUrnUMebPyqxbcS9vDWXCSfYuW0aD0HWNQwRFtAnG2a+MfkE0FuhsZeL2na V89NMsfivxqZCNNBy1ba4ylt0PPkyD966N0fkYr9PMO1Sl0jCHJPtLCh5jDPOVXF4632 2TSAw69CzgfiDPWJdYOG/RZiZPNnKMpokoivACQn84qZPQUDiD4DL4/QIOeoRi/Pkhch wWMRgV5JU1x8ADbiylEtELzhw3Uyayo/aStBQ/n8Qf/H7ZvOQ/56fIdL3lj1oA77WsvM DrQVqyA/L+GlFv6Y98q/Ts/03kgp/gQAbD2DoOUiLilXmndR3RTP4Pe+Qduvd4ExDTnE nvFA== X-Forwarded-Encrypted: i=1; AJvYcCVjTWyISXy20nh9q4V5NxgvRgDb7W0Jqg1sBuaV6xI02bC5CbznGnydN/YLY9gRW15t4WPrcX3Wqk4GMPo=@vger.kernel.org X-Gm-Message-State: AOJu0YyGUp6dde0U3GTfcxcI2c6BeLB0rt4PbXQXRZ9+LjotpvzLTRmi QGi8yAx3lnU7Cg3HjFTOgNqY7bKl/wRDWv8g2Xu0AwG9BflAzeTJX205 X-Gm-Gg: ATEYQzx/yCg9M34eeZZe9MOG1IyO4mQVCx+TzisRPS+HxCb00FgPtHO8nrpV0aL3jxS UxRHNLMfwvVfMehewZpxTCpSgvEylDkOu7gUX+bZYjaB51WNK+KfbXLYsKswg79pNkgRAn7E9Oj DpRGC3xcNnvzZq/59//lFC5BTBVHtlBpQJRpuYLkDQnbRQq/cEPiMq3SKYANL4kbw7Ur/E8pUNg 57UzA7iG9nGNv27EuVekxHupwsJkZvVOhHVC/zm22M5cdOFtI8F8hAWp0vmCtaPuV3+JpoY8199 V2r/rjaAo28FVQST36t8fdsIeII+o9hpSLKZsLAhb2fJMgr00FOXJOw+xqCnDf9oGmi+5uIV2UQ AvNekkqD8g30hPEDvBEyfn9p1CC5tKMXqo/Hi8H5CYWQ/uDYMM1OlKe1XtVdTd4e+kAnwqV9Dg5 k8y2fWV/Z9aybPyGdFZ8EB2gSJM7S374YQUo8aMt27hkNTLHZpeSE8QQ4= X-Received: by 2002:a17:902:ecc7:b0:2ae:5163:c2aa with SMTP id d9443c01a7336-2b0826feed5mr10568955ad.20.1773968895647; Thu, 19 Mar 2026 18:08:15 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d::8bd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b083516b96sm5132935ad.7.2026.03.19.18.08.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 18:08:15 -0700 (PDT) From: Rosen Penev To: dri-devel@lists.freedesktop.org Cc: Lucas Stach , Russell King , Christian Gmeiner , David Airlie , Simona Vetter , etnaviv@lists.freedesktop.org (moderated list:DRM DRIVERS FOR VIVANTE GPU IP), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] drm/etnaviv: use kzalloc_flex Date: Thu, 19 Mar 2026 18:07:57 -0700 Message-ID: <20260320010757.32158-1-rosenp@gmail.com> X-Mailer: git-send-email 2.53.0 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 Content-Type: text/plain; charset="utf-8" A local helper was developed previously for struct_size. kzalloc_flex can be used now. Signed-off-by: Rosen Penev --- drivers/gpu/drm/etnaviv/etnaviv_drv.h | 12 ------------ drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 3 +-- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnavi= v/etnaviv_drv.h index 20dad16fd554..55a9e745604d 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.h +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.h @@ -93,18 +93,6 @@ void etnaviv_gem_describe_objects(struct etnaviv_drm_pri= vate *priv, #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__) #define VERB(fmt, ...) if (0) DRM_DEBUG(fmt"\n", ##__VA_ARGS__) =20 -/* - * Return the storage size of a structure with a variable length array. - * The array is nelem elements of elem_size, where the base structure - * is defined by base. If the size overflows size_t, return zero. - */ -static inline size_t size_vstruct(size_t nelem, size_t elem_size, size_t b= ase) -{ - if (elem_size && nelem > (SIZE_MAX - base) / elem_size) - return 0; - return base + nelem * elem_size; -} - /* * Etnaviv timeouts are specified wrt CLOCK_MONOTONIC, not jiffies. * We need to calculate the timeout in terms of number of jiffies diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm= /etnaviv/etnaviv_gem_submit.c index fbf693addd74..1a77a09b3377 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c @@ -32,9 +32,8 @@ static struct etnaviv_gem_submit *submit_create(struct dr= m_device *dev, struct etnaviv_gpu *gpu, size_t nr_bos, size_t nr_pmrs) { struct etnaviv_gem_submit *submit; - size_t sz =3D size_vstruct(nr_bos, sizeof(submit->bos[0]), sizeof(*submit= )); =20 - submit =3D kzalloc(sz, GFP_KERNEL); + submit =3D kzalloc_flex(*submit, bos, nr_bos); if (!submit) return NULL; =20 --=20 2.53.0