[PATCH 0/5] efivars compat support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Matt Fleming <matt.fleming@xxxxxxxxx>

Apparently people are running 32-bit userland on top of 64-bit kernels
and wanting to interact with efivars. At the moment this doesn't work
all too well because 'struct efi_variable' (the data blob passed between
userland and kernel) contains unsigned long data items, leading to
incompatibilities and tears.

We can fix this up fairly trivially in the kernel by using
is_compat_task() and doing a small amount of data munging.

Matt Fleming (5):
  efivars: Use local variables instead of a pointer dereference
  efivars: Check size of user object
  efivars: Stop passing a struct argument to efivar_validate()
  efivars: Refactor sanity checking code into separate function
  efivars: Add compatibility code for compat tasks

 drivers/firmware/efi/efivars.c | 192 ++++++++++++++++++++++++++++++++++-------
 drivers/firmware/efi/vars.c    |  30 +++----
 include/linux/efi.h            |   6 +-
 3 files changed, 181 insertions(+), 47 deletions(-)

-- 
1.8.5.3

--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux