From nobody Tue Apr 7 01:28:41 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.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 70FA51DFE12 for ; Tue, 17 Mar 2026 00:30:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773707454; cv=none; b=ZRVb4N5OW2AxG+Jw+M7LUQbf4SGB3bMV7vY6Oy3V81sIcG5edubCuZgd4ANkWyFXl1+uBZtYOR/U93UjrSioq4WdpAD0zFJMHXQQEZRqFABPnJkyUItolm1T4e7PaKJeTz/tA+wq/q5ZlUSD7EccYJQHV22hAbK0RKdbmlPvpio= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773707454; c=relaxed/simple; bh=Mx0l2NxLKzer7ADCbLsi4hxQxnDoZ0MKjOO+1vhGXy0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=TorCb2Tihb0LnGgZK1d8G9cAv4gBM0OJ0mzbEGRNjI2wioFQzNp9X6juBOeBeaN8QUd5TjfP61ltHRtkLo8C8oP5BlyPDgoRQJT4o2uo8+vHC4k6TDzMzgA16hqebPHRAhPnfU0I/gdfdTUsJ7Qr7S+hd6koRkk5+DCnXuKH8GI= 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=lPr75XCq; arc=none smtp.client-ip=209.85.210.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="lPr75XCq" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-82990763921so4749859b3a.1 for ; Mon, 16 Mar 2026 17:30:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773707452; x=1774312252; 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=PMczMzhV3A2GonGYjmIFHjc1BY+/VEDhWUtNnoc7Cvo=; b=lPr75XCqF6GDfeAyItC3R2jSd835lFwfig2+XZLM4ammQ2RGCh/l9Zgx2FeFLjoK2z OG/U0xOBbDzBCzXjh5nzFmBD6zg/+Xx04rDcH+6xYSfHvJSABall7uoIII1dj66G1RtU F5rPVZvb7USEwya3i3p+SR4HbrqDY8NEHuOKZk23MpDNfFqIfVjCS4bJQNgyq4ixXf51 D6lUA9NHtGNTwE9gvP5rZL1L8Wqw9pBNWMhM7iM+oj27Vw5h1ETgmITM4RWre3ziMNfN IprK/EKo/H2Xdf/XzhguLqyr1hsSWPkl82tEqAG5VQRluwdtW/Q92WUj8RMLG/bPSuoi 2zUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773707452; x=1774312252; 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=PMczMzhV3A2GonGYjmIFHjc1BY+/VEDhWUtNnoc7Cvo=; b=beMvt+3T/L26NzRTRLkjLx7LP5jq2kaUO9jaVg5gkuBCOXs0hpaheRfOVAVoY3KCV5 SR39+ppl3VAaYC1q4lV+nDCedEsnHSTgPt38uxkSVqyRBawB34vQxf6KBqT+DfARwID5 sTs6x2daU1xq8C1znbJgH2TTx+Et3Iv9un2BkUfSGHCqKiw/qEsWvBv3CeC0Z+20nqfg cBuYUCHpaejE/Sgg5u1TaQ5lZCLBxHkzREH6MBZAjQvyAFqAHz8ngKu+/B/Asqgfs8y6 Y9Z61HGVIDuSdqS27DYJt4c8Qho0+Q7ax3CBcM1AEYS3j1rBMeP8v4T/cCM1tI5XebdU XlFg== X-Gm-Message-State: AOJu0Yy41cP5HqPq6QsGqSsg9KjxScyiMEEhdJyMMgHhXem5G97eIuax bhGfAQKT7x6unUUjAreypdMAwGIqYrVbbQhHkYdp0ss+7nHMk1KEZf6WZ6zbn0bj X-Gm-Gg: ATEYQzwm8OPKCoLhPyfsaaxorFpeEB07tvQbBwxf3s26R7M+63Rs+MzWY0s9ktgY9aK X40AP5uMd+EKxDRdkVj/I9ChrQp9s8ragixAfT5MaKpym8m5JnjPdyoxDr6ceQcmhH5gvKNGCL3 uH9lq3IlLXazaiJ7QQy0fMrTXWxVA6kAdv+rqTuM/Y5ojaCNDnpYkGRVUQ5s7MRGvYuVmOZIEiJ eEpX8Ncqau8iQYpO/IXZQjpqWn9rFmP/v6izPo+u8LCQStjmtrwQtySngcuW4+uasDWee+yqNkI FE0spo7vDr0nsQIbvxnmeXaAQTu7xnSS2wkRbgBQ+I8GhY3kTaPAxud3w9HKZm3zMnyUahAmugY SH6EIwaPz17u8NB0a6sjJvxlaq0aBvUstQW/NXKHI64eulSHOi9ThMccDZIRmx5C/ZhQF47Rn5J sSYmDj1IxS+uxSavwcAM2jYdN4xWJzDxN5DsnvoPKhg4Yj6TX3N3g8CEE= X-Received: by 2002:aa7:8896:0:b0:823:1212:8e87 with SMTP id d2e1a72fcca58-82a198d7220mr13987513b3a.32.1773707452151; Mon, 16 Mar 2026 17:30:52 -0700 (PDT) Received: from ryzen ([2601:644:8000:56f5::8bd]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82a0736deb4sm14420074b3a.44.2026.03.16.17.30.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Mar 2026 17:30:51 -0700 (PDT) From: Rosen Penev To: linux-kernel@vger.kernel.org Cc: Jeff Hugo , Carl Vanderlip , Oded Gabbay , Kees Cook , "Gustavo A. R. Silva" , linux-arm-msm@vger.kernel.org (open list:QUALCOMM CLOUD AI (QAIC) DRIVER), dri-devel@lists.freedesktop.org (open list:QUALCOMM CLOUD AI (QAIC) DRIVER), linux-hardening@vger.kernel.org (open list:KERNEL HARDENING (not covered by other areas):Keyword:\b__counted_by(_le|_be)?\b) Subject: [PATCH] accel/qaic: kcalloc + kzalloc to kzalloc Date: Mon, 16 Mar 2026 17:30:34 -0700 Message-ID: <20260317003034.71618-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" Combine allocations by using a flexible array member. Use __counted_by for extra runtime analysis. Move counting variable assignment as required by __counted_by. Signed-off-by: Rosen Penev --- drivers/accel/qaic/qaic.h | 4 ++-- drivers/accel/qaic/qaic_drv.c | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/accel/qaic/qaic.h b/drivers/accel/qaic/qaic.h index fa7a8155658c..e237020f6aa9 100644 --- a/drivers/accel/qaic/qaic.h +++ b/drivers/accel/qaic/qaic.h @@ -152,8 +152,6 @@ struct qaic_device { struct list_head cntl_xfer_list; /* Synchronizes MHI control device transactions and its xfer list */ struct mutex cntl_mutex; - /* Array of DBC struct of this device */ - struct dma_bridge_chan *dbc; /* Work queue for tasks related to MHI control device */ struct workqueue_struct *cntl_wq; /* Synchronizes all the users of device during cleanup */ @@ -206,6 +204,8 @@ struct qaic_device { void *ssr_mhi_buf; /* DBC which is under SSR. Sentinel U32_MAX would mean that no SSR in pro= gress */ u32 ssr_dbc; + /* Array of DBC struct of this device */ + struct dma_bridge_chan dbc[] __counted_by(num_dbc); }; =20 struct qaic_drm_device { diff --git a/drivers/accel/qaic/qaic_drv.c b/drivers/accel/qaic/qaic_drv.c index 63fb8c7b4abc..ab428ecd26f5 100644 --- a/drivers/accel/qaic/qaic_drv.c +++ b/drivers/accel/qaic/qaic_drv.c @@ -405,15 +405,12 @@ static struct qaic_device *create_qdev(struct pci_dev= *pdev, struct drm_device *drm; int i, ret; =20 - qdev =3D devm_kzalloc(dev, sizeof(*qdev), GFP_KERNEL); + qdev =3D devm_kzalloc(dev, struct_size(qdev, dbc, 16), GFP_KERNEL); if (!qdev) return NULL; =20 - qdev->dev_state =3D QAIC_OFFLINE; qdev->num_dbc =3D 16; - qdev->dbc =3D devm_kcalloc(dev, qdev->num_dbc, sizeof(*qdev->dbc), GFP_KE= RNEL); - if (!qdev->dbc) - return NULL; + qdev->dev_state =3D QAIC_OFFLINE; =20 qddev =3D devm_drm_dev_alloc(&pdev->dev, &qaic_accel_driver, struct qaic_= drm_device, drm); if (IS_ERR(qddev)) --=20 2.53.0