x86/mm/iommu/sva: Fix error code for LAM enabling failure due to SVA
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Mon, 3 Apr 2023 11:10:19 +0000 (14:10 +0300)
committerDave Hansen <dave.hansen@linux.intel.com>
Thu, 6 Apr 2023 20:44:58 +0000 (13:44 -0700)
Normally, LAM and SVA are mutually exclusive. LAM enabling will fail if
SVA is already in use.

Correct error code for the failure. EINTR is nonsensical there.

Fixes: 23e5d9ec2bab ("x86/mm/iommu/sva: Make LAM and SVA mutually exclusive")
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Link: https://lore.kernel.org/all/CACT4Y+YfqSMsZArhh25TESmG-U4jO5Hjphz87wKSnTiaw2Wrfw@mail.gmail.com
Link: https://lore.kernel.org/all/20230403111020.3136-2-kirill.shutemov%40linux.intel.com
arch/x86/kernel/process_64.c

index b46924c..bc2ac56 100644 (file)
@@ -758,7 +758,7 @@ static int prctl_enable_tagged_addr(struct mm_struct *mm, unsigned long nr_bits)
 
        if (mm_valid_pasid(mm) &&
            !test_bit(MM_CONTEXT_FORCE_TAGGED_SVA, &mm->context.flags))
-               return -EINTR;
+               return -EINVAL;
 
        if (mmap_write_lock_killable(mm))
                return -EINTR;