Hello!

multiboot_mbi.c contains code for filling multiboot info struct with APM data. 
But pointer to this data and appropriate flag are missed so payload thinks no 
APM info is passed.

The following diff contains bug fix:

diff --git a/grub-core/loader/i386/multiboot_mbi.c 
b/grub-core/loader/i386/multiboot_mbi.c
index dc98dbc..6797e1f 100644
--- a/grub-core/loader/i386/multiboot_mbi.c
+++ b/grub-core/loader/i386/multiboot_mbi.c
@@ -499,6 +499,9 @@ grub_multiboot_make_mbi (grub_uint32_t *target)
     struct grub_apm_info info;
     if (grub_apm_get_info (&info))
       {
+       mbi->flags |= MULTIBOOT_INFO_APM_TABLE;
+       mbi->apm_table = ptrdest;
+
        struct multiboot_apm_info *mbinfo = (void *) ptrorig;

        mbinfo->cseg = info.cseg;

-- 
With Best regards, Vladimir Andreev

_______________________________________________
Bug-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-grub

Reply via email to