diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2020-02-10 17:02:44 +0100 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2020-02-23 21:57:15 +0100 |
commit | 9302c1bb8e475829330146423626c3d32e8cb012 (patch) | |
tree | c6f3de4bf5ee990bdbb2b86cff6579b74a429f34 /Documentation/vm/memory-model.rst | |
parent | 5193a33d78ce8b4fdf880a754700bce21b3756b5 (diff) |
efi/libstub: Rewrite file I/O routine
The file I/O routine that is used to load initrd or dtb files from
the EFI system partition suffers from a few issues:
- it converts the u8[] command line back to a UTF-16 string, which is
pointless since we only handle initrd or dtb arguments provided via
the loaded image protocol anyway, which is where we got the UTF-16[]
command line from in the first place when booting via the PE entry
point,
- in the far majority of cases, only a single initrd= option is present,
but it optimizes for multiple options, by going over the command line
twice, allocating heap buffers for dynamically sized arrays, etc.
- the coding style is hard to follow, with few comments, and all logic
including string parsing etc all combined in a single routine.
Let's fix this by rewriting most of it, based on the idea that in the
case of multiple initrds, we can just allocate a new, bigger buffer
and copy over the data before freeing the old one.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'Documentation/vm/memory-model.rst')
0 files changed, 0 insertions, 0 deletions