mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-05 07:10:35 -05:00
mctp: add address validity checking for packet receive
This change adds some basic sanity checks for the source and dest headers of packets on initial receive. Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
cb196b7259
commit
86cdfd63f2
@@ -1092,6 +1092,17 @@ static int mctp_pkttype_receive(struct sk_buff *skb, struct net_device *dev,
|
||||
if (mh->ver < MCTP_VER_MIN || mh->ver > MCTP_VER_MAX)
|
||||
goto err_drop;
|
||||
|
||||
/* source must be valid unicast or null; drop reserved ranges and
|
||||
* broadcast
|
||||
*/
|
||||
if (!(mctp_address_unicast(mh->src) || mctp_address_null(mh->src)))
|
||||
goto err_drop;
|
||||
|
||||
/* dest address: as above, but allow broadcast */
|
||||
if (!(mctp_address_unicast(mh->dest) || mctp_address_null(mh->dest) ||
|
||||
mctp_address_broadcast(mh->dest)))
|
||||
goto err_drop;
|
||||
|
||||
/* MCTP drivers must populate halen/haddr */
|
||||
if (dev->type == ARPHRD_MCTP) {
|
||||
cb = mctp_cb(skb);
|
||||
|
||||
Reference in New Issue
Block a user