Re: [PATCH] soc: imx: gpc: restrict register range for regmap access

From: Fabio Estevam
Date: Mon Jul 16 2018 - 09:59:23 EST


Hi Anson,

On Mon, Jul 16, 2018 at 1:46 AM, Anson Huang <Anson.Huang@xxxxxxx> wrote:
> GPC registers are NOT continuous, some registers are
> reserved and accessing them from userspace will trigger
> external abort, add regmap register access table to
> avoid below abort:
>
> root@imx6slevk:~# cat /sys/kernel/debug/regmap/20dc000.gpc/registers
> [ 108.480477] Unhandled fault: imprecise external abort (0x1406) at 0xb6db5004
> [ 108.487985] pgd = 42b54bfd
> [ 108.490741] [b6db5004] *pgd=ba1b7831
> [ 108.494386] Internal error: : 1406 [#1] SMP ARM
> [ 108.498943] Modules linked in:
> [ 108.502043] CPU: 0 PID: 389 Comm: cat Not tainted 4.18.0-rc1-00074-gc9f1f60-dirty #482
> [ 108.509982] Hardware name: Freescale i.MX6 SoloLite (Device Tree)
> [ 108.516123] PC is at regmap_mmio_read32le+0x20/0x24
> [ 108.521031] LR is at regmap_mmio_read+0x40/0x60
> [ 108.525586] pc : [<c059cf74>] lr : [<c059d1ac>] psr: 20060093
> [ 108.531875] sp : eccf1d98 ip : eccf1da8 fp : eccf1da4
> [ 108.537122] r10: ec2d3800 r9 : eccf1f60 r8 : ecfc0000
> [ 108.542370] r7 : eccf1e2c r6 : eccf1e2c r5 : 00000028 r4 : ec338e00
> [ 108.548920] r3 : 00000000 r2 : eccf1e2c r1 : f0980028 r0 : 00000000
> [ 108.555474] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
> [ 108.562720] Control: 10c5387d Table: acf4004a DAC: 00000051
> [ 108.568491] Process cat (pid: 389, stack limit = 0xd4318a65)
> [ 108.574174] Stack: (0xeccf1d98 to 0xeccf2000)
>
> Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>

Thanks for this fix.

Maybe you could add a Fixes tag, so that it can be applied to stable?

Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxx>