From nobody Sun Sep 28 15:27:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1758895762; cv=none; d=zohomail.com; s=zohoarc; b=KSqk9iaA0I1B1f63c0e6oQS/rL8Shh2RGVv7/oNuLTaQ/8BZPBnNartkrgxI3AFH3PR+5bzp6IpXCoxOcJK709o2IZVEvPJXuuykxB4yUCo1z4O74IlNamnaM97T3IEHSYa0VuKuM0I0aZFKXGZCwf8NryZd30AWdHswagPWf1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758895762; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4GpLmzNQcy+8p/pY6cW+syPpqcjBb4Ee4uSNVN4CvDM=; b=KsPmQn4MohfSecQNtC/YhHDttM6oAQQY0S0s+xQlw3120YoirtG71gC7cFYSCfjvHmkCfBuY5D0d4AuWyrVF3DTFWpfpKmayQhaz4s7G3xuUHJfeu/tEQY6oOQtaGGwfjP1fdUg5dg9Tl5a36akM79tmaTOdml2v64p05H5Lboo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1758895762792936.9154313340655; Fri, 26 Sep 2025 07:09:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v293e-0006uQ-6V; Fri, 26 Sep 2025 10:04:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v293c-0006sx-I9 for qemu-devel@nongnu.org; Fri, 26 Sep 2025 10:04:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v293U-0004tz-Th for qemu-devel@nongnu.org; Fri, 26 Sep 2025 10:04:20 -0400 Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-65-TlQEFdHWM12y73ilDEPYdw-1; Fri, 26 Sep 2025 10:04:05 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 46A9F1955D56; Fri, 26 Sep 2025 14:04:04 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.175]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2E5511956095; Fri, 26 Sep 2025 14:04:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1758895449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4GpLmzNQcy+8p/pY6cW+syPpqcjBb4Ee4uSNVN4CvDM=; b=WMXgYCaARy3bZNjgn72NZuXpaqEloPO6s9EiXq1VwHeu73+o4hR6ovAp44gQNY05CQOw+W IbBDLniyhY3d0CVuGkPf01X3ku0lEkp3R7BPvNiupLR3acVPnlACCzC5WIIQDqQw2LYinE cia5CCP60uQQROy+oTku7pflG0NarHI= X-MC-Unique: TlQEFdHWM12y73ilDEPYdw-1 X-Mimecast-MFC-AGG-ID: TlQEFdHWM12y73ilDEPYdw_1758895444 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , Stefan Hajnoczi , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Markus Armbruster , Paolo Bonzini , "Michael S. Tsirkin" , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v2 24/32] hw/net: mark most non-virtio NICs as insecure Date: Fri, 26 Sep 2025 15:01:35 +0100 Message-ID: <20250926140144.1998694-25-berrange@redhat.com> In-Reply-To: <20250926140144.1998694-1-berrange@redhat.com> References: <20250926140144.1998694-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.446, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1758895764991116600 Historically most NICs are only interesting for non-virtualization use cases and have not been written with malicious guests in mind. As a general rule either virtio-net or xen-net should be used in all virtualized guests requiring a security boundary. There are a handful of exceptions resulting from historical usage in the x86 world, to support virtualized guests lacking virtio support. Thus the rtl8139, e1000 & e1000e NICs are declared to provide a security boundary. Signed-off-by: Daniel P. Berrang=C3=A9 --- hw/net/allwinner-sun8i-emac.c | 1 + hw/net/allwinner_emac.c | 3 ++- hw/net/cadence_gem.c | 1 + hw/net/can/can_kvaser_pci.c | 1 + hw/net/can/can_mioe3680_pci.c | 1 + hw/net/can/can_pcm3680_pci.c | 1 + hw/net/can/ctucan_pci.c | 1 + hw/net/can/xlnx-versal-canfd.c | 1 + hw/net/can/xlnx-zynqmp-can.c | 1 + hw/net/dp8393x.c | 1 + hw/net/e1000.c | 1 + hw/net/e1000e.c | 1 + hw/net/eepro100.c | 1 + hw/net/fsl_etsec/etsec.c | 1 + hw/net/ftgmac100.c | 1 + hw/net/igb.c | 1 + hw/net/igbvf.c | 1 + hw/net/imx_fec.c | 2 ++ hw/net/lan9118.c | 1 + hw/net/lan9118_phy.c | 1 + hw/net/lance.c | 1 + hw/net/lasi_i82596.c | 1 + hw/net/mcf_fec.c | 1 + hw/net/msf2-emac.c | 1 + hw/net/mv88w8618_eth.c | 1 + hw/net/ne2000-isa.c | 1 + hw/net/ne2000-pci.c | 1 + hw/net/npcm7xx_emc.c | 1 + hw/net/npcm_gmac.c | 1 + hw/net/npcm_pcs.c | 1 + hw/net/opencores_eth.c | 1 + hw/net/pcnet-pci.c | 1 + hw/net/rocker/rocker.c | 1 + hw/net/rtl8139.c | 1 + hw/net/smc91c111.c | 1 + hw/net/spapr_llan.c | 1 + hw/net/stellaris_enet.c | 1 + hw/net/sungem.c | 1 + hw/net/sunhme.c | 1 + hw/net/tulip.c | 1 + hw/net/virtio-net.c | 1 + hw/net/vmxnet3.c | 1 + hw/net/xgmac.c | 1 + hw/net/xilinx_axienet.c | 1 + hw/net/xilinx_ethlite.c | 1 + 45 files changed, 47 insertions(+), 1 deletion(-) diff --git a/hw/net/allwinner-sun8i-emac.c b/hw/net/allwinner-sun8i-emac.c index 30a81576b4..b03a917aa3 100644 --- a/hw/net/allwinner-sun8i-emac.c +++ b/hw/net/allwinner-sun8i-emac.c @@ -892,6 +892,7 @@ static const TypeInfo allwinner_sun8i_emac_info =3D { .instance_size =3D sizeof(AwSun8iEmacState), .instance_init =3D allwinner_sun8i_emac_init, .class_init =3D allwinner_sun8i_emac_class_init, + .secure =3D false, }; =20 static void allwinner_sun8i_emac_register_types(void) diff --git a/hw/net/allwinner_emac.c b/hw/net/allwinner_emac.c index 77d089d988..836138bba3 100644 --- a/hw/net/allwinner_emac.c +++ b/hw/net/allwinner_emac.c @@ -528,8 +528,9 @@ static const TypeInfo aw_emac_info =3D { .name =3D TYPE_AW_EMAC, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(AwEmacState), - .instance_init =3D aw_emac_init, + .instance_init =3D aw_emac_init, .class_init =3D aw_emac_class_init, + .secure =3D false, }; =20 static void aw_emac_register_types(void) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index 44446666de..760e0d5e99 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -1833,6 +1833,7 @@ static const TypeInfo gem_info =3D { .instance_size =3D sizeof(CadenceGEMState), .instance_init =3D gem_init, .class_init =3D gem_class_init, + .secure =3D false, }; =20 static void gem_register_types(void) diff --git a/hw/net/can/can_kvaser_pci.c b/hw/net/can/can_kvaser_pci.c index be16769de2..7764c29ced 100644 --- a/hw/net/can/can_kvaser_pci.c +++ b/hw/net/can/can_kvaser_pci.c @@ -305,6 +305,7 @@ static const TypeInfo kvaser_pci_info =3D { .instance_size =3D sizeof(KvaserPCIState), .class_init =3D kvaser_pci_class_init, .instance_init =3D kvaser_pci_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/can/can_mioe3680_pci.c b/hw/net/can/can_mioe3680_pci.c index 44f3ba370d..3e1c5eda19 100644 --- a/hw/net/can/can_mioe3680_pci.c +++ b/hw/net/can/can_mioe3680_pci.c @@ -248,6 +248,7 @@ static const TypeInfo mioe3680_pci_info =3D { .instance_size =3D sizeof(Mioe3680PCIState), .class_init =3D mioe3680_pci_class_init, .instance_init =3D mioe3680_pci_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/can/can_pcm3680_pci.c b/hw/net/can/can_pcm3680_pci.c index 7296d63be7..964e074a36 100644 --- a/hw/net/can/can_pcm3680_pci.c +++ b/hw/net/can/can_pcm3680_pci.c @@ -249,6 +249,7 @@ static const TypeInfo pcm3680i_pci_info =3D { .instance_size =3D sizeof(Pcm3680iPCIState), .class_init =3D pcm3680i_pci_class_init, .instance_init =3D pcm3680i_pci_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/can/ctucan_pci.c b/hw/net/can/ctucan_pci.c index bed6785433..1530959ea8 100644 --- a/hw/net/can/ctucan_pci.c +++ b/hw/net/can/ctucan_pci.c @@ -262,6 +262,7 @@ static const TypeInfo ctucan_pci_info =3D { .instance_size =3D sizeof(CtuCanPCIState), .class_init =3D ctucan_pci_class_init, .instance_init =3D ctucan_pci_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/can/xlnx-versal-canfd.c b/hw/net/can/xlnx-versal-canfd.c index 3eb111949f..0073812e3c 100644 --- a/hw/net/can/xlnx-versal-canfd.c +++ b/hw/net/can/xlnx-versal-canfd.c @@ -2068,6 +2068,7 @@ static const TypeInfo canfd_info =3D { .instance_size =3D sizeof(XlnxVersalCANFDState), .class_init =3D canfd_class_init, .instance_init =3D canfd_init, + .secure =3D false, }; =20 static void canfd_register_types(void) diff --git a/hw/net/can/xlnx-zynqmp-can.c b/hw/net/can/xlnx-zynqmp-can.c index ca9edd4a5b..e859e447af 100644 --- a/hw/net/can/xlnx-zynqmp-can.c +++ b/hw/net/can/xlnx-zynqmp-can.c @@ -1194,6 +1194,7 @@ static const TypeInfo can_info =3D { .instance_size =3D sizeof(XlnxZynqMPCANState), .class_init =3D xlnx_zynqmp_can_class_init, .instance_init =3D xlnx_zynqmp_can_init, + .secure =3D false, }; =20 static void can_register_types(void) diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index d49032059b..b508b6f779 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -956,6 +956,7 @@ static const TypeInfo dp8393x_info =3D { .instance_size =3D sizeof(dp8393xState), .instance_init =3D dp8393x_instance_init, .class_init =3D dp8393x_class_init, + .secure =3D false, }; =20 static void dp8393x_register_types(void) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index a80a7b0cdb..684350557f 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1759,6 +1759,7 @@ static void e1000_register_types(void) type_info.parent =3D TYPE_E1000_BASE; type_info.class_data =3D info; type_info.class_init =3D e1000_class_init; + type_info.secure =3D true, =20 type_register_static(&type_info); } diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index 89e6d52ba0..83cf3cf643 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -721,6 +721,7 @@ static const TypeInfo e1000e_info =3D { .instance_size =3D sizeof(E1000EState), .class_init =3D e1000e_class_init, .instance_init =3D e1000e_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c index d47df5a97f..3bc232d3c2 100644 --- a/hw/net/eepro100.c +++ b/hw/net/eepro100.c @@ -2094,6 +2094,7 @@ static void eepro100_register_types(void) type_info.class_init =3D eepro100_class_init; type_info.instance_size =3D sizeof(EEPRO100State); type_info.instance_init =3D eepro100_instance_init; + type_info.secure =3D false, type_info.interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/fsl_etsec/etsec.c b/hw/net/fsl_etsec/etsec.c index 846f6cbc5d..4f82678941 100644 --- a/hw/net/fsl_etsec/etsec.c +++ b/hw/net/fsl_etsec/etsec.c @@ -437,6 +437,7 @@ static const TypeInfo etsec_types[] =3D { .instance_size =3D sizeof(eTSEC), .class_init =3D etsec_class_init, .instance_init =3D etsec_instance_init, + .secure =3D false, }, }; =20 diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c index c41ce889cf..936a38a4f8 100644 --- a/hw/net/ftgmac100.c +++ b/hw/net/ftgmac100.c @@ -1277,6 +1277,7 @@ static const TypeInfo ftgmac100_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(FTGMAC100State), .class_init =3D ftgmac100_class_init, + .secure =3D false, }; =20 /* diff --git a/hw/net/igb.c b/hw/net/igb.c index e4c02365d6..6ab7af33d5 100644 --- a/hw/net/igb.c +++ b/hw/net/igb.c @@ -635,6 +635,7 @@ static const TypeInfo igb_info =3D { .instance_size =3D sizeof(IGBState), .class_init =3D igb_class_init, .instance_init =3D igb_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/net/igbvf.c b/hw/net/igbvf.c index 31d72c4977..8a193db414 100644 --- a/hw/net/igbvf.c +++ b/hw/net/igbvf.c @@ -325,6 +325,7 @@ static const TypeInfo igbvf_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(IgbVfState), .class_init =3D igbvf_class_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { } diff --git a/hw/net/imx_fec.c b/hw/net/imx_fec.c index e5e34dd1a4..d288ba0e2d 100644 --- a/hw/net/imx_fec.c +++ b/hw/net/imx_fec.c @@ -1261,12 +1261,14 @@ static const TypeInfo imx_fec_info =3D { .instance_size =3D sizeof(IMXFECState), .instance_init =3D imx_fec_init, .class_init =3D imx_eth_class_init, + .secure =3D false, }; =20 static const TypeInfo imx_enet_info =3D { .name =3D TYPE_IMX_ENET, .parent =3D TYPE_IMX_FEC, .instance_init =3D imx_enet_init, + .secure =3D false, }; =20 static void imx_eth_register_types(void) diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c index 3017e12971..a190cf8a34 100644 --- a/hw/net/lan9118.c +++ b/hw/net/lan9118.c @@ -1325,6 +1325,7 @@ static const TypeInfo lan9118_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(lan9118_state), .class_init =3D lan9118_class_init, + .secure =3D false, }; =20 static void lan9118_register_types(void) diff --git a/hw/net/lan9118_phy.c b/hw/net/lan9118_phy.c index 4c4e03df11..a32eb3374f 100644 --- a/hw/net/lan9118_phy.c +++ b/hw/net/lan9118_phy.c @@ -216,6 +216,7 @@ static const TypeInfo types[] =3D { .instance_size =3D sizeof(Lan9118PhyState), .instance_init =3D lan9118_phy_init, .class_init =3D lan9118_phy_class_init, + .secure =3D false, } }; =20 diff --git a/hw/net/lance.c b/hw/net/lance.c index dfb855c23a..366869a004 100644 --- a/hw/net/lance.c +++ b/hw/net/lance.c @@ -161,6 +161,7 @@ static const TypeInfo lance_info =3D { .instance_size =3D sizeof(SysBusPCNetState), .class_init =3D lance_class_init, .instance_init =3D lance_instance_init, + .secure =3D false, }; =20 static void lance_register_types(void) diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c index 9e1dd21546..323cbcef96 100644 --- a/hw/net/lasi_i82596.c +++ b/hw/net/lasi_i82596.c @@ -181,6 +181,7 @@ static const TypeInfo lasi_82596_info =3D { .instance_size =3D sizeof(SysBusI82596State), .class_init =3D lasi_82596_class_init, .instance_init =3D lasi_82596_instance_init, + .secure =3D false, }; =20 static void lasi_82596_register_types(void) diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c index ae128fa311..3a061139d0 100644 --- a/hw/net/mcf_fec.c +++ b/hw/net/mcf_fec.c @@ -681,6 +681,7 @@ static const TypeInfo mcf_fec_info =3D { .instance_size =3D sizeof(mcf_fec_state), .instance_init =3D mcf_fec_instance_init, .class_init =3D mcf_fec_class_init, + .secure =3D false, }; =20 static void mcf_fec_register_types(void) diff --git a/hw/net/msf2-emac.c b/hw/net/msf2-emac.c index 59045973ab..3a72b96fac 100644 --- a/hw/net/msf2-emac.c +++ b/hw/net/msf2-emac.c @@ -581,6 +581,7 @@ static const TypeInfo msf2_emac_info =3D { .instance_size =3D sizeof(MSF2EmacState), .instance_init =3D msf2_emac_init, .class_init =3D msf2_emac_class_init, + .secure =3D false, }; =20 static void msf2_emac_register_types(void) diff --git a/hw/net/mv88w8618_eth.c b/hw/net/mv88w8618_eth.c index 6f08846c81..77a748104d 100644 --- a/hw/net/mv88w8618_eth.c +++ b/hw/net/mv88w8618_eth.c @@ -392,6 +392,7 @@ static const TypeInfo mv88w8618_eth_info =3D { .instance_size =3D sizeof(mv88w8618_eth_state), .instance_init =3D mv88w8618_eth_init, .class_init =3D mv88w8618_eth_class_init, + .secure =3D false, }; =20 static void musicpal_register_types(void) diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c index 673c785abc..433a348f4d 100644 --- a/hw/net/ne2000-isa.c +++ b/hw/net/ne2000-isa.c @@ -142,6 +142,7 @@ static const TypeInfo ne2000_isa_info =3D { .instance_size =3D sizeof(ISANE2000State), .class_init =3D isa_ne2000_class_initfn, .instance_init =3D isa_ne2000_instance_init, + .secure =3D false, }; =20 static void ne2000_isa_register_types(void) diff --git a/hw/net/ne2000-pci.c b/hw/net/ne2000-pci.c index ce937e1b61..23c663de10 100644 --- a/hw/net/ne2000-pci.c +++ b/hw/net/ne2000-pci.c @@ -122,6 +122,7 @@ static const TypeInfo ne2000_info =3D { .instance_size =3D sizeof(PCINE2000State), .class_init =3D ne2000_class_init, .instance_init =3D ne2000_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/npcm7xx_emc.c b/hw/net/npcm7xx_emc.c index 9ba35e2c81..6e148b4fdd 100644 --- a/hw/net/npcm7xx_emc.c +++ b/hw/net/npcm7xx_emc.c @@ -867,6 +867,7 @@ static const TypeInfo npcm7xx_emc_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(NPCM7xxEMCState), .class_init =3D npcm7xx_emc_class_init, + .secure =3D false, }; =20 static void npcm7xx_emc_register_type(void) diff --git a/hw/net/npcm_gmac.c b/hw/net/npcm_gmac.c index 5e32cd3edf..f8cd4e5f12 100644 --- a/hw/net/npcm_gmac.c +++ b/hw/net/npcm_gmac.c @@ -933,6 +933,7 @@ static const TypeInfo npcm_gmac_types[] =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(NPCMGMACState), .class_init =3D npcm_gmac_class_init, + .secure =3D false, }, }; DEFINE_TYPES(npcm_gmac_types) diff --git a/hw/net/npcm_pcs.c b/hw/net/npcm_pcs.c index 6aec105271..82bc1f16c3 100644 --- a/hw/net/npcm_pcs.c +++ b/hw/net/npcm_pcs.c @@ -405,6 +405,7 @@ static const TypeInfo npcm_pcs_types[] =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(NPCMPCSState), .class_init =3D npcm_pcs_class_init, + .secure =3D false, }, }; DEFINE_TYPES(npcm_pcs_types) diff --git a/hw/net/opencores_eth.c b/hw/net/opencores_eth.c index 7e955c0132..8d1c4523dc 100644 --- a/hw/net/opencores_eth.c +++ b/hw/net/opencores_eth.c @@ -763,6 +763,7 @@ static const TypeInfo open_eth_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(OpenEthState), .class_init =3D open_eth_class_init, + .secure =3D false, }; =20 static void open_eth_register_types(void) diff --git a/hw/net/pcnet-pci.c b/hw/net/pcnet-pci.c index 0ca5bc2193..90a27cdab5 100644 --- a/hw/net/pcnet-pci.c +++ b/hw/net/pcnet-pci.c @@ -280,6 +280,7 @@ static const TypeInfo pcnet_info =3D { .instance_size =3D sizeof(PCIPCNetState), .class_init =3D pcnet_class_init, .instance_init =3D pcnet_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c index cc49701dd3..8923ec6473 100644 --- a/hw/net/rocker/rocker.c +++ b/hw/net/rocker/rocker.c @@ -1498,6 +1498,7 @@ static const TypeInfo rocker_info =3D { .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(Rocker), .class_init =3D rocker_class_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 324fb932aa..f8cc0b728d 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -3439,6 +3439,7 @@ static const TypeInfo rtl8139_info =3D { .instance_size =3D sizeof(RTL8139State), .class_init =3D rtl8139_class_init, .instance_init =3D rtl8139_instance_init, + .secure =3D true, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c index 5cd78e334b..59ebebdf19 100644 --- a/hw/net/smc91c111.c +++ b/hw/net/smc91c111.c @@ -928,6 +928,7 @@ static const TypeInfo smc91c111_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(smc91c111_state), .class_init =3D smc91c111_class_init, + .secure =3D false, }; =20 static void smc91c111_register_types(void) diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c index f6f217d632..85b2c9809a 100644 --- a/hw/net/spapr_llan.c +++ b/hw/net/spapr_llan.c @@ -873,6 +873,7 @@ static const TypeInfo spapr_vlan_info =3D { .class_init =3D spapr_vlan_class_init, .instance_init =3D spapr_vlan_instance_init, .instance_finalize =3D spapr_vlan_instance_finalize, + .secure =3D false, }; =20 static void spapr_vlan_register_types(void) diff --git a/hw/net/stellaris_enet.c b/hw/net/stellaris_enet.c index 2fc51e1e16..bebd1d04cc 100644 --- a/hw/net/stellaris_enet.c +++ b/hw/net/stellaris_enet.c @@ -516,6 +516,7 @@ static const TypeInfo stellaris_enet_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(stellaris_enet_state), .class_init =3D stellaris_enet_class_init, + .secure =3D false, }; =20 static void stellaris_enet_register_types(void) diff --git a/hw/net/sungem.c b/hw/net/sungem.c index b405eb89fa..1de709d274 100644 --- a/hw/net/sungem.c +++ b/hw/net/sungem.c @@ -1477,6 +1477,7 @@ static const TypeInfo sungem_info =3D { .instance_size =3D sizeof(SunGEMState), .class_init =3D sungem_class_init, .instance_init =3D sungem_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { } diff --git a/hw/net/sunhme.c b/hw/net/sunhme.c index c2f7a8483d..59639afaac 100644 --- a/hw/net/sunhme.c +++ b/hw/net/sunhme.c @@ -958,6 +958,7 @@ static const TypeInfo sunhme_info =3D { .class_init =3D sunhme_class_init, .instance_size =3D sizeof(SunHMEState), .instance_init =3D sunhme_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { } diff --git a/hw/net/tulip.c b/hw/net/tulip.c index 319af906c8..32e7839a83 100644 --- a/hw/net/tulip.c +++ b/hw/net/tulip.c @@ -1035,6 +1035,7 @@ static const TypeInfo tulip_info =3D { .instance_size =3D sizeof(TULIPState), .class_init =3D tulip_class_init, .instance_init =3D tulip_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 6b5b5dace3..b34c0f3afc 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -4259,6 +4259,7 @@ static const TypeInfo virtio_net_info =3D { .instance_size =3D sizeof(VirtIONet), .instance_init =3D virtio_net_instance_init, .class_init =3D virtio_net_class_init, + .secure =3D true, }; =20 static void virtio_register_types(void) diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index af73aa8ef2..25e28e5467 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -2491,6 +2491,7 @@ static const TypeInfo vmxnet3_info =3D { .instance_size =3D sizeof(VMXNET3State), .class_init =3D vmxnet3_class_init, .instance_init =3D vmxnet3_instance_init, + .secure =3D false, .interfaces =3D (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, diff --git a/hw/net/xgmac.c b/hw/net/xgmac.c index d45f872467..fc71bc1e00 100644 --- a/hw/net/xgmac.c +++ b/hw/net/xgmac.c @@ -432,6 +432,7 @@ static const TypeInfo xgmac_enet_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(XgmacState), .class_init =3D xgmac_enet_class_init, + .secure =3D false, }; =20 static void xgmac_enet_register_types(void) diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c index 1f5c748047..9b3618facb 100644 --- a/hw/net/xilinx_axienet.c +++ b/hw/net/xilinx_axienet.c @@ -1038,6 +1038,7 @@ static const TypeInfo xilinx_enet_info =3D { .instance_size =3D sizeof(XilinxAXIEnet), .class_init =3D xilinx_enet_class_init, .instance_init =3D xilinx_enet_init, + .secure =3D false, }; =20 static const TypeInfo xilinx_enet_data_stream_info =3D { diff --git a/hw/net/xilinx_ethlite.c b/hw/net/xilinx_ethlite.c index 42b19d07c7..5ea2c1e692 100644 --- a/hw/net/xilinx_ethlite.c +++ b/hw/net/xilinx_ethlite.c @@ -401,6 +401,7 @@ static const TypeInfo xilinx_ethlite_types[] =3D { .instance_size =3D sizeof(XlnxXpsEthLite), .instance_init =3D xilinx_ethlite_init, .class_init =3D xilinx_ethlite_class_init, + .secure =3D false, }, }; =20 --=20 2.50.1