blob: 9e017706679f3d0e183a015088e1379c8763cb9d [file] [log] [blame]
Brad Bishopd89cb5f2019-04-10 09:02:41 -04001From 2645e0aa9c17c2c966a0533e52ad00510311483e Mon Sep 17 00:00:00 2001
2From: Adam Jackson <ajax@redhat.com>
3Date: Wed, 29 Aug 2018 11:04:23 -0400
4Subject: [PATCH] Refuse to run on UEFI machines
5
6No possible good can come of this.
7
8v2: Check for .../efi-framebuffer.0 ("is there an EFI framebuffer")
9instead of /sys/firmware/efi ("is this an EFI machine"). Suggested by
10Peter Jones.
11
12Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa]
13
14Reviewed-by: Peter Jones <pjones@redhat.com>
15Signed-off-by: Adam Jackson <ajax@redhat.com>
16Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
17---
18 src/vesa.c | 11 +++++++++--
19 1 file changed, 9 insertions(+), 2 deletions(-)
20
21diff --git a/src/vesa.c b/src/vesa.c
22index 9b65b9b..af750e2 100644
23--- a/src/vesa.c
24+++ b/src/vesa.c
25@@ -43,7 +43,7 @@
26 #endif
27
28 #include <string.h>
29-
30+#include <unistd.h>
31 #include "vesa.h"
32
33 /* All drivers initialising the SW cursor need this */
34@@ -450,7 +450,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
35 intptr_t match_data)
36 {
37 ScrnInfoPtr pScrn;
38-
39+
40+#ifdef __linux__
41+ if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0) {
42+ ErrorF("vesa: Refusing to run on UEFI\n");
43+ return FALSE;
44+ }
45+#endif
46+
47 pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
48 NULL, NULL, NULL, NULL, NULL);
49 if (pScrn != NULL) {
50--
512.20.1
52