efidev: remove EFIIOC_GET_TABLE ioctl

This ioctl would instantly induce a panic, likely since near inception, up
until 0861c7d3e0. 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
This commit is contained in:
Kyle Evans 2021-01-07 15:51:18 -06:00
parent 40903394bf
commit 9be9771c87
2 changed files with 0 additions and 15 deletions

View File

@ -53,14 +53,6 @@ efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr,
int error; int error;
switch (cmd) { 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: case EFIIOC_GET_TIME:
{ {
struct efi_tm *tm = (struct efi_tm *)addr; struct efi_tm *tm = (struct efi_tm *)addr;

View File

@ -32,12 +32,6 @@
#include <sys/uuid.h> #include <sys/uuid.h>
#include <sys/efi.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 struct efi_var_ioc
{ {
efi_char *name; /* User pointer to name, in wide chars */ 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 */ 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_GET_TIME _IOR('E', 2, struct efi_tm)
#define EFIIOC_SET_TIME _IOW('E', 3, struct efi_tm) #define EFIIOC_SET_TIME _IOW('E', 3, struct efi_tm)
#define EFIIOC_VAR_GET _IOWR('E', 4, struct efi_var_ioc) #define EFIIOC_VAR_GET _IOWR('E', 4, struct efi_var_ioc)