From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 42980] BUG in gfn_to_pfn_prot
Date: Wed, 28 Mar 2012 13:03:26 GMT
Message-ID: <201203281303.q2SD3QhF032459@bugzilla.kernel.org>
References:
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
To: kvm@vger.kernel.org
Return-path:
Received: from bugzilla.kernel.org ([198.145.19.204]:50226 "EHLO
bugzilla.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
with ESMTP id S1751917Ab2C1ND0 (ORCPT );
Wed, 28 Mar 2012 09:03:26 -0400
Received: from bugzilla.kernel.org (localhost [127.0.0.1])
by bugzilla.kernel.org (8.14.5/8.14.5) with ESMTP id q2SD3QCX032460
for ; Wed, 28 Mar 2012 13:03:26 GMT
In-Reply-To:
Sender: kvm-owner@vger.kernel.org
List-ID:
https://bugzilla.kernel.org/show_bug.cgi?id=42980
Avi Kivity changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |avi@redhat.com
--- Comment #1 from Avi Kivity 2012-03-28 13:03:25 ---
0: 89 d0 mov %edx,%eax
2: 8d 4c ff 0c lea 0xc(%rdi,%rdi,8),%ecx
6: 4d 89 e0 mov %r12,%r8
9: 48 d3 e8 shr %cl,%rax
c: 4c 03 45 a8 add -0x58(%rbp),%r8
10: 25 ff 01 00 00 and $0x1ff,%eax
15: 41 39 f6 cmp %esi,%r14d
18: 89 45 bc mov %eax,-0x44(%rbp)
1b: 89 c0 mov %eax,%eax
1d: 49 8d 04 c0 lea (%r8,%rax,8),%rax
21: 48 89 45 b0 mov %rax,-0x50(%rbp)
25: 0f 84 e1 00 00 00 je 0x10c
2b: 4c 8b 00 mov (%rax),%r8
2e: 41 f6 c0 01 test $0x1,%r8b
32: 74 40 je 0x74
34: 4c 8b 0d 89 80 01 00 mov 0x18089(%rip),%r9 # 0x180c4
3b: 4d 89 c2 mov %r8,%r10
Appears to be __direct_map()'s
if (!is_shadow_present_pte(*iterator.sptep)) {
u64 base_addr = iterator.addr;
%rax is 0xffff87ffffffffff. That is one less than the base of the direct map of
all physical memory. So it looks like the code
static bool shadow_walk_okay(struct kvm_shadow_walk_iterator *iterator)
{
if (iterator->level < PT_PAGE_TABLE_LEVEL)
return false;
iterator->index = SHADOW_PT_INDEX(iterator->addr, iterator->level);
iterator->sptep = ((u64 *)__va(iterator->shadow_addr)) +
iterator->index;
return true;
}
saw iterator->shadow_addr == -1ULL.
That might be INVALID_PAGE assigned to pae_root (but that is masked out in
shadow_walk_init()) or a stray -1 due to a completely unrelated bug.
Anything interesting about how this was triggered?
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.