mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 05:24:12 +08:00
macsec: fix NULL deref in macsec_add_rxsa
Commit48ef50fa86
added a test on tb_sa[MACSEC_SA_ATTR_PN], but nothing guarantees that it's not NULL at this point. The same code was added to macsec_add_txsa, but there it's not a problem because validate_add_txsa checks that the MACSEC_SA_ATTR_PN attribute is present. Note: it's not possible to reproduce with iproute, because iproute doesn't allow creating an SA without specifying the PN. Fixes:48ef50fa86
("macsec: Netlink support of XPN cipher suites (IEEE 802.1AEbw)") Link: https://bugzilla.kernel.org/show_bug.cgi?id=208315 Reported-by: Frantisek Sumsal <fsumsal@redhat.com> Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1aaa62c483
commit
f46040eeaf
@ -1753,7 +1753,8 @@ static int macsec_add_rxsa(struct sk_buff *skb, struct genl_info *info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
pn_len = secy->xpn ? MACSEC_XPN_PN_LEN : MACSEC_DEFAULT_PN_LEN;
|
pn_len = secy->xpn ? MACSEC_XPN_PN_LEN : MACSEC_DEFAULT_PN_LEN;
|
||||||
if (nla_len(tb_sa[MACSEC_SA_ATTR_PN]) != pn_len) {
|
if (tb_sa[MACSEC_SA_ATTR_PN] &&
|
||||||
|
nla_len(tb_sa[MACSEC_SA_ATTR_PN]) != pn_len) {
|
||||||
pr_notice("macsec: nl: add_rxsa: bad pn length: %d != %d\n",
|
pr_notice("macsec: nl: add_rxsa: bad pn length: %d != %d\n",
|
||||||
nla_len(tb_sa[MACSEC_SA_ATTR_PN]), pn_len);
|
nla_len(tb_sa[MACSEC_SA_ATTR_PN]), pn_len);
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
|
Loading…
Reference in New Issue
Block a user