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;
|
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;
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user