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: <23950bcb-81b0-4e07-8dc8-8740eb53d7fd@gmail.com>
Date:   Wed, 22 May 2019 12:40:55 +0200
From:   Vicente Bergas <vicencb@...il.com>
To:     Alexander Viro <viro@...iv.linux.org.uk>
Cc:     <linux-fsdevel@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: d_lookup: Unable to handle kernel paging request

Hi,
since a recent update the kernel is reporting d_lookup errors.
They appear randomly and after each error the affected file or directory
is no longer accessible.
The kernel is built with GCC 9.1.0 on ARM64.
Four traces from different workloads follow.

This trace is from v5.1-12511-g72cf0b07418a while untaring into a tmpfs
filesystem:

Unable to handle kernel paging request at virtual address 0000880001000018
Mem abort info:
  ESR = 0x96000004
  Exception class = DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
Data abort info:
  ISV = 0, ISS = 0x00000004
  CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgdp = 000000007ccc6c7d
[0000880001000018] pgd=0000000000000000
Internal error: Oops: 96000004 [#1] SMP
Process tar (pid: 1673, stack limit = 0x0000000083be9793)
CPU: 5 PID: 1673 Comm: tar Not tainted 5.1.0 #1
Hardware name: Sapphire-RK3399 Board (DT)
pstate: 00000005 (nzcv daif -PAN -UAO)
pc : __d_lookup+0x58/0x198
lr : d_lookup+0x38/0x68
sp : ffff0000126e3ba0
x29: ffff0000126e3ba0 x28: ffff0000126e3d68 
x27: 0000000000000000 x26: ffff80008201d300 
x25: 0000000000000001 x24: ffffffffffffffff 
x23: 00000000ce986489 x22: 0000000000000000 
x21: 0000000000000001 x20: ffff0000126e3d68 
x19: 0000880001000000 x18: 0000000000000000 
x17: 0000000000000000 x16: 0000000000000000 
x15: 0000000000000000 x14: 0000000000000000 
x13: 0000000000000000 x12: 0000000000000000 
x11: fefefefefefefeff x10: a4d0a4a8a4fea3d0 
x9 : 2f062c662d62dfa7 x8 : f2025989e6593ef3 
x7 : b24a95208032f7e2 x6 : 0000000000000001 
x5 : 0000000000000000 x4 : ffff0000126e3d68 
x3 : ffff000010828a68 x2 : ffff000010828000 
x1 : ffff8000f3000000 x0 : 00000000000674c3 
Call trace:
 __d_lookup+0x58/0x198
 d_lookup+0x38/0x68
 path_openat+0x4a8/0xfb8
 do_filp_open+0x60/0xd8
 do_sys_open+0x144/0x1f8
 __arm64_sys_openat+0x20/0x28
 el0_svc_handler+0x68/0xd8
 el0_svc+0x8/0xc
Code: 92800018 a9025bf5 d2800016 52800035 (b9401a62) 
---[ end trace 8d5c8dc953aa6402 ]---

This trace is from v5.2.0-rc1:

Unable to handle kernel paging request at virtual address 0000880001000018
Mem abort info:
  ESR = 0x96000004
  Exception class = DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
Data abort info:
  ISV = 0, ISS = 0x00000004
  CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgdp = 000000004850c69c
[0000880001000018] pgd=0000000000000000
Internal error: Oops: 96000004 [#1] SMP
Process read_sensors (pid: 926, stack limit = 0x00000000aaf00007)
CPU: 0 PID: 926 Comm: read_sensors Not tainted 5.2.0-rc1 #1
Hardware name: Sapphire-RK3399 Board (DT)
pstate: 00000005 (nzcv daif -PAN -UAO)
pc : __d_lookup+0x58/0x198
lr : d_lookup+0x38/0x68
sp : ffff000011ee3c60
x29: ffff000011ee3c60 x28: ffff000011ee3d98 
x27: 0000000000000000 x26: ffff8000f28083c0 
x25: 0000000000000276 x24: ffffffffffffffff 
x23: 00000000ce97b3cf x22: 0000000000000000 
x21: 0000000000000001 x20: ffff000011ee3d98 
x19: 0000880001000000 x18: 0000000000000000 
x17: 0000000000000002 x16: 0000000000000001 
x15: ffff8000e4b3a8c8 x14: ffffffffffffffff 
x13: ffff000011ee3db8 x12: ffff000011ee3dad 
x11: 0000000000000000 x10: ffff000011ee3d20 
x9 : 00000000ffffffd8 x8 : 000000000000039e 
x7 : 0000000000000000 x6 : 0000000000000002 
x5 : 61c8864680b583eb x4 : 42bed11fefc04553 
x3 : ffff000010828a68 x2 : ffff000010828000 
x1 : ffff8000f3000000 x0 : 00000000000674bd 
Call trace:
 __d_lookup+0x58/0x198
 d_lookup+0x38/0x68
 d_hash_and_lookup+0x50/0x68
 proc_flush_task+0x98/0x198
 release_task+0x60/0x4b8
 do_exit+0x680/0xa68
 __arm64_sys_exit+0x14/0x18
 el0_svc_handler+0x68/0xd8
 el0_svc+0x8/0xc
Code: 92800018 a9025bf5 d2800016 52800035 (b9401a62) 
---[ end trace c9b8ee5d6aa547ae ]---

This trace is from v5.2.0-rc1 while executing 'git pull -r' from f2fs. It
got repeated several times:

Unable to handle kernel paging request at virtual address 0000000000fffffc
Mem abort info:
  ESR = 0x96000004
  Exception class = DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
Data abort info:
  ISV = 0, ISS = 0x00000004
  CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgdp = 0000000092bdb9cd
[0000000000fffffc] pgd=0000000000000000
Internal error: Oops: 96000004 [#2] SMP
Process git (pid: 2996, stack limit = 0x000000004b733f9b)
CPU: 5 PID: 2996 Comm: git Tainted: G      D           5.2.0-rc1 #1
Hardware name: Sapphire-RK3399 Board (DT)
pstate: 00000005 (nzcv daif -PAN -UAO)
pc : __d_lookup_rcu+0x68/0x198
lr : lookup_fast+0x44/0x2e8
sp : ffff000013f83aa0
x29: ffff000013f83aa0 x28: 00000000ce9798e9 
x27: ffffffffffffffff x26: 0000000000000015 
x25: ffff800009268043 x24: ffff000013f83b6c 
x23: 0000000000000005 x22: 00000015ce9798e9 
x21: ffff800039a7a780 x20: 0000000000000000 
x19: 0000000001000000 x18: 0000000000000000 
x17: 0000000000000000 x16: 0000000000000000 
x15: 0000000000000000 x14: 0000000000000000 
x13: 0000000000000000 x12: 0000000000000000 
x11: fefefefefefefeff x10: d0d0d0b3b3fea4a3 
x9 : f2862b1e24d6cb78 x8 : fac1836b95d6b53a 
x7 : c1462108f502da45 x6 : 0847a816d22e0a31 
x5 : ffff800009268043 x4 : ffff8000f3000000 
x3 : ffff000013f83c88 x2 : ffff000013f83b6c 
x1 : 00000000000674bc x0 : ffff800039a7a780 
Call trace:
 __d_lookup_rcu+0x68/0x198
 lookup_fast+0x44/0x2e8
 walk_component+0x34/0x2e0
 path_lookupat.isra.0+0x5c/0x1e0
 filename_lookup+0x78/0xf0
 user_path_at_empty+0x44/0x58
 vfs_statx+0x70/0xd0
 __se_sys_newfstatat+0x20/0x40
 __arm64_sys_newfstatat+0x18/0x20
 el0_svc_handler+0x68/0xd8
 el0_svc+0x8/0xc
Code: 9280001b 14000003 f9400273 b4000793 (b85fc265) 
---[ end trace c9b8ee5d6aa547af ]---

This trace is from v5.2.0-rc1 while executing 'rm -rf' the directory
affected from the previous trace:

Unable to handle kernel paging request at virtual address 0000000001000018
Mem abort info:
  ESR = 0x96000004
  Exception class = DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
Data abort info:
  ISV = 0, ISS = 0x00000004
  CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgdp = 00000000649981ae
[0000000001000018] pgd=0000000000000000
Internal error: Oops: 96000004 [#10] SMP
Process rm (pid: 6401, stack limit = 0x00000000e524cae1)
CPU: 5 PID: 6401 Comm: rm Tainted: G      D           5.2.0-rc1 #1
Hardware name: Sapphire-RK3399 Board (DT)
pstate: 00000005 (nzcv daif -PAN -UAO)
pc : __d_lookup+0x58/0x198
lr : d_lookup+0x38/0x68
sp : ffff000016993d00
x29: ffff000016993d00 x28: ffff000016993e70 
x27: 0000000000000000 x26: ffff800039a7a780 
x25: 0000000056000000 x24: ffffffffffffffff 
x23: 00000000ce9798e9 x22: 0000000000000000 
x21: 0000000000000001 x20: ffff000016993e70 
x19: 0000000001000000 x18: 0000000000000000 
x17: 0000000000000000 x16: 0000000000000000 
x15: 0000000000000000 x14: 0000000000000000 
x13: 0000000000000000 x12: 0000000000000000 
x11: fefefefefefefeff x10: d0d0d0b3b3fea4a3 
x9 : f2862b1e24d6cb78 x8 : fac1836b95d6b53a 
x7 : c1462108f502da45 x6 : 00000000ffffffff 
x5 : 0000000000000000 x4 : ffff8000eb31d500 
x3 : ffff000010828a68 x2 : ffff000010828000 
x1 : ffff8000f3000000 x0 : 00000000000674bc 
Call trace:
 __d_lookup+0x58/0x198
 d_lookup+0x38/0x68
 lookup_dcache+0x20/0x80
 __lookup_hash+0x20/0xc8
 do_unlinkat+0x10c/0x278
 __arm64_sys_unlinkat+0x34/0x60
 el0_svc_handler+0x68/0xd8
 el0_svc+0x8/0xc
Code: 92800018 a9025bf5 d2800016 52800035 (b9401a62) 
---[ end trace c9b8ee5d6aa547b7 ]---

Regards,
  Vicenç.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ