Hi Laurent,

On 02/15/2018 12:17 PM, Laurent Vivier wrote:
> Le 24/01/2018 à 14:01, Philippe Mathieu-Daudé a écrit :
>> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
>> ---
>> please double check __pad and ntohl()
>>
>>  linux-user/syscall_defs.h |  7 +++++++
>>  linux-user/strace.c       | 34 ++++++++++++++++++++++++++++++++++
>>  2 files changed, 41 insertions(+)
>>
>> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
>> index bec3680b94..550e7d2939 100644
>> --- a/linux-user/syscall_defs.h
>> +++ b/linux-user/syscall_defs.h
>> @@ -151,6 +151,13 @@ struct target_sockaddr_un {
>>      uint8_t sun_path[108];
>>  };
>>  
>> +struct target_sockaddr_nl {
>> +    uint16_t nl_family;     /* AF_NETLINK */
>> +    int16_t __pad;
> 
> netlink.h uses an unsigned type here.

This is padding, do you prefer char pad[2]?

> 
>> +    uint32_t nl_pid;
>> +    uint32_t nl_groups;
>> +};
>> +
>>  struct target_in_addr {
>>      uint32_t s_addr; /* big endian */
>>  };
>> diff --git a/linux-user/strace.c b/linux-user/strace.c
>> index bd897a3f20..7eb5e2ab48 100644
>> --- a/linux-user/strace.c
>> +++ b/linux-user/strace.c
>> @@ -8,6 +8,7 @@
>>  #include <arpa/inet.h>
>>  #include <netinet/tcp.h>
>>  #include <linux/if_packet.h>
>> +#include <linux/netlink.h>
>>  #include <sched.h>
>>  #include "qemu.h"
>>  
>> @@ -397,6 +398,12 @@ print_sockaddr(abi_ulong addr, abi_long addrlen)
>>              gemu_log("}");
>>              break;
>>          }
>> +        case AF_NETLINK: {
>> +            struct target_sockaddr_nl *nl = (struct target_sockaddr_nl *)sa;
>> +            gemu_log("{nl_family=AF_NETLINK,nl_pid=%u,nl_groups=%u}",
>> +                     ntohl(nl->nl_pid), ntohl(nl->nl_groups));
> 
> Both sides of the netlink pipe are local and have the same endianness,
> so I don't think we need the ntohl() here. Moreover, I didn't find any
> endianness change in the kernel for them.

I had the same feeling but didn't check the kernel :\ since I was unsure
I used ntohl(), I'll remove it and respin. Thanks to verify!

Regards,

Phil.

> 
> Thanks,
> Laurent
> 

Reply via email to