[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] fix qemu-system-unicore32 crashing when calling
From: |
Cleber Rosa |
Subject: |
Re: [Qemu-devel] [PATCH] fix qemu-system-unicore32 crashing when calling without -kernel |
Date: |
Wed, 26 Jul 2017 11:38:50 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 07/26/2017 11:28 AM, Cleber Rosa wrote:
>
>
> On 07/26/2017 11:04 AM, Eduardo Otubo wrote:
>> Starting qemu-system-unicore32 without the -kernel parameter results in
>> an assert() returns false and aborts qemu. This patch replaces it with a
>> proper error message followed by exit(1).
>>
>> Signed-off-by: Eduardo Otubo <address@hidden>
>> ---
>> hw/unicore32/puv3.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
>> index e9d1a60b6f..ff62efb4df 100644
>> --- a/hw/unicore32/puv3.c
>> +++ b/hw/unicore32/puv3.c
>> @@ -92,7 +92,10 @@ static void puv3_load_kernel(const char *kernel_filename)
>> if (kernel_filename == NULL && qtest_enabled()) {
>> return;
>> }
>> - assert(kernel_filename != NULL);
>> + if (kernel_filename == NULL) {
>> + error_report("kernel parameter cannot be empty");
>> + exit(1);
>> + }
>>
>
> How do you actually trigger this? There's already appropriate command
> line options handling in vl.c, which all targets (I tried) incorporate.
> For unicore32:
>
Oh my, I misread your commit message. I see this is actually triggered
*without* -kernel, and not without a parameter.
- Cleber.
> $ ./unicore32-softmmu/qemu-system-unicore32 -kernel
> qemu-system-unicore32: -kernel: requires an argument
>
> I also see what I believe is proper handling with invalid kernels (or
> empty options):
>
> $ ./unicore32-softmmu/qemu-system-unicore32 -kernel ''
> qemu-system-unicore32: Load kernel error: ''
>
> Regards,
> - Cleber.
>
>> /* only zImage format supported */
>> size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR,
>>
>
--
Cleber Rosa
[ Sr Software Engineer - Virtualization Team - Red Hat ]
[ Avocado Test Framework - avocado-framework.github.io ]
[ 7ABB 96EB 8B46 B94D 5E0F E9BB 657E 8D33 A5F2 09F3 ]
signature.asc
Description: OpenPGP digital signature