On Tue, May 20, 2025 at 05:54:28PM +0200, Claudio Imbrenda wrote: > On Tue, 20 May 2025 16:24:10 +0100 > Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> wrote: > > > On Tue, May 20, 2025 at 05:10:09PM +0200, Claudio Imbrenda wrote: > > > On Mon, 19 May 2025 15:56:57 +0100 > > > Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> wrote: > > > > > > > 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. > > > > > > > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> > > > > Suggested-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@xxxxxxxx> > > > > Fixes: b3cefd6bf16e ("KVM: s390: Pass initialized arg even if unused") > > > > Cc: stable@xxxxxxxxxxxxxxx > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > Closes: https://lore.kernel.org/oe-kbuild-all/202505140943.IgHDa9s7-lkp@xxxxxxxxx/ > > > > Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx> > > > > Acked-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@xxxxxxxx> > > > > Acked-by: Yang Shi <yang@xxxxxxxxxxxxxxxxxxxxxx> > > > > Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> > > > > Acked-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> > > > > > > if you had put me in CC, you would have gotten this yesterday already: > > > > > > Reviewed-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > > > > Thanks and apologies for not cc-ing you, clearly my mistake. > > > > Though I would suggest your level of grumpiness here is a little over the > > top under the circumstances :) we maintainers must scale our grumpiness > > accordingly... > > it was not meant to be grumpy, sorry if it came through that way! Haha no worries, text is a bad medium, I should maybe have inferred a ':P' at the end of that line ;) But absolutely my bad for not cc'in I'm normally good with that... and have moaned at people for not cc'ing me before :P Anyway thanks to you guys for being helpful with this change in general, hoping we can land it either in RC7 or if not as a hotpatch for 6.16. We shall see :) Cheers, Lorenzo > > > > > > > > > > --- > > > > Separated out from [0] as problem found in other patch in series. > > > > > > > > [0]: https://lore.kernel.org/all/cover.1747338438.git.lorenzo.stoakes@xxxxxxxxxx/ > > > > > > > > arch/s390/kvm/gaccess.c | 8 ++++---- > > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > > > > > diff --git a/arch/s390/kvm/gaccess.c b/arch/s390/kvm/gaccess.c > > > > index f6fded15633a..4e5654ad1604 100644 > > > > --- a/arch/s390/kvm/gaccess.c > > > > +++ b/arch/s390/kvm/gaccess.c > > > > @@ -318,7 +318,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, > > > > @@ -334,7 +334,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; > > > > @@ -804,7 +804,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) > > > > @@ -962,7 +962,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: > > > > -- > > > > 2.49.0 > > > > > > > >