47 lines
1.2 KiB
Diff
47 lines
1.2 KiB
Diff
From 2645e0aa9c17c2c966a0533e52ad00510311483e Mon Sep 17 00:00:00 2001
|
|
From: Adam Jackson <ajax@redhat.com>
|
|
Date: Wed, 29 Aug 2018 11:04:23 -0400
|
|
Subject: [PATCH xf86-video-vesa] Refuse to run on UEFI machines
|
|
|
|
No possible good can come of this.
|
|
|
|
v2: Check for .../efi-framebuffer.0 ("is there an EFI framebuffer")
|
|
instead of /sys/firmware/efi ("is this an EFI machine"). Suggested by
|
|
Peter Jones.
|
|
|
|
Reviewed-by: Peter Jones <pjones@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
diff --git a/src/vesa.c b/src/vesa.c
|
|
index 9b65b9b..af750e2 100644
|
|
--- a/src/vesa.c
|
|
+++ b/src/vesa.c
|
|
@@ -43,7 +43,7 @@
|
|
#endif
|
|
|
|
#include <string.h>
|
|
-
|
|
+#include <unistd.h>
|
|
#include "vesa.h"
|
|
|
|
/* All drivers initialising the SW cursor need this */
|
|
@@ -450,7 +450,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
|
|
intptr_t match_data)
|
|
{
|
|
ScrnInfoPtr pScrn;
|
|
-
|
|
+
|
|
+#ifdef __linux__
|
|
+ if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0) {
|
|
+ ErrorF("vesa: Refusing to run on UEFI\n");
|
|
+ return FALSE;
|
|
+ }
|
|
+#endif
|
|
+
|
|
pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
|
|
NULL, NULL, NULL, NULL, NULL);
|
|
if (pScrn != NULL) {
|
|
--
|
|
2.17.1
|
|
|