URL:
  <http://savannah.gnu.org/bugs/?30452>

                 Summary: [PATCH] Correctly set RSDT OEM table ID
                 Project: GNU GRUB
            Submitted by: luca_barbieri
            Submitted on: Thu 15 Jul 2010 02:20:54 PM GMT
                Category: Booting
                Severity: Major
                Priority: 5 - Normal
              Item Group: Software Error
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 
                 Release: Bazaar - trunk
         Reproducibility: Every Time
         Planned Release: None

    _______________________________________________________

Details:

Currently GRUB only sets the first 4 characters of the RSDT OEM table ID,
which is 8 characters long.

This means that loadyng a new table will corrupt the RSDT OEM table ID,
potentially leading to serious problems.

This patch trivially fixes this. It is released to the public domain.

---
 commands/acpi.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/commands/acpi.c b/commands/acpi.c
index 9cfd8ef..2fbe6c1 100644
--- a/commands/acpi.c
+++ b/commands/acpi.c
@@ -358,7 +358,7 @@ setup_common_tables (void)
   rsdt->length = sizeof (struct grub_acpi_table_header) + 4 * numoftables;
   rsdt->revision = 1;
   grub_memcpy (&(rsdt->oemid), root_oemid, 6);
-  grub_memcpy (&(rsdt->oemtable), root_oemtable, 4);
+  grub_memcpy (&(rsdt->oemtable), root_oemtable, 8);
   rsdt->oemrev = root_oemrev;
   grub_memcpy (&(rsdt->creator_id), root_creator_id, 6);
   rsdt->creator_rev = root_creator_rev;
-- 
1.7.0.4





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?30452>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


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

Reply via email to