diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-04-27 07:36:44 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-04-29 11:31:59 +0200 |
commit | 46bd2c0ffd5cf7642a9dd87b294be9d2e51adb69 (patch) | |
tree | 1e5461f58ff4f3a7c3b0d7cf33108df0fff857cf /arch/s390/kernel/alternative.c | |
parent | 2dcf46aa49acc4c432ebefe3d4d413f428adc120 (diff) |
s390/alternative: use a copy of the facility bit mask
[ 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.
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/s390/kernel/alternative.c')
-rw-r--r-- | arch/s390/kernel/alternative.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/alternative.c b/arch/s390/kernel/alternative.c index 315986a06cf5..f5060af61176 100644 --- a/arch/s390/kernel/alternative.c +++ b/arch/s390/kernel/alternative.c @@ -74,7 +74,8 @@ static void __init_or_module __apply_alternatives(struct alt_instr *start, instr = (u8 *)&a->instr_offset + a->instr_offset; replacement = (u8 *)&a->repl_offset + a->repl_offset; - if (!test_facility(a->facility)) + if (!__test_facility(a->facility, + S390_lowcore.alt_stfle_fac_list)) continue; if (unlikely(a->instrlen % 2 || a->replacementlen % 2)) { |