[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 07/21] vl: fix -sandbox parsing crash when seccomp su
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 07/21] vl: fix -sandbox parsing crash when seccomp support is disabled |
Date: |
Wed, 15 May 2019 22:50:19 +0200 |
From: Marc-André Lureau <address@hidden>
$ ./x86_64-softmmu/qemu-system-x86_64 -sandbox off
qemu-system-x86_64: -sandbox off: There is no option group 'sandbox'
Segmentation fault
Commit 5780760f5e ("seccomp: check TSYNC host capability") wrapped one
use of the sandbox option group to produce a sensible error, it didn't
do the same for another call to qemu_opts_parse_noisily():
(gdb) bt
at util/qemu-option.c:829
#0 0x00000000105b36d8 in opts_parse (list=0x0, params=0x3ffffffffab5 "off",
permit_abbrev=true, defaults=false, errp=0x3ffffffff080)
at util/qemu-option.c:829
#1 0x00000000105b3b74 in qemu_opts_parse_noisily (list=<optimized out>,
params=<optimized out>, permit_abbrev=<optimized out>) at util/qemu-option.c:890
#2 0x0000000010024964 in main (argc=<optimized out>, argv=<optimized out>,
envp=<optimized out>) at vl.c:3589
Fixes: 5780760f5ea6163939a5dabe7427318b4f07d1a2
Cc: address@hidden
Cc: address@hidden
Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
vl.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/vl.c b/vl.c
index f49b119..c8ca9ff 100644
--- a/vl.c
+++ b/vl.c
@@ -3896,17 +3896,19 @@ int main(int argc, char **argv, char **envp)
qtest_log = optarg;
break;
case QEMU_OPTION_sandbox:
-#ifdef CONFIG_SECCOMP
- opts = qemu_opts_parse_noisily(qemu_find_opts("sandbox"),
- optarg, true);
+ olist = qemu_find_opts("sandbox");
+ if (!olist) {
+#ifndef CONFIG_SECCOMP
+ error_report("-sandbox support is not enabled "
+ "in this QEMU binary");
+#endif
+ exit(1);
+ }
+
+ opts = qemu_opts_parse_noisily(olist, optarg, true);
if (!opts) {
exit(1);
}
-#else
- error_report("-sandbox support is not enabled "
- "in this QEMU binary");
- exit(1);
-#endif
break;
case QEMU_OPTION_add_fd:
#ifndef _WIN32
--
1.8.3.1
- [Qemu-devel] [PULL 00/21] Misc patches for 2019-05-15, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 01/21] hw/input: Add a CONFIG_PS2 switch for the ps2.c file, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 02/21] roms: assert if max rom size is less than the used size, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 03/21] Declare -realtime as deprecated, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 04/21] vl: Add missing descriptions to the VGA adapters list, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 05/21] megasas: fix mapped frame size, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 06/21] hvf: Add missing break statement, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 08/21] memory: correct the comment to DIRTY_MEMORY_MIGRATION, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 07/21] vl: fix -sandbox parsing crash when seccomp support is disabled,
Paolo Bonzini <=
- [Qemu-devel] [PULL 09/21] hw/acpi/piix4: Move TYPE_PIIX4_PM to a public header, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 10/21] hw/i386/acpi: Add object_resolve_type_unambiguous to improve modularity, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 11/21] hw/i386/acpi: Assert a pointer is not null BEFORE using it, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 12/21] mips-fulong2e: obey -vga none, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 13/21] sun4m: obey -vga none, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 14/21] trace: only include trace-event-subdirs when they are needed, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 20/21] hw/char: Move multi-serial devices into separate file, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 19/21] ioapic: allow buggy guests mishandling level-triggered interrupts to make progress, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 17/21] build: chardev is only needed for softmmu targets, Paolo Bonzini, 2019/05/15
- [Qemu-devel] [PULL 15/21] build: replace GENERATED_FILES by generated-files-y, Paolo Bonzini, 2019/05/15