aboutsummaryrefslogtreecommitdiff
path: root/src/interface/efi/efi_veto.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface/efi/efi_veto.c')
-rw-r--r--src/interface/efi/efi_veto.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/interface/efi/efi_veto.c b/src/interface/efi/efi_veto.c
index a3b60d6..37aa9a3 100644
--- a/src/interface/efi/efi_veto.c
+++ b/src/interface/efi/efi_veto.c
@@ -494,6 +494,32 @@ efi_veto_vmware_uefipxebc ( EFI_DRIVER_BINDING_PROTOCOL *binding __unused,
return 1;
}
+/**
+ * Veto Dhcp6Dxe driver
+ *
+ * @v binding Driver binding protocol
+ * @v loaded Loaded image protocol
+ * @v wtf Component name protocol, if present
+ * @v manufacturer Manufacturer name, if present
+ * @v name Driver name, if present
+ * @ret vetoed Driver is to be vetoed
+ */
+static int efi_veto_dhcp6 ( EFI_DRIVER_BINDING_PROTOCOL *binding __unused,
+ EFI_LOADED_IMAGE_PROTOCOL *loaded __unused,
+ EFI_COMPONENT_NAME_PROTOCOL *wtf __unused,
+ const char *manufacturer __unused,
+ const CHAR16 *name ) {
+ static const CHAR16 dhcp6[] = L"DHCP6 Protocol Driver";
+
+ /* Check driver name */
+ if ( ! name )
+ return 0;
+ if ( memcmp ( name, dhcp6, sizeof ( dhcp6 ) ) != 0 )
+ return 0;
+
+ return 1;
+}
+
/** Driver vetoes */
static struct efi_veto_candidate efi_vetoes[] = {
{
@@ -508,6 +534,10 @@ static struct efi_veto_candidate efi_vetoes[] = {
.name = "VMware UefiPxeBc",
.veto = efi_veto_vmware_uefipxebc,
},
+ {
+ .name = "Dhcp6",
+ .veto = efi_veto_dhcp6,
+ },
};
/**