qemu-devel
[Top][All Lists]
Advanced

[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  ]

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]