lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 11 Aug 2016 13:54:23 +0200
From:	Linus Walleij <linus.walleij@...aro.org>
To:	Christophe Leroy <christophe.leroy@....fr>
Cc:	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Paul Mackerras <paulus@...ba.org>,
	Michael Ellerman <mpe@...erman.id.au>,
	Scott Wood <oss@...error.net>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linuxppc-dev@...ts.ozlabs.org list" <linuxppc-dev@...ts.ozlabs.org>,
	"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
	stable <stable@...r.kernel.org>
Subject: Re: [PATCH] powerpc: sysdev: cpm: fix gpio save_regs functions

On Thu, Aug 11, 2016 at 10:50 AM, Christophe Leroy
<christophe.leroy@....fr> wrote:

> of_mm_gpiochip_add_data() calls mm_gc->save_regs() before
> setting the data. Therefore ->save_regs() cannot use
> gpiochip_get_data()
>
> [    0.275940] Unable to handle kernel paging request for data at address 0x00000130
> [    0.283120] Faulting instruction address: 0xc01b44cc
> [    0.288175] Oops: Kernel access of bad area, sig: 11 [#1]
> [    0.293343] PREEMPT CMPC885
> [    0.296141] CPU: 0 PID: 1 Comm: swapper Not tainted 4.7.0-g65124df-dirty #68
> [    0.304131] task: c6074000 ti: c6080000 task.ti: c6080000
> [    0.309459] NIP: c01b44cc LR: c0011720 CTR: c0011708
> [    0.314372] REGS: c6081d90 TRAP: 0300   Not tainted  (4.7.0-g65124df-dirty)
> [    0.322267] MSR: 00009032 <EE,ME,IR,DR,RI>  CR: 24000028  XER: 20000000
> [    0.328813] DAR: 00000130 DSISR: c0000000
> GPR00: c01b6d0c c6081e40 c6074000 c6017000 c9028000 c601d028 c6081dd8 00000000
> GPR08: c601d028 00000000 ffffffff 00000001 24000044 00000000 c0002790 00000000
> GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 c05643b0 00000083
> GPR24: c04a1a6c c0560000 c04a8308 c04c6480 c0012498 c6017000 c7ffcc78 c6017000
> [    0.360806] NIP [c01b44cc] gpiochip_get_data+0x4/0xc
> [    0.365684] LR [c0011720] cpm1_gpio16_save_regs+0x18/0x44
> [    0.370972] Call Trace:
> [    0.373451] [c6081e50] [c01b6d0c] of_mm_gpiochip_add_data+0x70/0xdc
> [    0.379624] [c6081e70] [c00124c0] cpm_init_par_io+0x28/0x118
> [    0.385238] [c6081e80] [c04a8ac0] do_one_initcall+0xb0/0x17c
> [    0.390819] [c6081ef0] [c04a8cbc] kernel_init_freeable+0x130/0x1dc
> [    0.396924] [c6081f30] [c00027a4] kernel_init+0x14/0x110
> [    0.402177] [c6081f40] [c000b424] ret_from_kernel_thread+0x5c/0x64
> [    0.408233] Instruction dump:
> [    0.411168] 4182fafc 3f80c040 48234c6d 3bc0fff0 3b9c5ed0 4bfffaf4 81290020 712a0004
> [    0.418825] 4182fb34 48234c51 4bfffb2c 81230004 <80690130> 4e800020 7c0802a6 9421ffe0
> [    0.426763] ---[ end trace fe4113ee21d72ffa ]---
>
> fixes: e65078f1f3490 ("powerpc: sysdev: cpm1: use gpiochip data pointer")
> fixes: a14a2d484b386 ("powerpc: cpm_common: use gpiochip data pointer")
> Cc: stable@...r.kernel.org
> Signed-off-by: Christophe Leroy <christophe.leroy@....fr>

Reviewed-by: Linus Walleij <linus.walleij@...aro.org>

Sorry for screwing stuff up :(

Yours,
Linus Walleij

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ