Re: U-Boot interferes with initrd binary — Revert "efi: Correct smbios-table installation" ?

Christian Kohlschütter christian at kohlschutter.com
Thu Apr 3 14:46:30 CEST 2025


Hi Simon,

> On 1. Apr 2025, at 17:51, Simon Glass <sjg at chromium.org> wrote:
>> 
>> but I don't know precisely what these various functions are supposed to
>> do, and I can't find any path that leads from any of these to eth_halt().
>> 
>> Is it possible that U-Boot is failing to call eth_halt() in response to
>> ExitBootServices(), and is therefore leaving the network device active
>> and performing DMA while the kernel starts up?
> 
> The dm_remove_devices_active() is supposed to handle this, but it is
> possible that one of the drivers lacks a remove() method.

for what it's worth, this is happening on both ODROID N2+ (meson8b-dwmac) as well as NanoPI R4S (rk_gmac-dwmac).

I also don't understand why reverting 06ef8089f876b6dabf56caba31a05c003f03c629 "fixes" this behavior. Does it mean that any memalign / malloc may cause this?
Also, how can this failure mode be detected and prevented in code?

I really don't fancy the thought of remote code injection into Linux initrd by spoofing Ethernet packages, but it really looks like a possibility.

Thanks,
Christian



More information about the U-Boot mailing list