> -----Original Message-----
> From: David Miller [mailto:[email protected]] 
> Sent: Tuesday, April 16, 2013 3:12 PM
> To: Haiyang Zhang
> Cc: [email protected]; KY Srinivasan; [email protected]; 
> [email protected]; [email protected]; 
> [email protected]
> Subject: Re: [PATCH net] hyperv: Fix a compiler warning in netvsc_send()
>
> From: Haiyang Zhang <[email protected]>
> Date: Tue, 16 Apr 2013 12:03:51 -0700
>
> > Fixed: warning: cast from pointer to integer of different size
> > 
> > Reported-by: kbuild test robot <[email protected]>
> > Signed-off-by: Haiyang Zhang <[email protected]>
> > Reviewed-by: K. Y. Srinivasan <[email protected]>
>
> If you're coding pointers into request IDs you better make that explicit and 
> add lots of comments explaining 
> why that's OK and why it's going to work  fine in these circumstances.

> I'm not applying this patch, it just makes a bad situation even worse.  
> Either your request IDs are 64-bit or they are not, it can't be both.

The Hyper-V hosts always use 64 bit request id. The guests can have 32 or 64 
bit pointers which equal to
the ulong type size. So we cast it to ulong type. And, assigning 32bit integer 
to 64 bit variable works fine.

Actually, before the recent patch (f1ea3cd7011), the packet pointer was casted 
to ulong. And this patch
restore the same type casting as the old code.

The VMBus returns the same id in the completion packet. But the value has no 
effect on the host side.

Does these comments sound good?

Thanks,
- Haiyang

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to