On Mon, May 07, 2018 at 08:07:07AM +0200, Martin Schwidefsky wrote: > On Fri, 4 May 2018 15:18:08 -0700 > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > On Fri, May 04, 2018 at 09:37:20AM +0200, Jiri Slaby wrote: > > > On 04/27/2018, 03:58 PM, Greg Kroah-Hartman wrote: > > > > 4.4-stable review patch. If anyone has any objections, please let me know. > > > > > > > > ------------------ > > > > > > > > From: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > > > > > > > > > > > > [ Upstream commit cf1489984641369611556bf00c48f945c77bcf02 ] > > > > > > > > To be able to switch off specific CPU alternatives with kernel parameters > > > > make a copy of the facility bit mask provided by STFLE and use the copy > > > > for the decision to apply an alternative. > > > ... > > > > --- a/arch/s390/include/asm/facility.h > > > > +++ b/arch/s390/include/asm/facility.h > > > > @@ -13,6 +13,24 @@ > > > > > > > > #define MAX_FACILITY_BIT (256*8) /* stfle_fac_list has 256 bytes */ > > > > > > I wonder if the below (plus __test_facility) is correct in 4.4, given > > > MAX_FACILITY_BIT is defined as such and not as sizeof(stfle_fac_list * > > > 8) as in upstream? > > > > I'm going to defer to Marin here, as he did the backport... > > Martin? > > Good catch. With MAX_FACILITY_BIT == 2048 and the patch applied the result > for a test_facility/__test_facility call with a facility number >= 1024 > would give an incorrect result. Fortunately there are no such calls in > the current 4.4 kernel source. And there are no facilities defined with > bit numbers this large, so even out-of-tree code would not do this if > it is sane. > > To correct this the MAX_FACILITY_BIT define needs to be reduced to 1024 > which would require the patch pointed out be Heiko: > > commit 6f5165e864d240d15675cc2fb5a369d57e1f60d0 > Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Date: Mon Mar 20 14:29:50 2017 +0100 > > s390/facilites: use stfle_fac_list array size for MAX_FACILITY_BIT > > I would say yes, it *does* make sense to include this patch even if it > does not fix anything. Ok, I've now queued this up for 4.4.y and 4.9.y, thanks! greg k-h