Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
powerpc/lib: Fix off-by-one in alternate feature patching
commit b885858 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: d20fe50 ("KVM: PPC: Book3S HV: Branch inside feature section") Fixes: 9b1a735 ("powerpc: Add logic to patch alternative feature sections") Cc: [email protected] # v2.6.27+ Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
- Loading branch information