FS#55447 - [linux] kernel 4.12 fails to boot in Xen PV DomU: CONFIG_INTEL_ATOMISP

Attached to Project: Arch Linux
Opened by John Thomson (johnth) - Thursday, 31 August 2017, 05:45 GMT
Last edited by Eli Schwartz (eschwartz) - Tuesday, 13 February 2018, 20:41 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
kernel 4.12.8-2-ARCH fails to boot as a Xen PV DomU
The same Oops in Ubuntu 4.12 is blamed on CONFIG_INTEL_ATOMISP
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1711298

The Arch 201707 install disk with kernel 4.11 boots.
The Arch 201708 install disk with kernel 4.12.3-1-ARCH fails.

From asp export linux
4.12.10-1-ARCH fails to boot.
4.12.10-1-ARCH built with CONFIG_INTEL_ATOMISP=n boots and works.


Log:
[ 0.101076] xen:manage: Unable to read sysrq code in control/sysrq
[ 0.103558] dmi: Firmware registration failed.
[ 0.124582] intel_mid_msgbus_init: Error: msgbus PCI handle NULL
[ 0.135915] BUG: unable to handle kernel paging request at ffffc9004006d060
[ 0.135936] IP: vlv2_plat_configure_clock+0x3b/0xa0
[ 0.135942] PGD ff85067
[ 0.135943] P4D ff85067
[ 0.135947] PUD ed42067
[ 0.135951] PMD ed43067
[ 0.135954] PTE 0
[ 0.135957]
[ 0.135965] Oops: 0000 [#1] PREEMPT SMP
[ 0.135970] Modules linked in:
[ 0.135977] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.8-2-ARCH #1
[ 0.135985] task: ffff88000ed8b900 task.stack: ffffc90040068000
[ 0.135993] RIP: e030:vlv2_plat_configure_clock+0x3b/0xa0
[ 0.135999] RSP: e02b:ffffc9004006bbe0 EFLAGS: 00010246
[ 0.136005] RAX: 0000000000000000 RBX: ffffc9004006d060 RCX: 0000000001d5dfff
[ 0.136012] RDX: ffff88000ed8b900 RSI: 0000000000000002 RDI: ffffffff81ac9980
[ 0.136018] RBP: ffffc9004006bbf0 R08: 0000000000000000 R09: ffffffff811d6201
[ 0.136025] R10: 0000000000007ff0 R11: ffffe8ffffffffff R12: 0000000000000002
[ 0.136031] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 0.136047] FS: 0000000000000000(0000) GS:ffff88000fc00000(0000) knlGS:0000000000000000
[ 0.136057] CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.136066] CR2: ffffc9004006d060 CR3: 0000000001a09000 CR4: 0000000000042660
[ 0.136077] Call Trace:
[ 0.136088] vlv2_plat_clk_probe+0x3f/0x70
[ 0.136099] platform_drv_probe+0x3b/0xa0
[ 0.136108] driver_probe_device+0x2ff/0x450
[ 0.136117] __device_attach_driver+0x83/0x100
[ 0.136126] ? __driver_attach+0xe0/0xe0
[ 0.136136] bus_for_each_drv+0x69/0xb0
[ 0.136144] __device_attach+0xdd/0x160
[ 0.136152] device_initial_probe+0x13/0x20
[ 0.136160] bus_probe_device+0x92/0xa0
[ 0.136169] device_add+0x451/0x690
[ 0.136178] platform_device_add+0x10d/0x270
[ 0.136188] ? set_debug_rodata+0x17/0x17
[ 0.136197] platform_device_register_full+0xfe/0x110
[ 0.136208] ? vlv2_plat_clk_init+0x19/0x19
[ 0.136217] vlv2_plat_clk_init+0x48/0x82
[ 0.136227] do_one_initcall+0x50/0x190
[ 0.136237] ? _raw_spin_unlock_irqrestore+0x1a/0x30
[ 0.136246] ? __wake_up+0x44/0x50
[ 0.136261] kernel_init_freeable+0x186/0x214
[ 0.136274] ? rest_init+0x90/0x90
[ 0.136283] kernel_init+0xe/0x100
[ 0.136292] ret_from_fork+0x25/0x30
[ 0.136300] Code: 47 83 fe 02 41 89 f4 77 67 48 8b 05 d0 46 84 00 48 85 c0 74 48 c1 e7 02 48 63 ff 48 8d 1c 38 48 c7 c7 80 99 ac 81 e8 45 0c 15 00 <8b> 03 83 e0 fc 44 09 e0 89 03 48 c7 c7 80 99 ac 81 e8 1f 06 15
[ 0.136361] RIP: vlv2_plat_configure_clock+0x3b/0xa0 RSP: ffffc9004006bbe0
[ 0.136369] CR2: ffffc9004006d060
[ 0.136380] ---[ end trace 30fcc80e1f4fe249 ]---
[ 0.136398] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[ 0.136398]
[ 0.136416] Kernel Offset: disabled



Reproduce: (Ctrl+] to escape xl console)
Need working Xen dom0

Not working:
wget 'http://mirror.rackspace.com/archlinux/iso/2017.08.01/archlinux-2017.08.01-x86_64.iso'
echo "name = 'arch201708.cfg'
memory = 512
disk=['archlinux-2017.08.01-x86_64.iso, , xvdc, cdrom']
bootloader='pygrub'
kernel = 'arch/boot/x86_64/vmlinuz'
ramdisk = 'arch/boot/x86_64/archiso.img'
cmdline = 'archisobasedir=arch archisolabel=ARCH_201708'" > arch201708.cfg
sudo xl create -c arch201708.cfg

Current dom0 kernel:
echo "name='archhost.cfg'
memory=512
kernel='/boot/vmlinuz-linux'
ramdisk='/boot/initramfs-linux.img'" > archhost.cfg
sudo xl create -c archhost.cfg

Working:
wget 'http://mirror.rackspace.com/archlinux/iso/2017.07.01/archlinux-2017.07.01-x86_64.iso'
echo "name = 'arch201707.cfg'
memory = 512
disk=['archlinux-2017.07.01-x86_64.iso, , xvdc, cdrom']
bootloader='pygrub'
kernel = 'arch/boot/x86_64/vmlinuz'
ramdisk = 'arch/boot/x86_64/archiso.img'
cmdline = 'archisobasedir=arch archisolabel=ARCH_201707'" > arch201707.cfg
sudo xl create -c arch201707.cfg
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Tuesday, 13 February 2018, 20:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  linux 4.15
Comment by loqs (loqs) - Thursday, 31 August 2017, 12:13 GMT
Is upstream aware of this?
Comment by John Thomson (johnth) - Friday, 01 September 2017, 02:50 GMT
I have not reported this upstream.
It is not clear if anyone from the Ubuntu bug did.
Comment by Finke Lamein (Quattro) - Wednesday, 06 September 2017, 19:18 GMT
I hit the same problem. clean base install used as an image.
Installing a 4.11.x kernel fixes boot.
Comment by loqs (loqs) - Thursday, 07 September 2017, 22:56 GMT Comment by John Thomson (johnth) - Monday, 02 October 2017, 05:43 GMT
It looks like the broken driver probe code will be removed with this patch:
atomisp: use clock framework for camera clocks
https://lkml.org/lkml/2017/9/20/712
Comment by loqs (loqs) - Monday, 27 November 2017, 03:21 GMT
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/staging/media/atomisp?id=5d352e69c60e54b5f04d6e337a1d2bf0dbf3d94a
removes the referenced code but means that linux 4.14 the next lts release will still be affected.
Please verify that 4.15-rc1 or whichever rc you consider safe fixes the issue.
Comment by John Thomson (johnth) - Monday, 27 November 2017, 04:26 GMT
I have been successfully using the patch from https://lkml.org/lkml/2017/9/20/712 with 4.13 and 4.14
This patch was applied in media_tree as d5426f4c2ebac media: staging: atomisp: use clock framework for camera clocks [Pierre-Louis Bossart]
It is included in the commit you referenced with a slight modification:
https://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git/commit/?h=media/v4.15-1&id=d5426f4c2ebac8cf05de43988c3fccddbee13d28
I have not yet tried a 4.15-rc, but given that the same patch is included in that commit, all looks good.

I did report upstream on xen-devel, where it was explained don't configure, CONFIG_INTEL_ATOMISP driver probe broken.
This was CC'ed to a kernel.org address, but there wasn't a response from it.

Thanks
Comment by Iru Dog (mytbk) - Saturday, 03 February 2018, 06:58 GMT
I saw 4.15 has the "media: staging: atomisp: use clock framework for camera clocks" patch merged, but it seems that 4.15 has other bugs that will crash the VM.
Comment by John Thomson (johnth) - Tuesday, 13 February 2018, 20:16 GMT
atomisp under Xen PV is fixed in Linux 4.15.
Could we change the title to indicate Linux 4.12 through 4.14?
I will open new bug reports for different 4.15 bugs.
Thanks

Loading...