qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than


From: Claudio Fontana
Subject: Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long)
Date: Wed, 16 Sep 2015 13:27:31 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

On 16.09.2015 11:33, Marc-André Lureau wrote:
> Hi
> 
> ----- Original Message -----
>> On 15.09.2015 18:07, address@hidden wrote:
>>> From: Marc-André Lureau <address@hidden>
>>>
>>> ivshmem_read() only reads sizeof(long) from the input buffer.  Accepting
>>> more could lead to fifo8 abort() on 32bit systems if fifo is not empty.
>>>
>>> Signed-off-by: Marc-André Lureau <address@hidden>
>>> ---
>>>  hw/misc/ivshmem.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
>>> index cc76989..fb53b3f 100644
>>> --- a/hw/misc/ivshmem.c
>>> +++ b/hw/misc/ivshmem.c
>>> @@ -272,7 +272,7 @@ static void ivshmem_receive(void *opaque, const uint8_t
>>> *buf, int size)
>>>  
>>>  static int ivshmem_can_receive(void * opaque)
>>>  {
>>> -    return 8;
>>> +    return sizeof(long);
>>>  }
>>>  
>>
>> Is the right fix this one, or should ivshmem_read() not rely on sizeof(long)?
> 
> 
> See my answer to Paolo:
> http://lists.nongnu.org/archive/html/qemu-devel/2015-07/msg05341.html

Sorry for not noticing the previous discussion..

Still it would seem more sensible to say explicitly how big the field is I 
think,
especially if we want to make it possible to have independent server 
implementations of this...

This field is used to communicate directly with another process on the host 
right?
Should we not mandate the communication interface quite precisely, in order to 
allow independent server development?
I'll push it further: do we need to consider endianness? It's the same host I 
know, but is the meaning of the field endian-independant, or fully expressed?

Ciao,

CLaudio

 
>>
>>>  static void ivshmem_event(void *opaque, int event)
>>>
>>
>> Ciao,
>>
>> Claudio
>>
>>






reply via email to

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