Re: [PATCH v1 1/1] KVM: s390: Don't cast parameter in bit operations

From: Andy Shevchenko
Date: Wed Mar 02 2022 - 12:34:45 EST


On Wed, Mar 02, 2022 at 09:18:35AM -0800, Yury Norov wrote:
> On Wed, Mar 02, 2022 at 05:44:03PM +0200, Andy Shevchenko wrote:
> > On Thu, Feb 24, 2022 at 01:10:34PM +0100, Michael Mueller wrote:
> > > On 24.02.22 12:36, Claudio Imbrenda wrote:
> >
> > ...
> >
> > > we do that at several places
> >
> > Thanks for pointing out.
> >
> > > arch/s390/kernel/processor.c: for_each_set_bit_inv(bit, (long
> > > *)&stfle_fac_list, MAX_FACILITY_BIT)
> >
> > This one requires a separate change, not related to this patch.
> >
> > > arch/s390/kvm/interrupt.c: set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long
> > > *) gisa);
> >
> > This is done in the patch. Not sure how it appears in your list.
> >
> > > arch/s390/kvm/kvm-s390.c: set_bit_inv(vcpu->vcpu_id, (unsigned long *)
> > > sca->mcn);
> > > arch/s390/kvm/kvm-s390.c: set_bit_inv(vcpu->vcpu_id, (unsigned long *)
> > > &sca->mcn);
> >
> > These two should be fixed in a separate change.
> >
> > Also this kind of stuff:
> >
> > bitmap_copy(kvm->arch.cpu_feat, (unsigned long *) data.feat,
> > KVM_S390_VM_CPU_FEAT_NR_BITS);
> >
> > might require a new API like
> >
> > bitmap_from_u64_array()
> > bitmap_to_u64_array()
> >
> > Yury?
>
> If BE32 is still the case then yes.

The whole point is to get rid of the bad pattern, while it may still work
in the particular case.

--
With Best Regards,
Andy Shevchenko