From f3097c1da80f557049aea5abc68d782b6da6b6ed Mon Sep 17 00:00:00 2001 From: Arnaud Pouliquen Date: Fri, 3 May 2024 17:29:41 +0200 Subject: [PATCH] lib: rpmsg_rpc: fix compilation warning and bad API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix following warning by updating bad rpc_id parameter type in the rpmsg_rpc_client_send() API. Align the rpc_id type to the one used in rpmsg_rpc_server_send(). /github/workspace/lib/service/rpmsg/rpc/rpmsg_rpc_client.c:60:9: error: ‘memcpy’ reading 8 bytes from a region of size 4 [-Werror=stringop-overread] 1286 60 | memcpy(tmpbuf, &rpc_id, MAX_FUNC_ID_LEN); 1287 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1288 /github/workspace/lib/service/rpmsg/rpc/rpmsg_rpc_client.c:51:40: note: source object ‘rpc_id’ of size 4 1289 51 | unsigned int rpc_id, void *request_param, 1290 | ~~~~~~~~~~~~~^~~~~~ Signed-off-by: Arnaud Pouliquen --- lib/include/openamp/rpmsg_rpc_client_server.h | 6 +++--- lib/service/rpmsg/rpc/rpmsg_rpc_client.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/include/openamp/rpmsg_rpc_client_server.h b/lib/include/openamp/rpmsg_rpc_client_server.h index f9407849e..b53a8bf61 100644 --- a/lib/include/openamp/rpmsg_rpc_client_server.h +++ b/lib/include/openamp/rpmsg_rpc_client_server.h @@ -25,13 +25,13 @@ extern "C" { * Aligning to 64 bits -> 488UL */ #define MAX_BUF_LEN 488UL -#define MAX_FUNC_ID_LEN sizeof(unsigned long int) +#define MAX_FUNC_ID_LEN sizeof(uint32_t) struct rpmsg_rpc_clt; struct rpmsg_rpc_svr; typedef void (*rpmsg_rpc_shutdown_cb)(struct rpmsg_rpc_clt *rpc); -typedef void (*app_cb)(struct rpmsg_rpc_clt *rpc, int statust, void *data, +typedef void (*app_cb)(struct rpmsg_rpc_clt *rpc, int status, void *data, size_t len); typedef int (*rpmsg_rpc_syscall_cb)(void *data, struct rpmsg_rpc_svr *rpcs); @@ -181,7 +181,7 @@ int rpmsg_rpc_server_init(struct rpmsg_rpc_svr *rpcs, struct rpmsg_device *rdev, * @return Length of the received response, negative value for failure. */ int rpmsg_rpc_client_send(struct rpmsg_rpc_clt *rpc, - unsigned int rpc_id, void *request_param, + uint32_t rpc_id, void *request_param, size_t req_param_size); /** diff --git a/lib/service/rpmsg/rpc/rpmsg_rpc_client.c b/lib/service/rpmsg/rpc/rpmsg_rpc_client.c index f4e04c073..474218e39 100644 --- a/lib/service/rpmsg/rpc/rpmsg_rpc_client.c +++ b/lib/service/rpmsg/rpc/rpmsg_rpc_client.c @@ -48,7 +48,7 @@ int rpmsg_rpc_client_init(struct rpmsg_rpc_clt *rpc, } int rpmsg_rpc_client_send(struct rpmsg_rpc_clt *rpc, - unsigned int rpc_id, void *request_param, + uint32_t rpc_id, void *request_param, size_t req_param_size) { unsigned char tmpbuf[MAX_BUF_LEN];