linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lukas Wunner <lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
To: Matt Fleming <matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Ard Biesheuvel
	<ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH 0/2] Honey, I shrunk the EFI stub
Date: Mon, 14 Nov 2016 16:32:31 +0100	[thread overview]
Message-ID: <20161114153231.GB10141@wunner.de> (raw)
In-Reply-To: <20161114111906.GA9938-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>

On Mon, Nov 14, 2016 at 12:19:06PM +0100, Lukas Wunner wrote:
> On Sat, Nov 12, 2016 at 08:55:14PM +0000, Matt Fleming wrote:
> > On Mon, 07 Nov, at 12:17:00PM, Lukas Wunner wrote:
> > > Another oddity is that info_sz is declared u32 in __file_size32(),
> > > yet the spec says that the third argument to EFI_FILE_PROTOCOL.GetInfo()
> > > is of type UINTN, which I assume is 64 bit regardless of mixed-mode,
> > > or am I missing something?  Patch [1/2] uses an unsigned long instead.
> > 
> > UINTN is an unsigned value of native width as seen by the firmware. On
> > 32-bit firmware that's 32-bits and 64-bit firmware 64-bits.
> > 
> > Using 'u32' in __file_size32() is correct, unsigned long is not.
> 
> Okay since this is all little endian, it should be okay to have a
> 64 bit wide variable on the stack whose address is passed to GetInfo()
> as BufferSize argument.  But I guess I need to initialize it to 0
> upon declaration so that the upper 32 bit are zeroed out in mixed mode,
> right?  That would be a bug in patch [1/2] then.

Oh the info_sz variable *is* already initialized to 0 before the first
invocation of GetInfo().  So the patch should be fine, reviewed it
once more with the explanations in mind that you provided and couldn't
see anything else that would cause issues in mixed-mode.

Thanks,

Lukas

  parent reply	other threads:[~2016-11-14 15:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-07 11:17 [PATCH 0/2] Honey, I shrunk the EFI stub Lukas Wunner
     [not found] ` <cover.1478510356.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2016-11-07 11:17   ` [PATCH 1/2] efi: Deduplicate efi_file_size() / _read() / _close() Lukas Wunner
2016-11-07 11:17   ` [PATCH 2/2] x86/efi: Deduplicate efi_char16_printk() Lukas Wunner
2016-11-12 20:55   ` [PATCH 0/2] Honey, I shrunk the EFI stub Matt Fleming
     [not found]     ` <20161112205514.GA2373-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-11-14 11:19       ` Lukas Wunner
     [not found]         ` <20161114111906.GA9938-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2016-11-14 15:32           ` Lukas Wunner [this message]
     [not found]             ` <20161114153231.GB10141-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2016-12-04 14:13               ` 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=20161114153231.GB10141@wunner.de \
    --to=lukas-jfq808j9c/izqb+pc5nmwq@public.gmane.org \
    --cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@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).