]> git.baikalelectronics.ru Git - kernel.git/commit
macsec: don't free NULL metadata_dst
authorSabrina Dubroca <sd@queasysnail.net>
Fri, 23 Sep 2022 09:07:09 +0000 (11:07 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 26 Sep 2022 16:39:30 +0000 (09:39 -0700)
commit5d2712f33c19f3505fde807985e6461ed085b0bc
treef103cfdd204857093becccfc22a0755d24c9ff5b
parent5e3d36320df843a84d746060e4092b8fccab1524
macsec: don't free NULL metadata_dst

Commit 7147f26cccd6 added a metadata_dst to each tx_sc, but that's
only allocated when macsec_add_dev has run, which happens after device
registration. If the requested or computed SCI already exists, or if
linking to the lower device fails, we will panic because
metadata_dst_free can't handle NULL.

Reproducer:
    ip link add link $lower type macsec
    ip link add link $lower type macsec

Fixes: 7147f26cccd6 ("net/macsec: Add MACsec skb_metadata_dst Tx Data path support")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Raed Salem <raeds@nvidia.com>
Link: https://lore.kernel.org/r/60f2a1965fe553e2cade9472407d0fafff8de8ce.1663923580.git.sd@queasysnail.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/macsec.c