linux/arch/powerpc
Michael Ellerman f86815184c powerpc/lib: Fix off-by-one in alternate feature patching
commit b8858581fe upstream.

When we patch an alternate feature section, we have to adjust any
relative branches that branch out of the alternate section.

But currently we have a bug if we have a branch that points to past
the last instruction of the alternate section, eg:

  FTR_SECTION_ELSE
  1:     b       2f
         or      6,6,6
  2:
  ALT_FTR_SECTION_END(...)
         nop

This will result in a relative branch at 1 with a target that equals
the end of the alternate section.

That branch does not need adjusting when it's moved to the non-else
location. Currently we do adjust it, resulting in a branch that goes
off into the link-time location of the else section, which is junk.

The fix is to not patch branches that have a target == end of the
alternate section.

Fixes: d20fe50a7b ("KVM: PPC: Book3S HV: Branch inside feature section")
Fixes: 9b1a735de6 ("powerpc: Add logic to patch alternative feature sections")
Cc: stable@vger.kernel.org # v2.6.27+
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2018-04-24 09:36:38 +02:00
..
boot .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
configs powerpc/configs: Update for CONFIG_SND changes 2017-09-20 13:30:09 +10:00
crypto crypto: hash - annotate algorithms taking optional key 2018-02-16 20:23:00 +01:00
include powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops 2018-04-24 09:36:28 +02:00
kernel powerpc/eeh: Fix enabling bridge MMIO windows 2018-04-24 09:36:37 +02:00
kvm KVM: PPC: Book3S HV: trace_tlbie must not be called in realmode 2018-04-19 08:56:17 +02:00
lib powerpc/lib: Fix off-by-one in alternate feature patching 2018-04-24 09:36:38 +02:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm powerpc/64: Call H_REGISTER_PROC_TBL when running as a HPT guest on POWER9 2018-04-24 09:36:27 +02:00
net bpf, ppc64: fix out of bounds access in tail call 2018-03-11 16:23:23 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf powerpc/perf/imc: Fix nest-imc cpuhotplug callback failure 2018-02-25 11:08:03 +01:00
platforms powerpc/powernv: Fix OPAL NVRAM driver OPAL_BUSY loops 2018-04-24 09:36:28 +02:00
purgatory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysdev powerpc/xive: Fix trying to "push" an already active pool VP 2018-04-24 09:36:37 +02:00
tools License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xmon powerpc/xmon: Avoid tripping SMP hardlockup watchdog 2017-12-25 14:26:28 +01:00
Kconfig powerpc/64s: Wire up cpu_show_meltdown() 2018-02-07 11:12:17 -08:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile Merge branch 'fixes' into next 2017-08-23 22:20:10 +10:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00