efi_loader: correct device path check
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 20 May 2019 19:55:18 +0000 (19:55 +0000)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 24 May 2019 16:58:13 +0000 (18:58 +0200)
commit20562893fab953a1409abbe3594446ebb79d81c6
tree7afeb426b68defa7e534af5f8d7b90cbb3e1da98
parentbb2b13d52877c06f798600c848ddf1eb750ba85f
efi_loader: correct device path check

Since commit 226cddbe32f0 ("efi_loader: check device path in
InstallMultipleProtocolInterfaces") iPXE fails to access the network.

LocateDevicePath() returns EFI_SUCCESS even if a shorter path is found as a
partial match. It returns the remaining path. So to be sure that we found a
complete match we need to check that the remaining path refers to an end
node.

Provide debug output if a device path has already been installed.

Fixes: 226cddbe32f0 ("efi_loader: check device path in
       InstallMultipleProtocolInterfaces")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_boottime.c