On 10/18/2015 03:16 PM, Dmitry Fleytman wrote:
> ACK

Hi Dmitry:

Thanks a lot for the reviewing.

As I want to add your "Acked-by" in the patch, could you pls add a
formal one in the future? (Which can make my life a little bit easier).

>> On 15 Oct 2015, at 13:54 PM, Dana Rubin <shmulik.ladk...@ravellosystems.com> 
>> wrote:
>>
>> From: Shmulik Ladkani <shmulik.ladk...@ravellosystems.com>
>>
>> Guest OS may issue VMXNET3_CMD_GET_STATS even before device was
>> activated (for example in linux, after insmod but prior net-dev open).
>>
>> Accessing shared descriptors prior device activation is illegal as the
>> VMXNET3State structures have not been fully initialized.
>>
>> As a result, guest memory gets corrupted and may lead to guest OS
>> crashes.
>>
>> Fix, by not filling the stats descriptors if device is inactive.
>>
>> Reported-by: Leonid Shatz <leonid.sh...@ravellosystems.com>
>> Signed-off-by: Dana Rubin <dana.ru...@ravellosystems.com>
>> Signed-off-by: Shmulik Ladkani <shmulik.ladk...@ravellosystems.com>
>> ---
>> hw/net/vmxnet3.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
>> index 3c5e10d..5e3a233 100644
>> --- a/hw/net/vmxnet3.c
>> +++ b/hw/net/vmxnet3.c
>> @@ -1289,6 +1289,10 @@ static uint32_t 
>> vmxnet3_get_interrupt_config(VMXNET3State *s)
>> static void vmxnet3_fill_stats(VMXNET3State *s)
>> {
>>     int i;
>> +
>> +    if (!s->device_active)
>> +        return;
>> +
>>     for (i = 0; i < s->txq_num; i++) {
>>         cpu_physical_memory_write(s->txq_descr[i].tx_stats_pa,
>>                                   &s->txq_descr[i].txq_stats,
>> -- 
>> 1.9.1
>>
>


Reply via email to