[Bug 939979] New: EFI runtime services were broken after a hibernate cycle on some old EFI machines
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.
http://bugzilla.suse.com/show_bug.cgi?id=939979 Joey Lee <jlee@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|kernel-maintainers@forge.pr |jlee@suse.com |ovo.novell.com | -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=939979 http://bugzilla.suse.com/show_bug.cgi?id=939979#c1 --- Comment #1 from Joey Lee <jlee@suse.com> --- Created attachment 642435 --> http://bugzilla.suse.com/attachment.cgi?id=642435&action=edit 0001-efi-Print-virtual-address-mapping-in-EFI-page-table.patch efi: Print virtual address mapping in EFI page table This patch adds codes to print virtual address mapping in EFI page table. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=939979 http://bugzilla.suse.com/show_bug.cgi?id=939979#c2 --- Comment #2 from Joey Lee <jlee@suse.com> --- Created attachment 642436 --> http://bugzilla.suse.com/attachment.cgi?id=642436&action=edit efi-memmap-intel-DQ57TM-v4.2-rc.log This is dmesg from Intel DQ57TM machine for printing efi memmap and virtual address mapping. The Boot Data/Code regions changed between system boot, hibernate resuming. It causes Runtime regions mapping to different address in EFI page table. The EFI page table was overwrote by hibernate recovery. Intel DQ57TM keeps the physical address of Runtime regions constant but doesn't keep Boot regions in the same address because those regions can be used by OS as normal memory. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=939979 http://bugzilla.suse.com/show_bug.cgi?id=939979#c3 --- Comment #3 from Joey Lee <jlee@suse.com> --- Created attachment 642437 --> http://bugzilla.suse.com/attachment.cgi?id=642437&action=edit efi-memmap-acer-gateway-nv570p.log EFI memmap from Aer Gateway NV570p machine. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=939979 http://bugzilla.suse.com/show_bug.cgi?id=939979#c4 --- Comment #4 from Joey Lee <jlee@suse.com> --- Created attachment 642439 --> http://bugzilla.suse.com/attachment.cgi?id=642439&action=edit 0001-x86_64-efi-Mapping-Boot-and-Runtime-EFI-memory-regio.patch Sent patch to linux-efi for discussion. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=939979 http://bugzilla.suse.com/show_bug.cgi?id=939979#c5 --- Comment #5 from Joey Lee <jlee@suse.com> --- After upstream discussion, need check the hibernate code path then try to update the va of runtime services. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=939979 http://bugzilla.suse.com/show_bug.cgi?id=939979#c6 Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |tiwai@suse.com Resolution|--- |WONTFIX --- Comment #6 from Takashi Iwai <tiwai@suse.com> --- openSUSE 13.2 reached EOL. If the issue is still reproduced in the newer distro versions like openSUSE Leap, please open a new bug report. Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com