On Monday, July 2, 2018 11:41:42 PM CEST Jeremy Linton wrote: > Hi, > > I'm experiencing two problems with commit 5088814a6e931 which is > "ACPICA: AML parser: attempt to continue loading table after error" > > The first is this boot failure on a thunderX2: > > [ 10.770098] ACPI Error: Ignore error and continue table load > (20180531/psobject-604) > [ 10.777926] Unable to handle kernel NULL pointer dereference at > virtual address 0000000000000000 > [ 10.786809] Mem abort info: > [ 10.789623] ESR = 0x96000004 > [ 10.792702] Exception class = DABT (current EL), IL = 32 bits > [ 10.798682] SET = 0, FnV = 0 > [ 10.801760] EA = 0, S1PTW = 0 > [ 10.804925] Data abort info: > [ 10.807827] ISV = 0, ISS = 0x00000004 > [ 10.811698] CM = 0, WnR = 0 > [ 10.814689] [0000000000000000] user address but active_mm is swapper > [ 10.821108] Internal error: Oops: 96000004 [#1] SMP > [ 10.826032] Modules linked in: > [ 10.829113] CPU: 30 PID: 1 Comm: swapper/0 Not tainted > 4.18.0-rc3PPTT4k+ #53 > [ 10.836234] Hardware name: Default string Cavium > ThunderX2/Default string, BIOS L50_5.13_1.0.0 05/16/2018 > [ 10.845905] pstate: 00400009 (nzcv daif +PAN -UAO) > [ 10.850746] pc : acpi_ps_peek_opcode+0x1c/0x40 > [ 10.855231] lr : acpi_ps_create_op+0x54/0x278 > [ 10.859627] sp : ffff000009a8ba30 > [ 10.862969] x29: ffff000009a8ba30 x28: 0000000054445353 > [ 10.868334] x27: 0000000000004008 x26: 0000000000000000 > [ 10.873698] x25: ffff000009767f23 x24: ffff000008d59000 > [ 10.879063] x23: ffff802672799030 x22: ffff000009a8bb28 > [ 10.884427] x21: 0000000000000000 x20: ffff000008d59000 > [ 10.889791] x19: ffff802672799030 x18: ffffffffffffffff > [ 10.895155] x17: 0000000000000013 x16: 0000000000000000 > [ 10.900519] x15: ffff000008d59708 x14: 2d7463656a626f73 > [ 10.905883] x13: 702f313335303831 x12: 3032282064616f6c > [ 10.911246] x11: 20656c6261742065 x10: 756e69746e6f6320 > [ 10.916610] x9 : 0000000000000058 x8 : ffff000008570998 > [ 10.921974] x7 : 203a726f72724520 x6 : 0000000000000334 > [ 10.927338] x5 : 0000000000000012 x4 : 0000000000000000 > [ 10.932701] x3 : 0000000000000000 x2 : ffff000009a8bb28 > [ 10.938065] x1 : 0000000000000000 x0 : ffff000008505790 > [ 10.943430] Process swapper/0 (pid: 1, stack limit = > 0x(____ptrval____)) > [ 10.950199] Call trace: > [ 10.952663] acpi_ps_peek_opcode+0x1c/0x40 > [ 10.956797] acpi_ps_create_op+0x54/0x278 > [ 10.960842] acpi_ps_parse_loop+0x1b4/0x6c8 > [ 10.965063] acpi_ps_parse_aml+0xe0/0x2b4 > [ 10.969108] acpi_ps_execute_table+0xa0/0x104 > [ 10.973505] acpi_ns_execute_table+0x120/0x194 > [ 10.977989] acpi_ns_parse_table+0x34/0x68 > [ 10.982122] acpi_ns_load_table+0x4c/0xbc > [ 10.986169] acpi_tb_load_namespace+0x1d4/0x240 > [ 10.990744] acpi_load_tables+0x50/0xbc > [ 10.994614] acpi_init+0xb8/0x374 > [ 10.997959] do_one_initcall+0x54/0x208 > [ 11.001829] kernel_init_freeable+0x224/0x300 > [ 11.006229] kernel_init+0x18/0x118 > [ 11.009747] ret_from_fork+0x10/0x18 > [ 11.013354] Code: aa0003f3 aa1e03e0 d503201f f9400661 (39400020) > [ 11.019535] ---[ end trace 2bd8068593cf8acc ]--- > [ 11.024195] Kernel panic - not syncing: Fatal exception > [ 11.029488] SMP: stopping secondary CPUs > [ 11.033480] ---[ end Kernel panic - not syncing: Fatal exception > ]--- > > Which does appear to be the result of some bad data in the table, but it > was working with 4.17, and reverting this commit solves the problem. Does the patch below make any difference? --- drivers/acpi/acpica/psobject.c | 3 +++ 1 file changed, 3 insertions(+) Index: linux-pm/drivers/acpi/acpica/psobject.c =================================================================== --- linux-pm.orig/drivers/acpi/acpica/psobject.c +++ linux-pm/drivers/acpi/acpica/psobject.c @@ -39,6 +39,9 @@ static acpi_status acpi_ps_get_aml_opcod ACPI_FUNCTION_TRACE_PTR(ps_get_aml_opcode, walk_state); walk_state->aml = walk_state->parser_state.aml; + if (!walk_state->aml) + return AE_CTRL_PARSE_CONTINUE; + walk_state->opcode = acpi_ps_peek_opcode(&(walk_state->parser_state)); /* -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html