menu: add support for client defined statusline function
authorThirupathaiah Annapureddy <thiruan@linux.microsoft.com>
Wed, 18 Mar 2020 18:38:42 +0000 (11:38 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 7 May 2020 13:01:42 +0000 (09:01 -0400)
commit5168d7a6264be30f82c1c074e43c24fcacbb4283
treeb89bafeea8ed15b1403edf892964adaa5003255d
parentfdf0819afb5b7a8757ba1b4fdfe14f3767ab7e87
menu: add support for client defined statusline function

Currently displaying status line is done in a weak function
menu_display_statusline().

bootmenu.c overrides the weak default function.
It calls menu_default_choice() and interprets the data as
struct bootmenu_entry.

pxe boot also uses common menu code for pxe menus.
If there is a system that enables both bootmenu and pxe,
menu_display_statusline() defined in bootmenu.c will be called
and it will interpret struct pxe_label as struct bootmenu_entry.
This leads to data aborts and pxe menu corruptions.

This patch adds support for client defined statusline function
to resolve the above bug.

Signed-off-by: Thirupathaiah Annapureddy <thiruan@linux.microsoft.com>
cmd/bootmenu.c
cmd/pxe_utils.c
common/menu.c
include/menu.h