]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommufd/driver: Fix counter initialization for counted_by annotation
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 11 Nov 2025 09:01:24 +0000 (18:01 +0900)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 21 Nov 2025 19:38:27 +0000 (15:38 -0400)
One of the requirements for counted_by annotations is that the counter
member must be initialized before the first reference to the
flexible-array member.

Move the vevent->data_len = data_len; initialization to before the
first access to flexible array vevent->event_data.

Link: https://patch.msgid.link/r/aRL7ZFFqM5bRTd2D@kspp
Cc: stable@vger.kernel.org
Fixes: e8e1ef9b77a7 ("iommufd/viommu: Add iommufd_viommu_report_event helper")
Signed-off-by: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommufd/driver.c

index 6f1010da221c91f98ef12da6d5767b493fe7b2c4..21d4a35538f6a5f1de0aae80775ab09c633b1c19 100644 (file)
@@ -161,8 +161,8 @@ int iommufd_viommu_report_event(struct iommufd_viommu *viommu,
                vevent = &veventq->lost_events_header;
                goto out_set_header;
        }
-       memcpy(vevent->event_data, event_data, data_len);
        vevent->data_len = data_len;
+       memcpy(vevent->event_data, event_data, data_len);
        veventq->num_events++;
 
 out_set_header: