From a7b62cc4cb274ed61302c88ec60086a82cf50f4c Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Wed, 6 Sep 2017 17:17:42 -0700 Subject: [PATCH] nbd, nvmf: fix clang 4.0 packed member warnings clang 4.0 introduced a new warning, -Waddress-of-packed-member, which triggers on a couple of spots in NBD and NVMf. Fix them up to silence the warnings. Change-Id: I134618f93528ea9a3d08050c34056670a58abdab Signed-off-by: Daniel Verkamp Reviewed-on: https://review.gerrithub.io/377441 Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris --- lib/nbd/nbd.c | 5 ++++- lib/nvmf/ctrlr.c | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/nbd/nbd.c b/lib/nbd/nbd.c index 78a3a5de8..ca990e344 100644 --- a/lib/nbd/nbd.c +++ b/lib/nbd/nbd.c @@ -221,7 +221,10 @@ process_request(struct spdk_nbd_disk *nbd) return -ENOMEM; } - assert(from_be32(&io->req.magic) == NBD_REQUEST_MAGIC); + if (from_be32(&io->req.magic) != NBD_REQUEST_MAGIC) { + SPDK_ERRLOG("invalid request magic\n"); + return -EINVAL; + } switch (from_be32(&io->req.type)) { case NBD_CMD_READ: diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index c4997a822..6159415c4 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -36,6 +36,7 @@ #include "nvmf_internal.h" #include "transport.h" +#include "spdk/endian.h" #include "spdk/io_channel.h" #include "spdk/trace.h" #include "spdk/nvme_spec.h" @@ -831,7 +832,7 @@ spdk_nvmf_ctrlr_identify_ctrlr(struct spdk_nvmf_ctrlr *ctrlr, struct spdk_nvme_c spdk_strcpy_pad(cdata->subnqn, subsystem->subnqn, sizeof(cdata->subnqn), '\0'); SPDK_DEBUGLOG(SPDK_TRACE_NVMF, "ctrlr data: maxcmd 0x%x\n", cdata->maxcmd); - SPDK_DEBUGLOG(SPDK_TRACE_NVMF, "sgls data: 0x%x\n", *(uint32_t *)&cdata->sgls); + SPDK_DEBUGLOG(SPDK_TRACE_NVMF, "sgls data: 0x%x\n", from_le32(&cdata->sgls)); /* * NVM subsystem fields (reserved for discovery subsystems)