Hello community,

here is the log from the commit of package grub2 for openSUSE:Factory checked 
in at 2013-04-05 07:44:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
 and      /work/SRC/openSUSE:Factory/.grub2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "grub2", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes      2013-04-02 
11:49:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2013-04-05 
07:44:44.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Apr  3 06:55:52 UTC 2013 - [email protected]
+
+- refresh grub2-secureboot-chainloader.patch: Fix wrongly aligned
+  buffer address (bnc#811608) 
+
+-------------------------------------------------------------------
@@ -13,0 +20,5 @@
+
+-------------------------------------------------------------------
+Sat Mar 23 18:31:07 UTC 2013 - [email protected]
+
+- corretly set chainloaded image device handle in secure boot mode (bnc#809038)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.zeQKm8/_old  2013-04-05 07:44:51.000000000 +0200
+++ /var/tmp/diff_new_pack.zeQKm8/_new  2013-04-05 07:44:51.000000000 +0200
@@ -47,8 +47,8 @@
 BuildRequires:  xz-devel
 %ifarch x86_64
 %if 0%{?suse_version} >= 1230 || 0%{?suse_version} == 1110
-BuildRequires:  pesign-obs-integration
 BuildRequires:  openssl >= 0.9.8
+BuildRequires:  pesign-obs-integration
 %endif
 %endif
 

++++++ grub2-secureboot-chainloader.patch ++++++
--- /var/tmp/diff_new_pack.zeQKm8/_old  2013-04-05 07:44:51.000000000 +0200
+++ /var/tmp/diff_new_pack.zeQKm8/_new  2013-04-05 07:44:51.000000000 +0200
@@ -21,11 +21,11 @@
  grub-core/loader/efi/chainloader.c |  538 +++++++++++++++++++++++++++++++++--
  1 files changed, 507 insertions(+), 31 deletions(-)
 
-diff --git a/grub-core/loader/efi/chainloader.c 
b/grub-core/loader/efi/chainloader.c
-index 3f3e6e3..12e1aff 100644
---- a/grub-core/loader/efi/chainloader.c
-+++ b/grub-core/loader/efi/chainloader.c
-@@ -36,15 +36,30 @@
+Index: grub-2.00/grub-core/loader/efi/chainloader.c
+===================================================================
+--- grub-2.00.orig/grub-core/loader/efi/chainloader.c
++++ grub-2.00/grub-core/loader/efi/chainloader.c
+@@ -36,15 +36,31 @@
  #include <grub/i18n.h>
  #include <grub/net.h>
  
@@ -48,6 +48,7 @@
  static grub_efi_handle_t image_handle;
  static grub_efi_char16_t *cmdline;
 +static grub_ssize_t cmdline_len;
++static grub_efi_handle_t dev_handle;
 +
 +#ifdef SUPPORT_SECURE_BOOT
 +static grub_efi_boolean_t debug_secureboot = 0;
@@ -56,7 +57,15 @@
  
  static grub_err_t
  grub_chainloader_unload (void)
-@@ -186,12 +201,458 @@ make_file_path (grub_efi_device_path_t *dp, const char 
*filename)
+@@ -59,6 +75,7 @@ grub_chainloader_unload (void)
+   grub_free (cmdline);
+   cmdline = 0;
+   file_path = 0;
++  dev_handle = 0;
+ 
+   grub_dl_unref (my_mod);
+   return GRUB_ERR_NONE;
+@@ -186,19 +203,466 @@ make_file_path (grub_efi_device_path_t *
    return file_path;
  }
  
@@ -397,7 +406,7 @@
 +      goto error_exit;
 +    }
 +
-+  buffer_aligned = (char *)ALIGN_DOWN ((grub_addr_t)buffer, 
section_alignment);
++  buffer_aligned = (char *)ALIGN_UP ((grub_addr_t)buffer, section_alignment);
 +
 +  grub_memcpy (buffer_aligned, data, context.size_of_headers);
 +
@@ -456,6 +465,7 @@
 +  li->load_options = cmdline;
 +  li->load_options_size = cmdline_len;
 +  li->file_path = grub_efi_get_media_file_path (file_path);
++  li->device_handle = dev_handle;
 +  if (li->file_path)
 +    {
 +      grub_printf ("file path: ");
@@ -493,6 +503,7 @@
 +  grub_free (cmdline);
 +  cmdline = 0;
 +  file_path = 0;
++  dev_handle = 0;
 +
 +  grub_dl_unref (my_mod);
 +  return GRUB_ERR_NONE;
@@ -516,7 +527,18 @@
    grub_efi_status_t status;
    grub_efi_boot_services_t *b;
    grub_device_t dev = 0;
-@@ -213,6 +674,32 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ 
((unused)),
+   grub_efi_device_path_t *dp = 0;
+   grub_efi_loaded_image_t *loaded_image;
+   char *filename;
+-  grub_efi_handle_t dev_handle = 0;
+ 
+   if (argc == 0)
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
+@@ -210,9 +674,36 @@ grub_cmd_chainloader (grub_command_t cmd
+   address = 0;
+   image_handle = 0;
+   file_path = 0;
++  dev_handle = 0;
  
    b = grub_efi_system_table->boot_services;
  
@@ -549,7 +571,7 @@
    file = grub_file_open (filename);
    if (! file)
      goto fail;
-@@ -258,14 +745,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ 
((unused)),
+@@ -258,14 +749,14 @@ grub_cmd_chainloader (grub_command_t cmd
    grub_printf ("file path: ");
    grub_efi_print_device_path (file_path);
  
@@ -567,7 +589,7 @@
  
    status = efi_call_4 (b->allocate_pages, GRUB_EFI_ALLOCATE_ANY_PAGES,
                              GRUB_EFI_LOADER_CODE,
-@@ -278,7 +765,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ 
((unused)),
+@@ -278,7 +769,7 @@ grub_cmd_chainloader (grub_command_t cmd
        goto fail;
      }
  
@@ -576,7 +598,7 @@
      {
        if (grub_errno == GRUB_ERR_NONE)
        grub_error (GRUB_ERR_BAD_OS, N_("premature end of file %s"),
-@@ -287,8 +774,17 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ 
((unused)),
+@@ -287,8 +778,17 @@ grub_cmd_chainloader (grub_command_t cmd
        goto fail;
      }
  
@@ -595,7 +617,7 @@
                          &image_handle);
    if (status != GRUB_EFI_SUCCESS)
      {
-@@ -313,33 +809,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ 
((unused)),
+@@ -313,33 +813,10 @@ grub_cmd_chainloader (grub_command_t cmd
  
    grub_file_close (file);
  
@@ -631,7 +653,7 @@
      }
  
    grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
-@@ -358,6 +831,9 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ 
((unused)),
+@@ -358,6 +835,9 @@ grub_cmd_chainloader (grub_command_t cmd
    if (address)
      efi_call_2 (b->free_pages, address, pages);
  
@@ -641,6 +663,3 @@
    grub_dl_unref (my_mod);
  
    return grub_errno;
--- 
-1.7.3.4
-

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to