| From 8bebee00886bbd5f75f50a5b8c171fbb090285f8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 4 Mar 2025 13:59:51 +0800 |
| Subject: mctp i3c: handle NULL header address |
| |
| From: Matt Johnston <matt@codeconstruct.com.au> |
| |
| [ Upstream commit cf7ee25e70c6edfac4553d6b671e8b19db1d9573 ] |
| |
| 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. |
| |
| Signed-off-by: Matt Johnston <matt@codeconstruct.com.au> |
| Fixes: c8755b29b58e ("mctp i3c: MCTP I3C driver") |
| Link: https://patch.msgid.link/20250304-mctp-i3c-null-v1-1-4416bbd56540@codeconstruct.com.au |
| Signed-off-by: Paolo Abeni <pabeni@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/mctp/mctp-i3c.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/net/mctp/mctp-i3c.c b/drivers/net/mctp/mctp-i3c.c |
| index d247fe483c588..c1e72253063b5 100644 |
| --- a/drivers/net/mctp/mctp-i3c.c |
| +++ b/drivers/net/mctp/mctp-i3c.c |
| @@ -507,6 +507,9 @@ static int mctp_i3c_header_create(struct sk_buff *skb, struct net_device *dev, |
| { |
| struct mctp_i3c_internal_hdr *ihdr; |
| |
| + if (!daddr || !saddr) |
| + return -EINVAL; |
| + |
| skb_push(skb, sizeof(struct mctp_i3c_internal_hdr)); |
| skb_reset_mac_header(skb); |
| ihdr = (void *)skb_mac_header(skb); |
| -- |
| 2.39.5 |
| |