Accepting request 635552 from Base:System
OBS-URL: https://build.opensuse.org/request/show/635552 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/grub2?expand=0&rev=193
This commit is contained in:
parent
474cf2dba5
commit
1c78e55605
36
0001-ofnet-Initialize-structs-in-bootpath-parser.patch
Normal file
36
0001-ofnet-Initialize-structs-in-bootpath-parser.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From ddd47864e98cb32a718075bab4462dc56919ec6c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Julian Andres Klode <julian.klode@canonical.com>
|
||||||
|
Date: Mon, 3 Sep 2018 10:09:15 +0200
|
||||||
|
Subject: [PATCH] ofnet: Initialize structs in bootpath parser
|
||||||
|
|
||||||
|
Code later on checks if variables inside the struct are
|
||||||
|
0 to see if they have been set, like if there were addresses
|
||||||
|
in the bootpath.
|
||||||
|
|
||||||
|
The variables were not initialized however, so the check
|
||||||
|
might succeed with uninitialized data, and a new interface
|
||||||
|
with random addresses and the same name is added. This causes
|
||||||
|
$net_default_mac to point to the random one, so, for example,
|
||||||
|
using that variable to load per-mac config files fails.
|
||||||
|
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1785859
|
||||||
|
Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
|
||||||
|
---
|
||||||
|
grub-core/net/drivers/ieee1275/ofnet.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: grub-2.02/grub-core/net/drivers/ieee1275/ofnet.c
|
||||||
|
===================================================================
|
||||||
|
--- grub-2.02.orig/grub-core/net/drivers/ieee1275/ofnet.c
|
||||||
|
+++ grub-2.02/grub-core/net/drivers/ieee1275/ofnet.c
|
||||||
|
@@ -153,8 +153,8 @@ grub_ieee1275_parse_bootpath (const char
|
||||||
|
char *comma_char = 0;
|
||||||
|
char *equal_char = 0;
|
||||||
|
grub_size_t field_counter = 0;
|
||||||
|
- grub_net_network_level_address_t client_addr, gateway_addr, subnet_mask;
|
||||||
|
- grub_net_link_level_address_t hw_addr;
|
||||||
|
+ grub_net_network_level_address_t client_addr = {}, gateway_addr = {}, subnet_mask = {};
|
||||||
|
+ grub_net_link_level_address_t hw_addr = {};
|
||||||
|
grub_net_interface_flags_t flags = 0;
|
||||||
|
struct grub_net_network_level_interface *inter = NULL;
|
||||||
|
grub_uint32_t vlantag = 0;
|
@ -1,3 +1,11 @@
|
|||||||
|
v1:
|
||||||
|
References: bsc#1063443
|
||||||
|
|
||||||
|
v2:
|
||||||
|
References: bsc#1106381
|
||||||
|
Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus
|
||||||
|
return code handling.
|
||||||
|
|
||||||
Index: grub-2.02/grub-core/fs/btrfs.c
|
Index: grub-2.02/grub-core/fs/btrfs.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- grub-2.02.orig/grub-core/fs/btrfs.c
|
--- grub-2.02.orig/grub-core/fs/btrfs.c
|
||||||
@ -35,7 +43,17 @@ Index: grub-2.02/grub-core/fs/btrfs.c
|
|||||||
dev = grub_device_open (devname);
|
dev = grub_device_open (devname);
|
||||||
grub_free (devname);
|
grub_free (devname);
|
||||||
if (!dev)
|
if (!dev)
|
||||||
@@ -2655,12 +2641,43 @@ grub_cmd_btrfs_get_default_subvol (struc
|
@@ -2625,8 +2611,7 @@ grub_cmd_btrfs_get_default_subvol (struc
|
||||||
|
{
|
||||||
|
grub_device_close (dev);
|
||||||
|
grub_dprintf ("btrfs", "failed to open fs\n");
|
||||||
|
- grub_errno = GRUB_ERR_NONE;
|
||||||
|
- return 0;
|
||||||
|
+ return grub_errno;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = grub_btrfs_get_default_subvolume_id (data, &subvolid);
|
||||||
|
@@ -2655,12 +2640,47 @@ grub_cmd_btrfs_get_default_subvol (struc
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,12 +94,16 @@ Index: grub-2.02/grub-core/fs/btrfs.c
|
|||||||
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, "device name required");
|
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, "device name required");
|
||||||
+
|
+
|
||||||
+ if ((err = grub_btrfs_get_default_subvol (argv[0], &subvolid, &subvol)) != GRUB_ERR_NONE)
|
+ if ((err = grub_btrfs_get_default_subvol (argv[0], &subvolid, &subvol)) != GRUB_ERR_NONE)
|
||||||
+ return err;
|
+ {
|
||||||
|
+ if (err == GRUB_ERR_BAD_FS)
|
||||||
|
+ err = grub_errno = GRUB_ERR_NONE;
|
||||||
|
+ return err;
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
if (num_only && path_only)
|
if (num_only && path_only)
|
||||||
output = grub_xasprintf ("%"PRIuGRUB_UINT64_T" /%s", subvolid, subvol);
|
output = grub_xasprintf ("%"PRIuGRUB_UINT64_T" /%s", subvolid, subvol);
|
||||||
else if (num_only)
|
else if (num_only)
|
||||||
@@ -2676,9 +2693,6 @@ grub_cmd_btrfs_get_default_subvol (struc
|
@@ -2676,9 +2696,6 @@ grub_cmd_btrfs_get_default_subvol (struc
|
||||||
grub_free (output);
|
grub_free (output);
|
||||||
grub_free (subvol);
|
grub_free (subvol);
|
||||||
|
|
||||||
@ -91,7 +113,7 @@ Index: grub-2.02/grub-core/fs/btrfs.c
|
|||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2757,6 +2771,122 @@ subvol_get_env (struct grub_env_var *var
|
@@ -2757,6 +2774,122 @@ subvol_get_env (struct grub_env_var *var
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,7 +236,7 @@ Index: grub-2.02/grub-core/fs/btrfs.c
|
|||||||
GRUB_MOD_INIT (btrfs)
|
GRUB_MOD_INIT (btrfs)
|
||||||
{
|
{
|
||||||
grub_fs_register (&grub_btrfs_fs);
|
grub_fs_register (&grub_btrfs_fs);
|
||||||
@@ -2780,6 +2910,8 @@ GRUB_MOD_INIT (btrfs)
|
@@ -2780,6 +2913,8 @@ GRUB_MOD_INIT (btrfs)
|
||||||
subvol_set_env);
|
subvol_set_env);
|
||||||
grub_register_variable_hook ("btrfs_subvolid", subvolid_get_env,
|
grub_register_variable_hook ("btrfs_subvolid", subvolid_get_env,
|
||||||
subvolid_set_env);
|
subvolid_set_env);
|
||||||
@ -223,7 +245,7 @@ Index: grub-2.02/grub-core/fs/btrfs.c
|
|||||||
grub_env_export ("btrfs_subvol");
|
grub_env_export ("btrfs_subvol");
|
||||||
grub_env_export ("btrfs_subvolid");
|
grub_env_export ("btrfs_subvolid");
|
||||||
grub_env_export ("btrfs_relative_path");
|
grub_env_export ("btrfs_relative_path");
|
||||||
@@ -2789,6 +2921,7 @@ GRUB_MOD_FINI (btrfs)
|
@@ -2789,6 +2924,7 @@ GRUB_MOD_FINI (btrfs)
|
||||||
{
|
{
|
||||||
grub_register_variable_hook ("btrfs_subvol", NULL, NULL);
|
grub_register_variable_hook ("btrfs_subvol", NULL, NULL);
|
||||||
grub_register_variable_hook ("btrfs_subvolid", NULL, NULL);
|
grub_register_variable_hook ("btrfs_subvolid", NULL, NULL);
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 13 08:38:01 UTC 2018 - mchang@suse.com
|
||||||
|
|
||||||
|
- Fix broken network interface with random address and same name (bsc#1084508)
|
||||||
|
* 0001-ofnet-Initialize-structs-in-bootpath-parser.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 31 10:06:56 UTC 2018 - mchang@suse.com
|
||||||
|
|
||||||
|
- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus
|
||||||
|
return code handling. (bsc#1106381)
|
||||||
|
* modified grub2-btrfs-10-config-directory.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Aug 23 08:37:15 UTC 2018 - mchang@suse.com
|
Thu Aug 23 08:37:15 UTC 2018 - mchang@suse.com
|
||||||
|
|
||||||
|
@ -257,6 +257,7 @@ Patch212: grub2-install-remove-useless-check-PReP-partition-is-empty.patch
|
|||||||
Patch213: grub2-Fix-incorrect-netmask-on-ppc64.patch
|
Patch213: grub2-Fix-incorrect-netmask-on-ppc64.patch
|
||||||
Patch214: grub2-ieee1275-open-raw-mode.patch
|
Patch214: grub2-ieee1275-open-raw-mode.patch
|
||||||
Patch215: grub2-ppc64-cas-new-scope.patch
|
Patch215: grub2-ppc64-cas-new-scope.patch
|
||||||
|
Patch216: 0001-ofnet-Initialize-structs-in-bootpath-parser.patch
|
||||||
Patch233: grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch
|
Patch233: grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch
|
||||||
Patch234: fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch
|
Patch234: fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch
|
||||||
Patch236: grub2-efi_gop-avoid-low-resolution.patch
|
Patch236: grub2-efi_gop-avoid-low-resolution.patch
|
||||||
@ -546,6 +547,7 @@ swap partition while in resuming
|
|||||||
%patch213 -p1
|
%patch213 -p1
|
||||||
%patch214 -p1
|
%patch214 -p1
|
||||||
%patch215 -p1
|
%patch215 -p1
|
||||||
|
%patch216 -p1
|
||||||
%patch233 -p1
|
%patch233 -p1
|
||||||
%patch234 -p1
|
%patch234 -p1
|
||||||
%patch236 -p1
|
%patch236 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user