[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] bootdevice: fix segment fault when booting guest wi
From: |
arei.gonglei |
Subject: |
[Qemu-devel] [PATCH] bootdevice: fix segment fault when booting guest with '-kernel' and '-initrd' |
Date: |
Fri, 27 Feb 2015 09:49:44 +0800 |
From: Gonglei <address@hidden>
Reproducer:
$./qemu-system-x86_64 --enable-kvm -kernel /home/vmlinuz-2.6.32.12-0.7-default
\
-initrd /home/initrd-2.6.32.12-0.7-default -append \
"root=/dev/ram rw console=ttyS0,115200" -dtb guest.dtb -vnc :10 --monitor
stdio -smp 2
QEMU 2.2.50 monitor - type 'help' for more information
(qemu) Segmentation fault (core dumped)
Reported-by: Edivaldo de Araujo Pereira <address@hidden>
Signed-off-by: Gonglei <address@hidden>
---
bootdevice.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/bootdevice.c b/bootdevice.c
index df9ab0e..673bfef 100644
--- a/bootdevice.c
+++ b/bootdevice.c
@@ -223,10 +223,15 @@ char *get_boot_devices_list(size_t *size, bool
ignore_suffixes)
}
if (!ignore_suffixes) {
- d = qdev_get_own_fw_dev_path_from_handler(i->dev->parent_bus,
i->dev);
- if (d) {
- assert(!i->suffix);
- suffix = d;
+ if (i->dev) {
+ d = qdev_get_own_fw_dev_path_from_handler(i->dev->parent_bus,
+ i->dev);
+ if (d) {
+ assert(!i->suffix);
+ suffix = d;
+ } else {
+ suffix = g_strdup(i->suffix);
+ }
} else {
suffix = g_strdup(i->suffix);
}
--
1.7.12.4
- [Qemu-devel] [PATCH] bootdevice: fix segment fault when booting guest with '-kernel' and '-initrd',
arei.gonglei <=