diff options
author | Matt Johnston <matt@codeconstruct.com.au> | 2025-03-04 13:59:51 +0800 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2025-03-06 10:33:07 +0100 |
commit | cf7ee25e70c6edfac4553d6b671e8b19db1d9573 (patch) | |
tree | e0df5cc39c3fe38ff42f9deea47ccf5702061d9a /drivers | |
parent | ccc2f5a436fbb0ae1fb598932a9b8e48423c1959 (diff) |
mctp i3c: 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.
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/mctp/mctp-i3c.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/mctp/mctp-i3c.c b/drivers/net/mctp/mctp-i3c.c index d247fe483c58..c1e72253063b 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); |