From 1675e153fb28b812450770b2ec09634f4d8de840 Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Tue, 6 Sep 2016 14:42:58 +0800 Subject: [PATCH] nvmf: Update get_rdma_conn and get_rdma_req The "+" is not correct, should be "-". Currently, the issue doest not happen since the offset is 0, then both + and - is OK. But if we adjust the location of spdk_nvmf_conn or spdk_nvmf_request, we can find this bug. Change-Id: Ib358dc729da901a69442d0402a6089989f49b05c Signed-off-by: Ziye Yang --- lib/nvmf/rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 367109e13..0135d0726 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -164,13 +164,13 @@ static struct spdk_nvmf_rdma g_rdma = { static inline struct spdk_nvmf_rdma_conn * get_rdma_conn(struct spdk_nvmf_conn *conn) { - return (struct spdk_nvmf_rdma_conn *)((uintptr_t)conn + offsetof(struct spdk_nvmf_rdma_conn, conn)); + return (struct spdk_nvmf_rdma_conn *)((uintptr_t)conn - offsetof(struct spdk_nvmf_rdma_conn, conn)); } static inline struct spdk_nvmf_rdma_request * get_rdma_req(struct spdk_nvmf_request *req) { - return (struct spdk_nvmf_rdma_request *)((uintptr_t)req + offsetof(struct spdk_nvmf_rdma_request, + return (struct spdk_nvmf_rdma_request *)((uintptr_t)req - offsetof(struct spdk_nvmf_rdma_request, req)); }