Simon Glass 741d1e9d3f bootstd: Avoid freeing a non-allocated buffer
EFI applications can be very large and thus used to cause boot failures
when malloc() space was exhausted.

A recent changed fixed this by using the kernel_addr_r environment var
as the address of the buffer. However, it still frees the buffer when
the bootflow is discarded.

Fix this by introducing a flag to indicate whether the buffer was
allocated, or not.

Note that kernel_addr_r is not the last word here. It might be better
to use lmb to place images. But there is a lot of refactoring to do
before we can remove the environment variables. The distro scripts rely
on them so it is safe for bootstd to do so too.

Fixes: 6a8c2f9781c bootstd: Avoid allocating memory for the EFI file

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported by: Simon Glass <sjg@chromium.org>
Reported by: Shantur Rathore <i@shantur.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Shantur Rathore <i@shantur.com>
2023-11-17 11:58:26 -05:00
..
2023-10-11 15:43:55 -04:00
2021-11-11 19:01:56 -05:00
2023-11-14 20:04:00 -07:00
2022-01-19 18:11:34 +01:00
2023-09-19 11:36:25 -04:00
2021-11-11 19:01:56 -05:00
2021-11-11 19:01:56 -05:00
2023-10-27 13:15:57 +03:00
2023-10-11 15:43:55 -04:00
2022-08-26 16:32:59 -06:00