qed: validate and restrict untrusted VFs vlan promisc mode
authorManish Chopra <manishc@marvell.com>
Wed, 2 Mar 2022 10:52:22 +0000 (02:52 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:10 +0000 (09:08 +0200)
commit5305bf6043d6edd1bf4da8e24a13e799e7a07239
treecfd3d8ede7b13cedaa272cbb4f7f28fbb7538d14
parenta45b2074a669fa3ba19932bddd0ea733b3e11515
qed: validate and restrict untrusted VFs vlan promisc mode

commit cbcc44db2cf7b836896733acc0e5ea966136ed22 upstream.

Today when VFs are put in promiscuous mode, they can request PF
to configure device for them to receive all VLANs traffic regardless
of what vlan is configured by the PF (via ip link) and PF allows this
config request regardless of whether VF is trusted or not.

From security POV, when VLAN is configured for VF through PF (via ip link),
honour such config requests from VF only when they are configured to be
trusted, otherwise restrict such VFs vlan promisc mode config.

Cc: stable@vger.kernel.org
Fixes: f990c82c385b ("qed*: Add support for ndo_set_vf_trust")
Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/qlogic/qed/qed_sriov.c
drivers/net/ethernet/qlogic/qed/qed_sriov.h