KVM: s390: rename PROT_NONE to PROT_TYPE_DUMMY
authorLorenzo Stoakes <lorenzo.stoakes@oracle.com>
Mon, 19 May 2025 14:56:57 +0000 (15:56 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 6 Jun 2025 05:02:22 +0000 (22:02 -0700)
The enum type prot_type declared in arch/s390/kvm/gaccess.c declares an
unfortunate identifier within it - PROT_NONE.

This clashes with the protection bit define from the uapi for mmap()
declared in include/uapi/asm-generic/mman-common.h, which is indeed what
those casually reading this code would assume this to refer to.

This means that any changes which subsequently alter headers in any way
which results in the uapi header being imported here will cause build
errors.

Resolve the issue by renaming PROT_NONE to PROT_TYPE_DUMMY.

Link: https://lkml.kernel.org/r/20250519145657.178365-1-lorenzo.stoakes@oracle.com
Fixes: b3cefd6bf16e ("KVM: s390: Pass initialized arg even if unused")
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Suggested-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202505140943.IgHDa9s7-lkp@intel.com/
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com>
Acked-by: Yang Shi <yang@os.amperecomputing.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: James Houghton <jthoughton@google.com>
Cc: Janosch Frank <frankja@linux.ibm.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/s390/kvm/gaccess.c

index e23670e1949cfe3b2b3f54fe68c4c1b642f56e60..21c2e61fece439a92cd690cc28b4ba54e8079270 100644 (file)
@@ -319,7 +319,7 @@ enum prot_type {
        PROT_TYPE_DAT  = 3,
        PROT_TYPE_IEP  = 4,
        /* Dummy value for passing an initialized value when code != PGM_PROTECTION */
-       PROT_NONE,
+       PROT_TYPE_DUMMY,
 };
 
 static int trans_exc_ending(struct kvm_vcpu *vcpu, int code, unsigned long gva, u8 ar,
@@ -335,7 +335,7 @@ static int trans_exc_ending(struct kvm_vcpu *vcpu, int code, unsigned long gva,
        switch (code) {
        case PGM_PROTECTION:
                switch (prot) {
-               case PROT_NONE:
+               case PROT_TYPE_DUMMY:
                        /* We should never get here, acts like termination */
                        WARN_ON_ONCE(1);
                        break;
@@ -805,7 +805,7 @@ static int guest_range_to_gpas(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar,
                        gpa = kvm_s390_real_to_abs(vcpu, ga);
                        if (!kvm_is_gpa_in_memslot(vcpu->kvm, gpa)) {
                                rc = PGM_ADDRESSING;
-                               prot = PROT_NONE;
+                               prot = PROT_TYPE_DUMMY;
                        }
                }
                if (rc)
@@ -963,7 +963,7 @@ int access_guest_with_key(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar,
                if (rc == PGM_PROTECTION)
                        prot = PROT_TYPE_KEYC;
                else
-                       prot = PROT_NONE;
+                       prot = PROT_TYPE_DUMMY;
                rc = trans_exc_ending(vcpu, rc, ga, ar, mode, prot, terminate);
        }
 out_unlock: