[syslinux] [PATCH] EFI booting may hang indefinitely when no keyboard is present

Ady ady-sf at hotmail.com
Sat Aug 15 05:31:01 PDT 2015


> EFI booting may hang indefinitely when no keyboard is present on a 
> machine (or when UEFI has chosen to not init USB due to fast boot). 
> Reproducible at least with "EFI v2.31 by American Megatrends" on an 
> Asrock H81M-ITX board.
> 
> Reason is the input draining loop near the end in efi/main.c; it calls 
> ReadKeyStroke() as long as EFI_NOT_READY is not returned. On machines 
> without keyboard, EFI_DEVICE_ERROR may be returned instead, causing 
> infinite looping. Positively checking for EFI_SUCCESS keeps the intent 
> while avoiding this behavior.
> 
> Patch is against 6.03; the issue is still present in 6.04 as per 
> e466d2498604c8eea055a8e98284d65311073b39
> 
> Best Regards,
> Olli
 
Thank you for sharing patch.

I assume this patch was tested on systems with no keyboard connected.

I wonder whether it was (also) tested on systems that do have a 
keyboard connected. Among such systems, we could mention different 
types of connections (not just USB), and even those with a KVM switch 
(not to be confused with Kernel-based Virtual Machine).

In addition to being able to boot Syslinux in all those systems, I also 
wonder whether this patch could affect any of the special keys and 
their related directives' behavior (and if so, hopefully for good?). I 
am referring mainly to:
 http://www.syslinux.org/wiki/index.php/Directives/special_keys 

TIA,
Ady.


More information about the Syslinux mailing list