RE: [PANIC, hyperv] BUG: unable to handle kernel paging request at ffff880077800004 (hv_ringbuffer_write)

From: Dexuan Cui
Date: Mon Aug 25 2014 - 10:03:27 EST


> -----Original Message-----
> From: Sitsofe Wheeler
> Sent: Wednesday, August 20, 2014 17:27 PM
>
> While booting a Hyper-V 3.17.0-rc1 guest on a 2012 R2 host a BUG was
> triggered while registering hyperv_fb which in turn caused a panic.
> Various kernel debugging options (CONFIG_DEBUG_PAGEALLOC,
> CONFIG_SLUB_DEBUG=y...) were on at the time. This only seems to happen
> if the guest is being booted with only one CPU allocated to it.

Hi Sitsofe,
I can reproduce the exact issue with the same commit + your kconfig + UP
guest (SMP guest seems ok.)

> [ 7.645526] hv_vmbus: registering driver hyperv_fb
> [ 7.657553] BUG: unable to handle kernel paging request at
> ffff880077800004
> [ 7.658224] IP: [<ffffffff8159a7ac>] hv_ringbuffer_write+0x7c/0x150
> [ 7.658224] PGD 2da9067 PUD 2dac067 PMD 7fa27067 PTE
> 8000000077800060
> [ 7.658224] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
It seems
hv_ringbuffer_write() ->
hv_get_ringbuffer_availbytes():
reading rbi->ring_buffer->read_index causes a page fault.

It looks rbi->ring_buffer was unmapped somehow according to the
semantics of CONFIG_DEBUG_PAGEALLOC??? Or, was there a memory
corruption somewhere?

It looks the panic will disappear if the guest isn't configured with a
"Network Adapter ".

Thanks,
-- Dexuan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/