blob: 84f91005eebe55001b9f928e05019d7c1b15a284 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
large -initrd can wrap around in memory causing memory corruption
We don't use large -initrd in libguestfs any more, but I noticed that a large -initrd file now crashes qemu spectacularly:
$ ls -lh /tmp/kernel /tmp/initrd
-rw-r--r--. 1 rjones rjones 273M Jun 3 14:02 /tmp/initrd
lrwxrwxrwx. 1 rjones rjones 35 Jun 3 14:02 /tmp/kernel -> /boot/vmlinuz-3.9.4-200.fc18.x86_64
$ ./x86_64-softmmu/qemu-system-x86_64 -L pc-bios \
-kernel /tmp/kernel -initrd /tmp/initrd -hda /tmp/test1.img -serial stdio \
-append console=ttyS0
qemu crashes with one of several errors:
PFLASH: Possible BUG - Write block confirm
qemu: fatal: Trying to execute code outside RAM or ROM at 0x00000000000b96cd
If -enable-kvm is used:
KVM: injection failed, MSI lost (Operation not permitted)
In all cases the SDL display fills up with coloured blocks before the crash (see the attached screenshot).
|