aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2022-02-25 22:23:36 -0800
committerJakub Kicinski <kuba@kernel.org>2022-02-25 22:23:37 -0800
commit3e120e45801809ee25cab90690ea633bf20875ba (patch)
tree741fe270dd693a65429a4c68c414209c3ed0d440 /drivers
parentstmmac: intel: Enable 2.5Gbps for Intel AlderLake-S (diff)
parentmctp i2c: Fix hard head TX bounds length check (diff)
Merge branch 'small-fixes-for-mctp'
Matt Johnston says: ==================== Small fixes for MCTP This series has 3 fixes for MCTP. ==================== Link: https://lore.kernel.org/r/20220225053938.643605-1-matt@codeconstruct.com.au Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/mctp/mctp-i2c.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/mctp/mctp-i2c.c b/drivers/net/mctp/mctp-i2c.c
index 365c3dfd4034..baf7afac7857 100644
--- a/drivers/net/mctp/mctp-i2c.c
+++ b/drivers/net/mctp/mctp-i2c.c
@@ -338,7 +338,7 @@ static int mctp_i2c_recv(struct mctp_i2c_dev *midev)
if (status == NET_RX_SUCCESS) {
ndev->stats.rx_packets++;
- ndev->stats.rx_bytes += skb->len;
+ ndev->stats.rx_bytes += recvlen;
} else {
ndev->stats.rx_dropped++;
}
@@ -537,6 +537,9 @@ static int mctp_i2c_header_create(struct sk_buff *skb, struct net_device *dev,
struct mctp_hdr *mhdr;
u8 lldst, llsrc;
+ if (len > MCTP_I2C_MAXMTU)
+ return -EMSGSIZE;
+
lldst = *((u8 *)daddr);
llsrc = *((u8 *)saddr);
@@ -547,8 +550,6 @@ static int mctp_i2c_header_create(struct sk_buff *skb, struct net_device *dev,
hdr->dest_slave = (lldst << 1) & 0xff;
hdr->command = MCTP_I2C_COMMANDCODE;
hdr->byte_count = len + 1;
- if (hdr->byte_count > MCTP_I2C_MAXBLOCK)
- return -EMSGSIZE;
hdr->source_slave = ((llsrc << 1) & 0xff) | 0x01;
mhdr->ver = 0x01;