git: 9be9771c8752 - main - efidev: remove EFIIOC_GET_TABLE ioctl
Kyle Evans
kevans at FreeBSD.org
Fri Jan 8 16:43:22 UTC 2021
The branch main has been updated by kevans:
URL: https://cgit.FreeBSD.org/src/commit/?id=9be9771c875259b9c99414feb3833c5af03baa8b
commit 9be9771c875259b9c99414feb3833c5af03baa8b
Author: Kyle Evans <kevans at FreeBSD.org>
AuthorDate: 2021-01-07 21:51:18 +0000
Commit: Kyle Evans <kevans at 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)
More information about the dev-commits-src-main
mailing list