]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
mctp i2c: handle NULL header address
authorMatt Johnston <matt@codeconstruct.com.au>
Tue, 22 Oct 2024 10:25:14 +0000 (18:25 +0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 29 Oct 2024 18:22:38 +0000 (11:22 -0700)
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: stable@vger.kernel.org
Reported-by: Dung Cao <dung@os.amperecomputing.com>
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241022-mctp-i2c-null-dest-v3-1-e929709956c5@codeconstruct.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/mctp/mctp-i2c.c

index 4dc057c121f5d0fb9c9c48bf16b6933ae2f7b2ac..e70fb66879941f3937b7ffc5bc1e20a8a435a441 100644 (file)
@@ -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);