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:
parent
40903394bf
commit
9be9771c87
@ -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;
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user