Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

arm64/scs: Fix handling of advance_loc4

DW_CFA_advance_loc4 is defined but no handler is implemented. Its
CFA opcode defaults to EDYNSCS_INVALID_CFA_OPCODE triggering an
error which wrongfully prevents modules from loading.

Link: https://bugs.gentoo.org/971060
Signed-off-by: Pepper Gray <hello@peppergray.xyz>
Signed-off-by: Will Deacon <will@kernel.org>

authored by

Pepper Gray and committed by
Will Deacon
d499e962 d87c828d

+8
+8
arch/arm64/kernel/pi/patch-scs.c
··· 192 192 size -= 2; 193 193 break; 194 194 195 + case DW_CFA_advance_loc4: 196 + loc += *opcode++ * code_alignment_factor; 197 + loc += (*opcode++ << 8) * code_alignment_factor; 198 + loc += (*opcode++ << 16) * code_alignment_factor; 199 + loc += (*opcode++ << 24) * code_alignment_factor; 200 + size -= 4; 201 + break; 202 + 195 203 case DW_CFA_def_cfa: 196 204 case DW_CFA_offset_extended: 197 205 size = skip_xleb128(&opcode, size);