Date: Fri, 8 Jan 2021 16:43:22 GMT From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 9be9771c8752 - main - efidev: remove EFIIOC_GET_TABLE ioctl Message-ID: <202101081643.108GhMvn014146@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=9be9771c875259b9c99414feb3833c5af03baa8b commit 9be9771c875259b9c99414feb3833c5af03baa8b Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2021-01-07 21:51:18 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2021-01-08 16:41:50 +0000 efidev: remove EFIIOC_GET_TABLE ioctl This ioctl would instantly induce a panic, likely since near inception, up until 0861c7d3e048. Lack of previous interest in fixing it combined with the problematic interface (exports a pointer, really a physical address) brings us to the natural conclusion: remove it until a useful consumer forward. If it eventually gets resurrected, the interface should definitely not return in this exact form and likely needs to be reimagined. The associated KPI, efi_get_table, is left intact for the time being. Reviewed by: imp, jrtc27 Also discussed with: brooks, jhb Differential Revision: https://reviews.freebsd.org/D28030 --- sys/dev/efidev/efidev.c | 8 -------- sys/sys/efiio.h | 7 ------- 2 files changed, 15 deletions(-) diff --git a/sys/dev/efidev/efidev.c b/sys/dev/efidev/efidev.c index b585db4f0117..303b10c1d0ba 100644 --- a/sys/dev/efidev/efidev.c +++ b/sys/dev/efidev/efidev.c @@ -53,14 +53,6 @@ efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr, int error; switch (cmd) { - case EFIIOC_GET_TABLE: - { - struct efi_get_table_ioc *egtioc = - (struct efi_get_table_ioc *)addr; - - error = efi_get_table(&egtioc->uuid, &egtioc->ptr); - break; - } case EFIIOC_GET_TIME: { struct efi_tm *tm = (struct efi_tm *)addr; diff --git a/sys/sys/efiio.h b/sys/sys/efiio.h index 87fed9c3afd8..e5a0763536a3 100644 --- a/sys/sys/efiio.h +++ b/sys/sys/efiio.h @@ -32,12 +32,6 @@ #include <sys/uuid.h> #include <sys/efi.h> -struct efi_get_table_ioc -{ - struct uuid uuid; /* UUID to look up */ - void *ptr; /* Pointer to table in KVA space */ -}; - struct efi_var_ioc { efi_char *name; /* User pointer to name, in wide chars */ @@ -48,7 +42,6 @@ struct efi_var_ioc size_t datasize; /* Number of *bytes* in the data */ }; -#define EFIIOC_GET_TABLE _IOWR('E', 1, struct efi_get_table_ioc) #define EFIIOC_GET_TIME _IOR('E', 2, struct efi_tm) #define EFIIOC_SET_TIME _IOW('E', 3, struct efi_tm) #define EFIIOC_VAR_GET _IOWR('E', 4, struct efi_var_ioc)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101081643.108GhMvn014146>