Commit f3bc53c5 authored by Matt Johnston's avatar Matt Johnston Committed by Wen Zhiwei
Browse files

mctp i2c: handle NULL header address

stable inclusion
from stable-v6.6.60
commit 8e886e44397ba89f6e8da8471386112b4f5b67b7
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB44K1

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8e886e44397ba89f6e8da8471386112b4f5b67b7



--------------------------------

[ Upstream commit 01e215975fd80af81b5b79f009d49ddd35976c13 ]

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: f5b8abf9 ("mctp i2c: MCTP I2C binding driver")
Cc: stable@vger.kernel.org
Reported-by: default avatarDung Cao <dung@os.amperecomputing.com>
Signed-off-by: default avatarMatt Johnston <matt@codeconstruct.com.au>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241022-mctp-i2c-null-dest-v3-1-e929709956c5@codeconstruct.com.au


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarWen Zhiwei <wenzhiwei@kylinos.cn>
parent dc464e5c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -547,6 +547,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);