usrsock: Make the field of usrsock_request native alignment

There is a risk that interfaces such as psock_ioctl/psock_setsockopt
will cause paramete to be not four-byte aligned after calculating the
offset, so align the length of the structure with parameters by four
bytes.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
This commit is contained in:
zhanghongyu 2023-10-19 20:53:36 +08:00 committed by Xiang Xiao
parent 0f1a49bba5
commit 3ad28c28aa
2 changed files with 4 additions and 6 deletions

View File

@ -94,7 +94,6 @@ static int usrsock_rpmsg_send_dns_request(FAR void *arg,
dns->head.reqid = USRSOCK_RPMSG_DNS_REQUEST;
dns->head.xid = 0;
dns->head.reserved = 0;
dns->addrlen = addrlen;
memcpy(dns + 1, addr, addrlen);

View File

@ -100,8 +100,7 @@ enum usrsock_message_types_e
begin_packed_struct struct usrsock_request_common_s
{
uint32_t xid;
int8_t reqid;
int8_t reserved;
uint32_t reqid;
} end_packed_struct;
begin_packed_struct struct usrsock_request_socket_s
@ -157,9 +156,9 @@ begin_packed_struct struct usrsock_request_sendto_s
struct usrsock_request_common_s head;
int16_t usockid;
uint16_t addrlen;
int32_t flags;
uint32_t buflen;
uint16_t addrlen;
} end_packed_struct;
begin_packed_struct struct usrsock_request_recvfrom_s
@ -167,9 +166,9 @@ begin_packed_struct struct usrsock_request_recvfrom_s
struct usrsock_request_common_s head;
int16_t usockid;
uint16_t max_addrlen;
int32_t flags;
uint32_t max_buflen;
uint16_t max_addrlen;
} end_packed_struct;
begin_packed_struct struct usrsock_request_setsockopt_s
@ -213,8 +212,8 @@ begin_packed_struct struct usrsock_request_ioctl_s
struct usrsock_request_common_s head;
int16_t usockid;
int32_t cmd;
uint16_t arglen;
int32_t cmd;
} end_packed_struct;
begin_packed_struct struct usrsock_request_shutdown_s