http://bugzilla.suse.com/show_bug.cgi?id=939979 Bug ID: 939979 Summary: EFI runtime services were broken after a hibernate cycle on some old EFI machines Classification: openSUSE Product: openSUSE Distribution Version: 13.2 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-maintainers@forge.provo.novell.com Reporter: jlee@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Found can not accessing efi variables through efivarfs after hibernate resume. This issue can reproduce on Intel DQ57TM machine and Acer Gateway Z5WT2 UEFI notebook on my hand: [ 160.007691] BUG: unable to handle kernel paging request at fffffffefcc44e60 [ 160.014705] IP: [<ffffffff8146618d>] virt_efi_get_variable+0x5d/0xa0 [ 160.021091] PGD 1a0c067 PUD 1370ae063 PMD 1370bd063 PTE 0 [ 160.026562] Oops: 0000 [#1] SMP [ 160.029830] Modules linked in: bridge(E) stp(E) llc(E) iscsi_ibft(E) iscsi_boot_sysfs(E) af_packet(E) nls_iso8859_1(E) nls_cp437(E) intel_powerclamp(E) coretemp(E) kvm_intel(E) vfat(E) fat(E) kvm(E) iTCO_wdt( [ 160.102481] CPU: 0 PID: 1659 Comm: cat Tainted: G E 4.2.0-rc2-default+ #93 [ 160.110584] Hardware name: Intel Corp. Intel(R) UDK2010 firmware developer platform, BIOS SDV.TM.B13 Release Build (CSM Available) 07/03/2013 [ 160.123280] task: ffff88013607d380 ti: ffff880136794000 task.ti: ffff880136794000 [ 160.130772] RIP: 0010:[<ffffffff8146618d>] [<ffffffff8146618d>] virt_efi_get_variable+0x5d/0xa0 [ 160.139590] RSP: 0018:ffff880136797d78 EFLAGS: 00010096 [ 160.144910] RAX: fffffffefcc44e18 RBX: 0000000000000092 RCX: 0000000000000000 [ 160.152047] RDX: ffff88013647b400 RSI: ffff88013647b000 RDI: ffff88000009cff8 [ 160.159184] RBP: ffff880136797db8 R08: ffff880136797e00 R09: 0000000000000000 [ 160.166320] R10: 00007ffecdaf7e30 R11: 0000000000000246 R12: ffff88013647b000 [ 160.173459] R13: ffff88013647b400 R14: 0000000000000000 R15: ffff880136797e00 [ 160.180597] FS: 00007f4bdbbc4700(0000) GS:ffff88013bc00000(0000) knlGS:0000000000000000 [ 160.188691] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 160.194444] CR2: fffffffefcc44e60 CR3: 00000000b9f7c000 CR4: 00000000000007f0 [ 160.201580] Stack: [ 160.203600] 0000000200000002 0000000000000000 ffff880136797e50 ffff88013647b000 [ 160.211075] ffff880136797e00 ffffffff81f5c960 ffff880136797f20 0000000000000fff [ 160.218551] ffff880136797de8 ffffffff81462325 ffff880136797de8 ffff88013647b000 [ 160.226025] Call Trace: [ 160.228486] [<ffffffff81462325>] efivar_entry_size+0x45/0xe0 [ 160.234246] [<ffffffffa006364a>] efivarfs_file_read+0x3a/0xf0 [efivarfs] [ 160.241043] [<ffffffff811ca938>] __vfs_read+0x28/0xd0 [ 160.246193] [<ffffffff81260303>] ? security_file_permission+0xa3/0xc0 [ 160.252730] [<ffffffff811cae76>] ? rw_verify_area+0x56/0xe0 [ 160.258394] [<ffffffff811caf86>] vfs_read+0x86/0x130 [ 160.263448] [<ffffffff811cbd86>] SyS_read+0x46/0xa0 [ 160.268421] [<ffffffff81592c6e>] entry_SYSCALL_64_fastpath+0x12/0x71 [ 160.274869] Code: 48 89 c3 e8 c6 51 bf ff e8 11 7e ba ff 48 8b 05 8a 45 6c 00 4c 8b 45 c8 4c 89 e6 4c 89 f1 4c 89 ea 48 8b 40 58 4d 89 c1 4d 89 f8 <48> 8b 78 48 31 c0 e8 88 52 bf ff 49 89 c4 e8 00 7f ba ff 48 [ 160.294855] RIP [<ffffffff8146618d>] virt_efi_get_variable+0x5d/0xa0 [ 160.301326] RSP <ffff880136797d78> [ 160.304821] CR2: fffffffefcc44e60 [ 160.308144] ---[ end trace b0019dfbfd15b720 ]--- [ 160.312999] ------------[ cut here ]------------ [ 160.317647] WARNING: CPU: 0 PID: 1383 at arch/x86/kernel/fpu/core.c:41 kernel_fpu_disable+0x38/0x50() [ 160.317693] Modules linked in: bridge(E) stp(E) llc(E) iscsi_ibft(E) iscsi_boot_sysfs(E) af_packet(E) nls_iso8859_1(E) nls_cp437(E) intel_powerclamp(E) coretemp(E) kvm_intel(E) vfat(E) fat(E) kvm(E) iTCO_wdt( [ 160.317699] CPU: 0 PID: 1383 Comm: bash Tainted: G D E 4.2.0-rc2-default+ #93 [ 160.317701] Hardware name: Intel Corp. Intel(R) UDK2010 firmware developer platform, BIOS SDV.TM.B13 Release Build (CSM Available) 07/03/2013 [ 160.317704] ffffffff8180618c ffff8800b965bea8 ffffffff8158cb70 0000000000000001 [ 160.317707] 0000000000000000 ffff8800b965bee8 ffffffff81064bbc ffff8800ba651e48 [ 160.317709] ffff88003f5e6440 000000000048140a 0000000002207580 000000000000004c [ 160.317710] Call Trace: [ 160.317718] [<ffffffff8158cb70>] dump_stack+0x45/0x57 [ 160.317727] [<ffffffff81064bbc>] warn_slowpath_common+0x8c/0xd0 [ 160.317729] [<ffffffff81064cba>] warn_slowpath_null+0x1a/0x20 [ 160.317731] [<ffffffff8100dde8>] kernel_fpu_disable+0x38/0x50 [ 160.317734] [<ffffffff8100e19d>] fpu__restore+0x1d/0x110 [ 160.317738] [<ffffffff81011e03>] ? syscall_trace_leave+0x93/0xf0 [ 160.317741] [<ffffffff81004013>] do_device_not_available+0x33/0x40 [ 160.317746] [<ffffffff8159459e>] device_not_available+0x1e/0x30 [ 160.317748] ---[ end trace b0019dfbfd15b721 ]--- Procedure for reproducing issue: + Running hibernate, press power button to resume machine. + After resumed, running cat or hexdump any efi variable through efivarfs. e.g. cat /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c Then got the above kernel oops -- You are receiving this mail because: You are on the CC list for the bug.