bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #30452] [PATCH] Correctly set RSDT OEM table ID


From: Luca Barbieri
Subject: [bug #30452] [PATCH] Correctly set RSDT OEM table ID
Date: Thu, 15 Jul 2010 14:20:55 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6 GTB7.1

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]