]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iommufd: Initialize the flags of vevent in iommufd_viommu_report_event()
authorYi Liu <yi.l.liu@intel.com>
Mon, 24 Mar 2025 12:00:33 +0000 (05:00 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 28 Mar 2025 13:07:23 +0000 (10:07 -0300)
The vevent->header.flags is not initialized per allocation, hence the
vevent read path may treat the vevent as lost_events_header wrongly.
Use kzalloc() to alloc memory for new vevent.

Fixes: e8e1ef9b77a7 ("iommufd/viommu: Add iommufd_viommu_report_event helper")
Link: https://patch.msgid.link/r/20250324120034.5940-2-yi.l.liu@intel.com
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommufd/driver.c

index a08ff0f37fc6d7eef396025b7fb9a597a87703e8..922cd1fe7ec20be5c601879a7363f27e804e0b3d 100644 (file)
@@ -102,7 +102,7 @@ int iommufd_viommu_report_event(struct iommufd_viommu *viommu,
                goto out_set_header;
        }
 
-       vevent = kmalloc(struct_size(vevent, event_data, data_len), GFP_ATOMIC);
+       vevent = kzalloc(struct_size(vevent, event_data, data_len), GFP_ATOMIC);
        if (!vevent) {
                rc = -ENOMEM;
                vevent = &veventq->lost_events_header;