Commit c0368595 authored by Colin Ian King's avatar Colin Ian King Committed by David S. Miller
Browse files

net: systemport: fix index check to avoid an array out of bounds access



Currently the bounds check on index is off by one and can lead to
an out of bounds access on array priv->filters_loc when index is
RXCHK_BRCM_TAG_MAX.

Fixes: bb9051a2 ("net: systemport: Add support for WAKE_FILTER")
Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9d0e0cd9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2135,7 +2135,7 @@ static int bcm_sysport_rule_set(struct bcm_sysport_priv *priv,
		return -ENOSPC;

	index = find_first_zero_bit(priv->filters, RXCHK_BRCM_TAG_MAX);
	if (index > RXCHK_BRCM_TAG_MAX)
	if (index >= RXCHK_BRCM_TAG_MAX)
		return -ENOSPC;

	/* Location is the classification ID, and index is the position