linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matt Fleming <matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
To: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Matt Fleming
	<matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: [PATCH 0/5] efivars compat support
Date: Wed, 19 Mar 2014 19:59:55 +0000	[thread overview]
Message-ID: <1395259200-27732-1-git-send-email-matt@console-pimps.org> (raw)

From: Matt Fleming <matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

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

             reply	other threads:[~2014-03-19 19:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 19:59 Matt Fleming [this message]
     [not found] ` <1395259200-27732-1-git-send-email-matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-03-19 19:59   ` [PATCH 1/5] efivars: Use local variables instead of a pointer dereference Matt Fleming
2014-03-19 19:59 ` [PATCH 2/5] efivars: Check size of user object Matt Fleming
2014-03-19 19:59 ` [PATCH 3/5] efivars: Stop passing a struct argument to efivar_validate() Matt Fleming
2014-03-19 19:59 ` [PATCH 4/5] efivars: Refactor sanity checking code into separate function Matt Fleming
2014-03-19 20:00 ` [PATCH 5/5] efivars: Add compatibility code for compat tasks Matt Fleming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1395259200-27732-1-git-send-email-matt@console-pimps.org \
    --to=matt-hnk1s37rvnbexh+ff434mdi2o/jbrioy@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).