lkml.org 
[lkml]   [2015]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Linux 4.4 MW: Boot under Xen fails with CONFIG DEBUG WX enabled: RIP: ptdump walk pgd level core
On 2015-11-04 19:06, Ingo Molnar wrote:
> * Stephen Smalley <sds@tycho.nsa.gov> wrote:
>
>> On 11/04/2015 06:55 AM, Sander Eikelenboom wrote:
>> >Hi All,
>> >
>> >I just tried to boot with the current linus mergewindow tree under Xen.
>> >It fails with a kernel panic at boot with the new "CONFIG_DEBUG_WX"
>> >option enabled.
>> >Disabling it makes the kernel boot fine.
>> >
>> >The splat:
>> >[ 18.424241] Freeing unused kernel memory: 1104K (ffffffff822fc000 -
>> >ffffffff82410000)
>> >[ 18.430314] Write protecting the kernel read-only data: 18432k
>> >[ 18.441054] Freeing unused kernel memory: 1144K (ffff880001ae2000 -
>> >ffff880001c00000)
>> >[ 18.447966] Freeing unused kernel memory: 1560K (ffff88000207a000 -
>> >ffff880002200000)
>> >[ 18.453947] BUG: unable to handle kernel paging request at
>> >ffff88055c883000
>> >[ 18.459943] IP: [<ffffffff8105af8e>]
>> >ptdump_walk_pgd_level_core+0x20e/0x440
>> >[ 18.465847] PGD 2212067 PUD 0
>> >[ 18.471564] Oops: 0000 [#1] SMP
>> >[ 18.477248] Modules linked in:
>> >[ 18.482918] CPU: 2 PID: 1 Comm: swapper/0 Not tainted
>> >4.3.0-mw-20151104-linus-doflr+ #1
>> >[ 18.488804] Hardware name: MSI MS-7640/890FXA-GD70 (MS-7640) , BIOS
>> >V1.8B1 09/13/2010
>> >[ 18.494778] task: ffff880059b90000 ti: ffff880059b98000 task.ti:
>> >ffff880059b98000
>> >[ 18.500852] RIP: e030:[<ffffffff8105af8e>] [<ffffffff8105af8e>]
>> >ptdump_walk_pgd_level_core+0x20e/0x440
>
> It would be nice to see which line of code this corresponds to. Doing
> this:
>
> gdb vmlinux
> list *0xffffffff8105af8e
>
> should normally do the trick.
>
> Thanks,
>
> Ingo

Hi Ingo,

(gdb) list *0xffffffff8105af8e
0xffffffff8105af8e is in ptdump_walk_pgd_level_core
(arch/x86/mm/dump_pagetables.c:181).
warning: Source file is more recent than executable.
176 * On 64 bits, sign-extend the 48 bit address to 64 bit
177 */
178 static unsigned long normalize_addr(unsigned long u)
179 {
180 #ifdef CONFIG_X86_64
181 return (signed long)(u << 16) >> 16;
182 #else
183 return u;
184 #endif
185 }

--
Sander




\
 
 \ /
  Last update: 2015-11-04 19:41    [W:0.077 / U:0.360 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site