]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/vt-d: Fix unused invalidation hint in qi_desc_iotlb
authorAashish Sharma <aashish@aashishsharma.net>
Wed, 19 Nov 2025 05:16:13 +0000 (13:16 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:55:02 +0000 (13:55 +0100)
[ Upstream commit 6b38a108eeb3936b21643191db535a35dd7c890b ]

Invalidation hint (ih) in the function 'qi_desc_iotlb' is initialized
to zero and never used. It is embedded in the 0th bit of the 'addr'
parameter. Get the correct 'ih' value from there.

Fixes: f701c9f36bcb ("iommu/vt-d: Factor out invalidation descriptor composition")
Signed-off-by: Aashish Sharma <aashish@aashishsharma.net>
Link: https://lore.kernel.org/r/20251009010903.1323979-1-aashish@aashishsharma.net
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/intel/iommu.h

index df24a62e8ca40d0a0889c5f2a75913cfb31ab52f..5b5f57d694afd42e4ccd4ccb322d80b5e993231a 100644 (file)
@@ -1088,7 +1088,7 @@ static inline void qi_desc_iotlb(struct intel_iommu *iommu, u16 did, u64 addr,
                                 struct qi_desc *desc)
 {
        u8 dw = 0, dr = 0;
-       int ih = 0;
+       int ih = addr & 1;
 
        if (cap_write_drain(iommu->cap))
                dw = 1;