Re: [PATCH v5 18/23] bpf: Use vmalloc special flag
John Paul Adrian Glaubitz <[email protected]> Tue, 12 Aug 2025 20:37:15 +0200
| Newsgroups | com.openwall.lists.kernel-hardening,org.kernel.vger.linux-integrity,org.kernel.vger.linux-kernel,org.kernel.vger.linux-security-module,org.kernel.vger.sparclinux,org.kvack.linux-mm |
|---|---|
| Message-ID | <49b112b80b211ae05b5f3c36a55f67041783f51e.camel@physik.fu-berlin.de> |
Hi, On Tue, 2025-08-12 at 18:03 +0000, Edgecombe, Rick P wrote: > On Tue, 2025-08-12 at 18:43 +0200, John Paul Adrian Glaubitz wrote: > > I suspect that the main issue is to be found in the following patch whi= ch introduced VM_FLUSH_RESET_PERMS > > which may not work as expected on sun4u SPARC systems: >=20 > I think the problem we found with VM_FLUSH_RESET_PERMS was that the sparc= 64 > kernel TLB flush implementation was broken. Since VM_FLUSH_RESET_PERMS ca= used > kernel TLB flushes to happen sooner, it just showed up sooner. [0]=20 >=20 > This other issue seems to be about userspace memory. So I wonder if these= are > two separate issues? Bisecting to the original VM_FLUSH_RESET_PERMS would= have > had the known sparc kernel range TLB flush issue. So to bisect the other = issue > you might need to apply this [1]. That could be true. I knew about the patch in [1] but I didn't think of app= lying it. FWIW, the crashes we're seeing on recent kernel versions look like this: [ 40.992851] \|/ ____ \|/ [ 40.992851] "@'/ .. \`@" [ 40.992851] /_| \__/ |_\ [ 40.992851] \__U_/ [ 41.186220] (udev-worker)(88): Kernel illegal instruction [#1] [ 41.262910] CPU: 0 UID: 0 PID: 88 Comm: (udev-worker) Tainted: G = W 6.12.0+ #25 [ 41.376151] Tainted: [W]=3DWARN [ 41.415025] TSTATE: 0000004411001607 TPC: 00000000101c21c0 TNPC: 0000000= 0101c21c4 Y: 00000000 Tainted: G W =20 [ 41.563717] TPC: <ehci_init_driver+0x0/0x160 [ehci_hcd]> [ 41.633584] g0: 00000000012005b8 g1: 00000000100a1800 g2: 00000000102060= 00 g3: 00000000101de000 [ 41.747962] g4: fff000000a5af380 g5: 0000000000000000 g6: fff000000aac80= 00 g7: 0000000000000e7b [ 41.862338] o0: 0000000010060118 o1: 000000001020a000 o2: fff000000aa30c= e0 o3: 0000000000000e7a [ 41.976728] o4: 00000000ff000000 o5: 00ff000000000000 sp: fff000000aacb0= 91 ret_pc: 00000000101de028 [ 42.095768] RPC: <ehci_pci_init+0x28/0x2000 [ehci_pci]> [ 42.164394] l0: 0000000000000000 l1: 0000000100043fff l2: ffffffffff8000= 00 l3: 0000000000800000 [ 42.278768] l4: fff00000001c8008 l5: 0000000000000000 l6: 00000000013358= e0 l7: 0000000001002800 [ 42.393143] i0: ffffffffffffffed i1: 00000000004db8d8 i2: 00000000000000= 00 i3: fff000000aa304e0 [ 42.507517] i4: 0000000001127250 i5: 0000000010060000 i6: fff000000aacb1= 41 i7: 0000000000427d90 [ 42.621893] I7: <do_one_initcall+0x30/0x200> [ 42.677931] Call Trace: [ 42.709953] [<0000000000427d90>] do_one_initcall+0x30/0x200 [ 42.783158] [<00000000004db908>] do_init_module+0x48/0x240 [ 42.855214] [<00000000004dd82c>] load_module+0x19cc/0x1f20 [ 42.927270] [<00000000004ddf8c>] init_module_from_file+0x6c/0xa0 [ 43.006189] [<00000000004de1e4>] sys_finit_module+0x1c4/0x2c0 [ 43.081677] [<0000000000406174>] linux_sparc_syscall+0x34/0x44 [ 43.158307] Disabling lock debugging due to kernel taint [ 43.228077] Caller[0000000000427d90]: do_one_initcall+0x30/0x200 [ 43.306995] Caller[00000000004db908]: do_init_module+0x48/0x240 [ 43.384772] Caller[00000000004dd82c]: load_module+0x19cc/0x1f20 [ 43.462544] Caller[00000000004ddf8c]: init_module_from_file+0x6c/0xa0 [ 43.547184] Caller[00000000004de1e4]: sys_finit_module+0x1c4/0x2c0 [ 43.628389] Caller[0000000000406174]: linux_sparc_syscall+0x34/0x44 [ 43.710741] Caller[fff000010480e2fc]: 0xfff000010480e2fc [ 43.780508] Instruction DUMP: [ 43.780511] 00000000=20 [ 43.819394] 00000000=20 [ 43.850273] 00000000=20 [ 43.881153] <00000000> [ 43.912036] 00000000=20 [ 43.942917] 00000000=20 [ 43.973797] 00000000=20 [ 44.004678] 00000000=20 [ 44.035561] 00000000=20 [ 44.066443] Do you have any suggestion what to bisect? Adrian --=20 .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913