Kernel BUG in paravirt_enter_lazy_mmu when running as a Xen PV guest
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned |
Bug Description
Xen PV guests may crash during boot in paravirt_
This is caused by calling functions that are unsafe in atomic context.
The fix (which has been submitted to 3.16) is available here (also attached):
The fix is applicable to all kernel since 2.6.39 but only appears to trigger with the 3.13 kernel in 14.04.
[ 2.577876] ------------[ cut here ]------------
[ 2.577896] kernel BUG at /build/
[ 2.577910] invalid opcode: 0000 [#1] SMP
[ 2.577922] Modules linked in:
[ 2.577933] CPU: 0 PID: 1 Comm: init Not tainted 3.13.0-24-generic #46-Ubuntu
[ 2.577946] task: ec058000 ti: ec090000 task.ti: ec090000
[ 2.577955] EIP: 0061:[<c1645ebc>] EFLAGS: 00010002 CPU: 0
[ 2.577973] EIP is at enter_lazy.
[ 2.577982] EAX: 00000001 EBX: ec0cc000 ECX: 00581980 EDX: 00000000
[ 2.577992] ESI: edc00000 EDI: edc00000 EBP: ec091a50 ESP: ec091a50
[ 2.578001] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0069
[ 2.578014] CR0: 8005003b CR2: bfca2fa4 CR3: 2c392000 CR4: 00002660
[ 2.578027] Stack:
[ 2.578032] ec091a58 c1046564 ec091ab4 c1146fd3 fa83b2da edc00fff edc01000 c1a93018
[ 2.578052] 00000000 edc00fff 00000000 c193ce80 edc01000 00000000 00000000 00000000
[ 2.578076] ed3ef588 ed3ef588 00000000 c1b87b70 ec091ad0 edc01000 c1b65310 00001000
[ 2.578096] Call Trace:
[ 2.578111] [<c1046564>] paravirt_
[ 2.578127] [<c1146fd3>] apply_to_
[ 2.578141] [<c1008eb8>] arch_gnttab_
[ 2.578152] [<c1008d70>] ? map_pte_
[ 2.578166] [<c13ab020>] gnttab_
[ 2.578182] [<c13ab205>] gnttab_
[ 2.578198] [<c12c7ff0>] ? blk_update_
[ 2.578209] [<c13ab363>] get_free_
[ 2.578221] [<c13ab5d3>] gnttab_
[ 2.578238] [<c1424be5>] do_blkif_
[ 2.578253] [<c16523dc>] ? _raw_spin_
[ 2.578269] [<c12c57ee>] __blk_run_
[ 2.578280] [<c12c5825>] blk_start_
[ 2.578291] [<c1424dbe>] kick_pending_
[ 2.578304] [<c142546f>] blkif_interrupt
[ 2.578318] [<c100654f>] ? xen_set_
[ 2.578335] [<c10a5ba5>] handle_
[ 2.578351] [<c12f136a>] ? radix_tree_
[ 2.578364] [<c10a5d41>] handle_
[ 2.578376] [<c10a8036>] handle_
[ 2.578389] [<c13ac246>] __xen_evtchn_
[ 2.578402] [<c13ae100>] xen_evtchn_
[ 2.578415] [<c165a087>] xen_do_
[ 2.578427] [<c1001227>] ? xen_hypercall_
[ 2.578441] [<c10083cf>] ? xen_force_
[ 2.578454] [<c1008c50>] check_events+
[ 2.578464] [<c1008c47>] ? xen_restore_
[ 2.578480] [<c1006373>] ? xen_batched_
[ 2.578493] [<c10064b8>] xen_set_
[ 2.578505] [<c10048e6>] ? __raw_callee_
[ 2.578521] [<c11447a8>] copy_pte_
[ 2.578534] [<c1146d27>] copy_page_
[ 2.578549] [<c105462e>] dup_mm+0x28e/0x4f0
[ 2.578561] [<c1055866>] copy_process.
[ 2.578574] [<c1055b41>] do_fork+0xc1/0x2c0
[ 2.578591] [<c1067996>] ? SyS_rt_
[ 2.578604] [<c1055e05>] SyS_clone+0x25/0x30
[ 2.578615] [<c1659b4d>] sysenter_
[ 2.578626] Code: c4 1c 5b 5e 5f 5d c3 55 89 e5 f3 0f b8 c0 90 5d c3 55 ba a0 2c aa c1 89 e5 b9 25 00 00 00 57 31 c0 89 d7 f3 ab 5f 5d c3 55 89 e5 <0f> 0b 55 89 e5 66 66 66 66 90 0f 0b 8b 15 28 d9 91 c1 55 89 e5
[ 2.578745] EIP: [<c1645ebc>] enter_lazy.
[ 2.578765] ---[ end trace ab5b5344be71ca3d ]---
[ 2.578775] Kernel panic - not syncing: Fatal exception in interrupt
summary: |
- Kernel BUG in paravirt_lazy_mmu when running as a Xen PV guest + Kernel BUG in paravirt_enter_lazy_mmu when running as a Xen PV guest |
Changed in linux (Ubuntu Trusty): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
tags: | added: patch |
Changed in linux (Ubuntu Trusty): | |
assignee: | Joseph Salisbury (jsalisbury) → nobody |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1350373
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.