Thread (69 messages) 69 messages, 6 authors, 2013-09-02

[PATCH 12/16] Fix types in EFI calls to match EFI function definitions.

From: Roy Franz <hidden>
Date: 2013-08-30 23:16:55
Also in: linux-efi, lkml

On Fri, Aug 30, 2013 at 4:14 PM, Grant Likely [off-list ref] wrote:
On Sat, Aug 31, 2013 at 12:12 AM, Roy Franz [off-list ref] wrote:
quoted
On Fri, Aug 30, 2013 at 6:39 AM, Grant Likely [off-list ref] wrote:
quoted
I think you need some description in the commit text about why the type
of chunksize is changing. It's not clear why you're making this change.
It is a bug fix?
The type was changed to match the EFI_FILE_PROTOCOL specification -
chunk size is
defined as a native width unsigned integer.  So yes, this is a bug in
that this is wrong for
ia32, since that really should be a u32 in that case.
Since the x86 wrappers break type checking by the compiler these types
were never checked at compile time
before.  chunksize is the the only change that isn't a cast to a type
of void pointer.

I can break this change out as a separate patch if desired.
I don't think it needs to be in a separate patch, but it does need to
be described in the patch description.

g.
Did that - how about:

Fix types in EFI calls to match EFI function definitions.

EFI calls can made directly on ARM, so the function pointers
are directly invoked.  This allows types to be checked at
compile time, so here we ensure that the parameters match
the function signature. The wrappers used by x86 prevent
any type checking.
Correct the type of chunksize to be based on native
width as specified by the EFI_FILE_PROTOCOL read()
function.

Signed-off-by: Roy Franz <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help