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-next>] [day] [month] [year] [list]
Message-Id: <0dcc1aac-9a6a-4d17-be68-a895cb6120da@app.fastmail.com>
Date:   Wed, 29 Mar 2023 21:15:50 +1000
From:   Alistair <alistair@...stair23.me>
To:     ye.xingchen@....com.cn, sebastian.reichel@...labora.com,
        linus.walleij@...aro.org, sre@...nel.org
Cc:     pali@...nel.org, sravanhome@...il.com, linux-pm@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: power_supply_show_property Kernel Oops

Hey,

I am working on mainlining support for the reMarkable2 eInk tablet.

I haven an out of tree max77818 power controller [1], [2] and [3] that I
haven't upstreamed yet, but am using on top of the mainline kernel.

My driver worked with the 6.2 kernel [4], but since rebasing to the 6.3-rc4
kernel [5] I see this kernel oops:

```
[    2.107861] 8<--- cut here ---
[    2.110964] Unable to handle kernel paging request at virtual address 002080a2 when read
[    2.119064] [002080a2] *pgd=00000000
[    2.122675] Internal error: Oops: 5 [#1] SMP ARM
[    2.127302] Modules linked in:
[    2.130369] CPU: 1 PID: 49 Comm: kworker/1:2 Not tainted 6.3.0-rc4-00043-ga28b4b2f86cb-dirty #6
[    2.139079] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    2.144832] Workqueue: events power_supply_changed_work
[    2.150081] PC is at string+0x80/0x158
[    2.153847] LR is at 0xc2826fff
[    2.156996] pc : [<c0da9314>]    lr : [<c2826fff>]    psr: a0000013
[    2.163270] sp : f0dadd98  ip : c2827000  fp : f0dadddc
[    2.168501] r10: c2827000  r9 : c2828000  r8 : c10ec1da
[    2.173733] r7 : f0dade34  r6 : 00000002  r5 : f0dadd98  r4 : f0daddb0
[    2.180268] r3 : 002080a2  r2 : c2828000  r1 : 00000000  r0 : c2827000
[    2.186803] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    2.193949] Control: 10c5387d  Table: 8000406a  DAC: 00000051
[    2.199699] Register r0 information: non-slab/vmalloc memory
[    2.205371] Register r1 information: NULL pointer
[    2.210084] Register r2 information: non-slab/vmalloc memory
[    2.215753] Register r3 information: non-paged memory
[    2.220814] Register r4 information: 2-page vmalloc region starting at 0xf0dac000 allocated at kernel_
clone+0xa4/0x360
[    2.231542] Register r5 information: 2-page vmalloc region starting at 0xf0dac000 allocated at kernel_
clone+0xa4/0x360
[    2.242265] Register r6 information: non-paged memory
[    2.247326] Register r7 information: 2-page vmalloc region starting at 0xf0dac000 allocated at kernel_
clone+0xa4/0x360
[    2.258048] Register r8 information: non-slab/vmalloc memory
[    2.263718] Register r9 information: non-slab/vmalloc memory
[    2.269387] Register r10 information: non-slab/vmalloc memory
[    2.275144] Register r11 information: 2-page vmalloc region starting at 0xf0dac000 allocated at kernel_clone+0xa4/0x360
[    2.285953] Register r12 information: non-slab/vmalloc memory
[    2.291709] Process kworker/1:2 (pid: 49, stack limit = 0xf6b02a82)
[    2.297990] Stack: (0xf0dadd98 to 0xf0dae000)
[    2.302356] dd80:                                                       ffffff04 ffff0a00
[    2.310546] dda0: f0daddf0 c07b982c ffffff04 ffff0a00 f0dade34 c10ec1d8 c2827000 c0dac10c
[    2.318735] ddc0: c254b420 ffffff04 ffff0a00 000000b7 f0daddf0 00001000 0000120c ffffff04
[    2.326924] dde0: ffff0a00 dbe877b2 f0dade38 00001000 00000000 c254b420 c15262e0 0000120c
[    2.335113] de00: c2827000 c254b400 c11145cc c0dac3e8 0000004d c03363ec 00000001 dbe877b2
[    2.343302] de20: f0dade30 dbe877b2 c09ca444 c10ec1d8 002080a2 00000000 00000000 dbe877b2
[    2.351491] de40: ffffff04 0000004d c2827000 c2181000 000004d0 c15250b0 c2827000 c0ea7d94
[    2.359680] de60: c11145cc c09ca5f8 00000000 00000006 c254b420 c2181000 c254b400 c2827000
[    2.367869] de80: c0ea7d94 c09ca7d8 c254b420 c2181000 00000000 c10f3358 00000002 00000000
[    2.376058] dea0: c0ea7d94 c07986e0 00000000 c0ea7d94 c11145cc c0d8f7e8 f0daded0 dbe877b2
[    2.384247] dec0: c254b420 dbe877b2 c0d8fdf0 c254b420 c2181000 c0d8fe5c c09c88d4 dbe877b2
[    2.392435] dee0: c254b420 c2822f00 c254b400 00000000 c254b634 c254b5f8 00000000 c254b634
[    2.400624] df00: c254b400 c254b420 c15a2fa4 00000040 ef7d4880 c09c8af0 c254b5f8 c27f1e00
[    2.408813] df20: ef7d4880 ef7d7c00 00000000 ef7d7c05 00000040 c013ddb8 c1403d40 c2321100
[    2.417002] df40: c27f1e00 ef7d4880 ef7d489c c1403d40 c2321100 c27f1e18 00000008 c013ea40
[    2.425191] df60: c27f1e00 c2620340 f08f1eb8 c27f3880 c2321100 c013ea14 c27f1e00 c2620340
[    2.433380] df80: f08f1eb8 00000000 00000000 c0146218 c27f3880 c014614c 00000000 00000000
[    2.441568] dfa0: 00000000 00000000 00000000 c0100170 00000000 00000000 00000000 00000000
[    2.449756] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.457943] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    2.466136]  string from vsnprintf+0x158/0x424
[    2.470603]  vsnprintf from vscnprintf+0x10/0x24
[    2.475241]  vscnprintf from sysfs_emit+0x50/0xac
[    2.479975]  sysfs_emit from power_supply_show_property+0x1d0/0x26c
[    2.486269]  power_supply_show_property from add_prop_uevent+0x30/0x8c
[    2.492815]  add_prop_uevent from power_supply_uevent+0xb4/0xe4
[    2.498753]  power_supply_uevent from dev_uevent+0xc4/0x21c
[    2.504352]  dev_uevent from kobject_uevent_env+0x1cc/0x510
[    2.509953]  kobject_uevent_env from power_supply_changed_work+0x7c/0xb4
[    2.516675]  power_supply_changed_work from process_one_work+0x1e8/0x3e8
[    2.523396]  process_one_work from worker_thread+0x2c/0x504
[    2.528986]  worker_thread from kthread+0xcc/0xec
[    2.533716]  kthread from ret_from_fork+0x14/0x24
[    2.538443] Exception stack(0xf0dadfb0 to 0xf0dadff8)
[    2.543505] dfa0:                                     00000000 00000000 00000000 00000000
[    2.551692] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.559879] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    2.566507] Code: e2800001 e150000e e2811001 0a000002 (e4d3c001)
[    2.572682] ---[ end trace 0000000000000000 ]---
```

As it's on a consumer device I don't have a way to connect a debugger. So I'm
a little stuck on what the problem is. The only related change I see between
6.2 and 6.3-rc4 is commit a441f3b90a340e5c94df36c33fb7000193ee0aa7
"power: supply: use sysfs_emit() instead of sprintf() for sysfs show()", but
that doesn't look like it would cause this oops.

I would really appreciate any help or ideas on what the issue might be or how
I could fix it

1: https://github.com/alistair23/linux/commit/5f1579e12c35d75529328e84d78b36ac11da8cd4
2: https://github.com/alistair23/linux/commit/c6383382278c5e594bb889f62dab853da8b73532
3: https://github.com/alistair23/linux/commit/5d8f2d3a08b8604a0ca5282f2b0aea9ebe7ee5fa
4: https://github.com/alistair23/linux/tree/rM2-6.2
5: https://github.com/alistair23/linux/tree/rM2-mainline

Alistair

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ