Correct me if I'm wrong, perhaps it's the bug Nitin is hunting.

There is always something wrong in the management in the REP prefix.

I think what is happen is:

- we have a REP prefix, we save ECX and EIP.
- we set c->dst to emulate a "stos"
- goto writeback
- writeback: we try a "write_emulated()" with c->dst
- write_emulated failed() AND WE DON'T RESTORE ECX AND EIP -> it's bad...
- exit to QEMU
- re-enter in x86_emulate_insn() with already modified ECX and EIP.

Any comment ?
(Yes, I know, it's again another bug I've introduced into KVM...)

Laurent

Laurent Vivier wrote:
> Hi,
> 
> booting a FC6 on my intel box (xeon) with a kernel 2.6.22.5 and KVM git, I had
> the following error (not reproducible):
> 
> # kvm-userspace/qemu/x86_64-softmmu/qemu-system-x86_64 -hda fc6.qcow2 -net nic
> -net tap -serial stdio -smp 4
> ...
> INIT: version 2.86 booting
>                 Welcome to Fedora Core
>                 Press 'I' to enter interactive startup.
> Setting clock  (utc): Thu Sep 27 18:06:27 CEST 2007 [  OK  ]
> Starting udev: Unable to handle kernel paging request at ffffffff880e9000 RIP:
>  [<ffffffff8104ebc1>] sys_init_module+0x985/0x1786
> PGD 203067 PUD 205063 PMD 7fc4067 PTE 6b50163
> Oops: 0002 [1] SMP
> CPU 1
> Modules linked in: dm_snapshot dm_zero dm_mirror dm_mod ata_piix libata 
> sd_mod s
> csi_mod ext3 jbd mbcache ehci_hcd ohci_hcd uhci_hcd
> Pid: 641, comm: modprobe Not tainted 2.6.22.5 #1
> RIP: 0010:[<ffffffff8104ebc1>]  [<ffffffff8104ebc1>] 
> sys_init_module+0x985/0x178
> 6
> RSP: 0018:ffff810006399e68  EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffffc20000090a20 RCX: 0000000000000f84
> RDX: ffffffff880e6000 RSI: 0000000000000163 RDI: ffffffff880e9000
> RBP: 0000000000000026 R08: ffff810007d94254 R09: 00000000000050cf
> R10: 0000000000000000 R11: 0000000000000001 R12: ffffc2000007c300
> R13: 0000000000000004 R14: ffffc200000900e0 R15: 00002ab868ac2010
> FS:  00002ab8690096e0(0000) GS:ffff810007d94280(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: ffffffff880e9000 CR3: 0000000007cfd000 CR4: 00000000000006e0
> Process modprobe (pid: 641, threadinfo ffff810006398000, task 
> ffff81000788e000)
> Stack:  00000000000276d8 0000000000000000 0000000000000000 000000000608f340
>  0000000000000000 0000000000000000 0000000000000000 0000000000000000
>  0000000000000000 0000000000000000 ffffc200000a2328 ffff810006402000
> Call Trace:
>  [<ffffffff8108e67d>] vfs_read+0xcb/0x173
>  [<ffffffff81009b9e>] system_call+0x7e/0x83
> 
> 
> Code: f3 aa 49 89 94 24 88 01 00 00 49 8b bc 24 90 01 00 00 e8 32
> RIP  [<ffffffff8104ebc1>] sys_init_module+0x985/0x1786
>  RSP <ffff810006399e68>
> CR2: ffffffff880e9000
> 
> 
> The instruction at [<ffffffff8104ebc1>] sys_init_module+0x985/0x1786 is:
> 
> 0xffffffff8104ebc1 <sys_init_module+2437>:      rep stos %al,%es:(%rdi)
> 
> Any idea of what happened ?
> 
> Laurent
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel


-- 
------------- [EMAIL PROTECTED]  --------------
          "Software is hard" - Donald Knuth

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to