[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwx5D1hSaW6ac3D=30cY7=2i4cPmGn9zB-1a8ywpau3cw@mail.gmail.com>
Date: Fri, 17 Mar 2017 10:49:47 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: kernel test robot <xiaolong.ye@...el.com>
Cc: Thomas Garnier <thgarnie@...gle.com>,
Ingo Molnar <mingo@...nel.org>,
Alexander Potapenko <glider@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Andy Lutomirski <luto@...nel.org>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Borislav Petkov <bp@...e.de>,
Chris Wilson <chris@...is-wilson.co.uk>,
Christian Borntraeger <borntraeger@...ibm.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Jiri Kosina <jikos@...nel.org>, Joerg Roedel <joro@...tes.org>,
Jonathan Corbet <corbet@....net>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Juergen Gross <jgross@...e.com>,
Kees Cook <keescook@...omium.org>,
Len Brown <len.brown@...el.com>,
Lorenzo Stoakes <lstoakes@...il.com>,
"Luis R . Rodriguez" <mcgrof@...nel.org>,
Matt Fleming <matt@...eblueprint.co.uk>,
Michal Hocko <mhocko@...e.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
Pavel Machek <pavel@....cz>,
Peter Zijlstra <peterz@...radead.org>,
Radim Krčmář <rkrcmar@...hat.com>,
"Rafael J . Wysocki" <rjw@...ysocki.net>,
Rusty Russell <rusty@...tcorp.com.au>,
Stanislaw Gruszka <sgruszka@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
zijun_hu <zijun_hu@....com>, LKML <linux-kernel@...r.kernel.org>,
"H. Peter Anvin" <hpa@...or.com>, tipbuild@...or.com,
LKP <lkp@...org>
Subject: Re: [x86] 45fc8757d1: BUG:unable_to_handle_kernel
On Fri, Mar 17, 2017 at 4:59 AM, kernel test robot
<xiaolong.ye@...el.com> wrote:
>
> FYI, we noticed the following commit:
>
> commit: 45fc8757d1d2128e342b4e7ef39adedf7752faac ("x86: Make the GDT remapping read-only on 64-bit")
> https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git x86/mm
>
> in testcase: boot
>
> [ 4.347219] BUG: unable to handle kernel paging request at ffffffffff577060
> [ 4.360480] Oops: 0003 [#1] SMP
> [ 4.373550] RIP: 0023:0xf77e91ed
> [ 4.375284] RSP: 002b:00000000ffed034c EFLAGS: 00010246
Heh. That's actually in user space, but the error code (0003) means
"protection fault on a write, not a user access".
So it's almost certainly something that tries to access a segment
descriptor in the GDT, but that segment was marked as "not accessed",
and the CPU was trying to set the accessed bit.
I *thought* we always maked everything accessed when we initialize it,
but something clearly is not.
That's why there's no kernel call trace or anything like that: it is a
system page fault, but it's triggered directly from user mode.
The linear address can be used to look up which entry it is. I assume
the GDT starts at ffffffffff577000, and that this is at offset 0x60
from that. Whatever descriptor that would be..
Linus
Powered by blists - more mailing lists