From 3ad28c28aa53690c17700840a8f294bd48a8ca8f Mon Sep 17 00:00:00 2001 From: zhanghongyu Date: Thu, 19 Oct 2023 20:53:36 +0800 Subject: [PATCH] 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 --- drivers/usrsock/usrsock_rpmsg.c | 1 - include/nuttx/net/usrsock.h | 9 ++++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/usrsock/usrsock_rpmsg.c b/drivers/usrsock/usrsock_rpmsg.c index 74924bd04f..25e188a861 100644 --- a/drivers/usrsock/usrsock_rpmsg.c +++ b/drivers/usrsock/usrsock_rpmsg.c @@ -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); diff --git a/include/nuttx/net/usrsock.h b/include/nuttx/net/usrsock.h index 9336c06353..43c7ef604a 100644 --- a/include/nuttx/net/usrsock.h +++ b/include/nuttx/net/usrsock.h @@ -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