Upstream kernel 32 bit architecture
From: Dorin Barboiu (Cloudbase Solutions SRL)
Date: Thu Mar 03 2016 - 08:15:30 EST
Hi guys,
There is a problem with Upstream kernel compilation on 32 bits architecture. I want to compile Linux-Next on a machine with 32 bits kernel. The problem is that after Linux-Next compiled successfully the VM won't boot with new kernel, triggered a call trace.
Tested on Ubuntu 14.04.3 and CentOS 7.0 both on 32 bits and this issue is present.
Tested on Ubuntu bare-metal and the problem is not present.
All in all, on bare-metal Linux-Next is not an issue, but in Hyper-V VM it is.
Default kernel: 4.2.0-21-generic
Tested with: linux-next 4.5.0-rc5-next-20160225
Module information: cat /proc/modules
iscsi_tcp 20480 0 - Live 0xf8457000
libiscsi_tcp 20480 1 iscsi_tcp, Live 0xf84f3000
libiscsi 49152 2 iscsi_tcp,libiscsi_tcp, Live 0xfa51d000
scsi_transport_iscsi 86016 3 iscsi_tcp,libiscsi, Live 0xfb0ce000
joydev 20480 0 - Live 0xf84ed000
nfsd 282624 2 - Live 0xfa644000
auth_rpcgss 49152 1 nfsd, Live 0xfa442000
nfs_acl 16384 1 nfsd, Live 0xf8482000
nfs 212992 0 - Live 0xfa691000
lockd 81920 2 nfsd,nfs, Live 0xfa508000
grace 16384 2 nfsd,lockd, Live 0xf8435000
sunrpc 282624 6 nfsd,auth_rpcgss,nfs_acl,nfs,lockd, Live 0xfa735000
hid_hyperv 16384 0 - Live 0xfa42a000
hid 98304 1 hid_hyperv, Live 0xfa453000
hyperv_keyboard 16384 0 - Live 0xf847d000
fscache 61440 1 nfs, Live 0xf8493000
hyperv_fb 20480 1 - Live 0xfa63e000
dm_multipath 24576 0 - Live 0xf94ff000
scsi_dh 16384 1 dm_multipath, Live 0xf8463000
serio_raw 16384 0 - Live 0xfa41a000
lp 16384 0 - Live 0xf8421000
parport 45056 1 lp, Live 0xfa729000
btrfs 942080 0 - Live 0xfa52f000
xor 28672 1 btrfs, Live 0xf8419000
raid6_pq 102400 1 btrfs, Live 0xf84a3000
hv_netvsc 36864 0 - Live 0xf84bd000
hv_storvsc 20480 2 - Live 0xf8474000
hv_utils 24576 3 - Live 0xf8488000
psmouse 114688 0 - Live 0xf84ca000
hv_vmbus 45056 6 hid_hyperv,hyperv_keyboard,hyperv_fb,hv_netvsc,hv_storvsc,hv_utils, Live 0xf8468000
floppy 61440 0 - Live 0xf8443000
Loaded driver and hardware infromation:
. cat /proc/ioports
0000-0cf7 : PCI Bus 0000:00
0000-001f : dma1
0020-0021 : pic1
0022-0022 : ACPI PM2_CNT_BLK
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0061-0061 : PNP0800:00
0064-0064 : keyboard
0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : PNP0C04:00
00f0-00ff : fpu
0160-016f : pnp 00:06
0170-0177 : 0000:00:07.1
0170-0177 : ata_piix
01e0-01ef : pnp 00:06
01f0-01f7 : 0000:00:07.1
01f0-01f7 : ata_piix
0278-027f : pnp 00:06
02f8-02ff : serial
0370-0371 : pnp 00:07
0376-0376 : 0000:00:07.1
0376-0376 : ata_piix
0378-037f : pnp 00:06
03c0-03df : vga+
03f2-03f2 : floppy
03f4-03f5 : floppy
03f6-03f6 : 0000:00:07.1
03f6-03f6 : ata_piix
03f7-03f7 : floppy
03f8-03ff : serial
0400-043f : 0000:00:07.3
0400-043f : pnp 00:07
0400-0403 : ACPI PM1a_EVT_BLK
0404-0405 : ACPI PM1a_CNT_BLK
0408-040b : ACPI PM_TMR
040c-040f : ACPI GPE0_BLK
0440-044f : pnp 00:07
04d0-04d1 : pnp 00:06
0678-067f : pnp 00:06
0778-077f : pnp 00:06
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
ffa0-ffaf : 0000:00:07.1
ffa0-ffaf : ata_piix
. cat /proc/iomem
00000000-00000fff : reserved
00001000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : PCI Bus 0000:00
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000e0000-000fffff : reserved
000f0000-000fffff : System ROM
00100000-7ffeffff : System RAM
01000000-01711f2e : Kernel code
01711f2f-01ac6dff : Kernel data
01bc2000-01c88fff : Kernel bss
18000000-1fffffff : Crash kernel
7fff0000-7fffefff : ACPI Tables
7ffff000-7fffffff : ACPI Non-volatile Storage
f8000000-fffbffff : PCI Bus 0000:00
f8000000-fbffffff : 0000:00:08.0
fb800000-fbffffff : hyperv_fb
fec00000-fec003ff : IOAPIC 0
fee00000-fee00fff : Local APIC
fee00000-fee00fff : pnp 00:07
fffc0000-ffffffff : pnp 00:08
fe0000000-fffefffff : PCI Bus 0000:00
PCI information: lspci -vvv
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
Subsystem: Microsoft Corporation Device 0000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]
Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable)
Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]
Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable)
Region 4: I/O ports at ffa0 [size=16]
Kernel driver in use: ata_piix
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 9
00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA (prog-if 00 [VGA controller])
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f8000000 (32-bit, non-prefetchable) [size=64M]
Expansion ROM at <unassigned> [disabled]
Kernel driver in use: hyperv_fb
Other infroamtion:
Kernel panic log:
[ 24.280020] Call Trace:
[ 24.280020] [<c164950f>] ? __alloc_skb+0x5f/0x260
[ 24.280020] [<c1647de2>] __kmalloc_reserve.isra.44+0x22/0x70
[ 24.280020] [<c164950f>] __alloc_skb+0x5f/0x260
[ 24.280020] [<c164975e>] alloc_skb_with_frags+0x4e/0x1a0
[ 24.280020] [<c10a8267>] ? __wake_up_common+0x47/0x70
[ 24.280020] [<c164454a>] sock_alloc_send_pskb+0x15a/0x1a0
[ 24.280020] [<c16f026e>] unix_stream_sendmsg+0x28e/0x340
[ 24.280020] [<c164061d>] sock_sendmsg+0x2d/0x40
[ 24.280020] [<c1640e59>] ___sys_sendmsg+0x1d9/0x1f0
[ 24.280020] [<c1063513>] ? kmap_atomic_prot+0xe3/0x100
[ 24.280020] [<c10635cc>] ? __kunmap_atomic+0x5c/0xa0
[ 24.280020] [<c1099b75>] ? update_curr+0x85/0x210
[ 24.280020] [<c1099c3b>] ? update_curr+0x14b/0x210
[ 24.280020] [<c1099dae>] ? update_cfs_shares+0x8e/0xd0
[ 24.280020] [<c109cce4>] ? dequeue_entity+0x3c4/0xd70
[ 24.280020] [<c11e87c2>] ? __fdget+0x12/0x20
[ 24.280020] [<c1641708>] __sys_sendmsg+0x38/0x70
[ 24.280020] [<c16422f6>] SYSC_socketcall+0x7e6/0x9a0
[ 24.280020] [<c10a30f2>] ? pick_next_task_fair+0x3d2/0x4e0
[ 24.280020] [<c1027965>] ? __switch_to+0x115/0x3e0
[ 24.280020] [<c1099c3b>] ? update_curr+0x14b/0x210
[ 24.280020] [<c116498d>] ? free_pages_prepare+0x18d/0x290
[ 24.280020] [<c118af4f>] ? do_wp_page+0x31f/0x790
[ 24.280020] [<c1063466>] ? kmap_atomic_prot+0x36/0x100
[ 24.280020] [<c1027965>] ? __switch_to+0x115/0x3e0
[ 24.280020] [<c174a9c8>] ? __schedule+0x348/0x910
[ 24.280020] [<c1642573>] SyS_socketcall+0x13/0x20
[ 24.280020] [<c1003622>] do_fast_syscall_32+0x92/0x130
[ 24.280020] [<c174dfdc>] sysenter_past_esp+0x3d/0x5d
[ 24.280020] Code: 84 b8 00 00 00 89 75 e0 8b 07 64 8b 50 04 64 03 05 e8 e0 c1 c1 8b 18 85 db 89 5d e4
00 8b 47 14 8d 4a 01 8b 75 e4 <8b> 1c 06 8b 37 8b 45 e4 64 0f c7 0e 0f 94 c0 84 c0 74 ca 8b 75
[ 24.280020] EIP: [<c11b37b3>] __kmalloc_track_caller+0x73/0x1f0 SS:ESP 0068:f60b3b20
[ 24.280020] CR2: 000000000006d069
[ 26.590991] ---[ end trace cbebd7f49f857247 ]---
[ 28.957392] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[ 28.957392]
[ 28.960006] Kernel Offset: disabled
[ 28.960006] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
Thanks,
Dodo