From: Stefan Raspl <raspl@linux.ibm.com>
Subject: net/smc: use a constant for control message length
Patch-mainline: v4.16-rc5
Git-commit: cbba07a726fb6b52b48d24ffd27e36f7278864e0
References: FATE#325694, LTC#167874, bsc#1113480
Summary: net/smc: SMC-R MVP
Description: Add latest upstream patches to push SMC-R to the MVP level
Upstream-Description:
net/smc: use a constant for control message length
The sizeof(struct smc_cdc_msg) evaluates to 48 bytes instead of the
required 44 bytes. We need to use the constant value of
SMC_WR_TX_SIZE to set and check the control message length.
Signed-off-by: Karsten Graul <kgraul@linux.vnet.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Stefan Raspl <raspl@linux.ibm.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
net/smc/smc_cdc.c | 2 +-
net/smc/smc_core.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/net/smc/smc_cdc.c
+++ b/net/smc/smc_cdc.c
@@ -268,7 +268,7 @@ static void smc_cdc_rx_handler(struct ib
if (wc->byte_len < offsetof(struct smc_cdc_msg, reserved))
return; /* short message */
- if (cdc->len != sizeof(*cdc))
+ if (cdc->len != SMC_WR_TX_SIZE)
return; /* invalid message */
smc_cdc_msg_recv(cdc, link, wc->wr_id);
}
--- a/net/smc/smc_core.c
+++ b/net/smc/smc_core.c
@@ -464,7 +464,7 @@ create:
rc = smc_link_determine_gid(conn->lgr);
}
conn->local_tx_ctrl.common.type = SMC_CDC_MSG_TYPE;
- conn->local_tx_ctrl.len = sizeof(struct smc_cdc_msg);
+ conn->local_tx_ctrl.len = SMC_WR_TX_SIZE;
#ifndef KERNEL_HAS_ATOMIC64
spin_lock_init(&conn->acurs_lock);
#endif