After the WITH_QEMU_LOCK_GUARD macro is added, the compiler cannot identify that the statements in the macro must be executed. As a result, some variables assignment statements in the macro may be considered as unexecuted by the compiler.
The compiler showed warning: hw/rdma/rdma_backend.c: In function ‘rdma_poll_cq’: hw/rdma/rdma_utils.h:25:5: warning: ‘ne’ may be used uninitialized in this function [-Wmaybe-uninitialized] 25 | error_report("%s: " fmt, "rdma", ## __VA_ARGS__) | ^~~~~~~~~~~~ hw/rdma/rdma_backend.c:93:12: note: ‘ne’ was declared here 93 | int i, ne, total_ne = 0; | ^~ Add a default value for 'ne' to prevented the warning. Reported-by: Euler Robot <euler.ro...@huawei.com> Signed-off-by: Chen Qun <kuhn.chen...@huawei.com> --- Cc: Yuval Shaia <yuval.shaia...@gmail.com> Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com> --- hw/rdma/rdma_backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c index 5de010b1fa..2fe4a3501c 100644 --- a/hw/rdma/rdma_backend.c +++ b/hw/rdma/rdma_backend.c @@ -90,7 +90,7 @@ static void clean_recv_mads(RdmaBackendDev *backend_dev) static int rdma_poll_cq(RdmaDeviceResources *rdma_dev_res, struct ibv_cq *ibcq) { - int i, ne, total_ne = 0; + int i, ne = 0, total_ne = 0; BackendCtx *bctx; struct ibv_wc wc[2]; RdmaProtectedGSList *cqe_ctx_list; -- 2.27.0