Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a0b1327 authored by Tony Lindgren's avatar Tony Lindgren
Browse files

ARM: OMAP2+: Fix l2_inv_api_params for rodata



We don't want to write to .text, so let's move l2_inv_api_params
to .data and access it via a pointer.

Cc: Kees Cook <keescook@chromium.org>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Tero Kristo <t-kristo@ti.com>
Acked-by: default avatarNicolas Pitre <nico@linaro.org>
Cc: stable@vger.kernel.org # v4.0+
Fixes: 1e6b4811 ("ARM: mm: allow non-text sections to be
non-executable")
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent a5311d4d
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -436,12 +436,14 @@ skipl2dis:
	and	r1, #0x700
	cmp	r1, #0x300
	beq	l2_inv_gp
	adr	r0, l2_inv_api_params_offset
	ldr	r3, [r0]
	add	r3, r3, r0		@ r3 points to dummy parameters
	mov	r0, #40			@ set service ID for PPA
	mov	r12, r0			@ copy secure Service ID in r12
	mov	r1, #0			@ set task id for ROM code in r1
	mov	r2, #4			@ set some flags in r2, r6
	mov	r6, #0xff
	adr	r3, l2_inv_api_params	@ r3 points to dummy parameters
	dsb				@ data write barrier
	dmb				@ data memory barrier
	smc	#1			@ call SMI monitor (smi #1)
@@ -475,8 +477,8 @@ skipl2dis:
	b	logic_l1_restore

	.align
l2_inv_api_params:
	.word	0x1, 0x00
l2_inv_api_params_offset:
	.long	l2_inv_api_params - .
l2_inv_gp:
	/* Execute smi to invalidate L2 cache */
	mov r12, #0x1			@ set up to invalidate L2
@@ -531,6 +533,10 @@ l2dis_3630_offset:
l2dis_3630:
	.word	0

	.data
l2_inv_api_params:
	.word	0x1, 0x00

/*
 * Internal functions
 */