diff options
author | Matt Johnston <[email protected]> | 2024-10-22 18:25:14 +0800 |
---|---|---|
committer | Jakub Kicinski <[email protected]> | 2024-10-29 11:22:38 -0700 |
commit | 01e215975fd80af81b5b79f009d49ddd35976c13 (patch) | |
tree | 37dd86c353c9b0711ee497a6dc59cd8a6f55f223 | |
parent | 90e0569dd3d32f4f4d2ca691d3fa5a8a14a13c12 (diff) |
mctp i2c: handle NULL header address
daddr can be NULL if there is no neighbour table entry present,
in that case the tx packet should be dropped.
saddr will usually be set by MCTP core, but check for NULL in case a
packet is transmitted by a different protocol.
Fixes: f5b8abf9fc3d ("mctp i2c: MCTP I2C binding driver")
Cc: [email protected]
Reported-by: Dung Cao <[email protected]>
Signed-off-by: Matt Johnston <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Link: https://patch.msgid.link/20241022-mctp-i2c-null-dest-v3-1-e929709956c5@codeconstruct.com.au
Signed-off-by: Jakub Kicinski <[email protected]>
-rw-r--r-- | drivers/net/mctp/mctp-i2c.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/mctp/mctp-i2c.c b/drivers/net/mctp/mctp-i2c.c index 4dc057c121f5..e70fb6687994 100644 --- a/drivers/net/mctp/mctp-i2c.c +++ b/drivers/net/mctp/mctp-i2c.c @@ -588,6 +588,9 @@ static int mctp_i2c_header_create(struct sk_buff *skb, struct net_device *dev, if (len > MCTP_I2C_MAXMTU) return -EMSGSIZE; + if (!daddr || !saddr) + return -EINVAL; + lldst = *((u8 *)daddr); llsrc = *((u8 *)saddr); |