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

From: Andy Shevchenko
Date: Thu Mar 03 2022 - 05:20:32 EST


On Wed, Mar 02, 2022 at 10:43:54AM -0800, Yury Norov wrote:
> On Wed, Mar 02, 2022 at 07:31:58PM +0200, Andy Shevchenko wrote:
> > 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.
>
> Then yes unconditionally. Is it already on table of s390 folks? If no,
> I can do it myself.
>
> We have bitmap_from_arr32 and bitmap_to_arr32, so for 64-bit versions,
> we'd start from that.

Yep, thanks!

--
With Best Regards,
Andy Shevchenko