]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/amd: Propagate the error code returned by __modify_irte_ga() in modify_irte_ga()
authorJinhui Guo <guojinhui.liam@bytedance.com>
Thu, 20 Nov 2025 15:47:25 +0000 (23:47 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Jan 2026 09:14:39 +0000 (10:14 +0100)
commit 2381a1b40be4b286062fb3cf67dd7f005692aa2a upstream.

The return type of __modify_irte_ga() is int, but modify_irte_ga()
treats it as a bool. Casting the int to bool discards the error code.

To fix the issue, change the type of ret to int in modify_irte_ga().

Fixes: 57cdb720eaa5 ("iommu/amd: Do not flush IRTE when only updating isRun and destination fields")
Cc: stable@vger.kernel.org
Signed-off-by: Jinhui Guo <guojinhui.liam@bytedance.com>
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iommu/amd/iommu.c

index 6a019670efc7ca8860c7fdc9b8265ca58622d4b9..5fb7bb7a84f413c0938856104d40c6b1d6235325 100644 (file)
@@ -3172,7 +3172,7 @@ static int __modify_irte_ga(struct amd_iommu *iommu, u16 devid, int index,
 static int modify_irte_ga(struct amd_iommu *iommu, u16 devid, int index,
                          struct irte_ga *irte)
 {
-       bool ret;
+       int ret;
 
        ret = __modify_irte_ga(iommu, devid, index, irte);
        if (ret)