summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0011-Fix-for-RedudancyPriority-in-item_updater.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0011-Fix-for-RedudancyPriority-in-item_updater.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0011-Fix-for-RedudancyPriority-in-item_updater.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0011-Fix-for-RedudancyPriority-in-item_updater.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0011-Fix-for-RedudancyPriority-in-item_updater.patch
new file mode 100644
index 000000000..4c8f82aa3
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0011-Fix-for-RedudancyPriority-in-item_updater.patch
@@ -0,0 +1,38 @@
+From 0babf82f51561ac92a9b0dd56991d8de01930129 Mon Sep 17 00:00:00 2001
+From: Vikram Bodireddy <vikram.bodireddy@intel.com>
+Date: Sun, 5 Jul 2020 00:54:57 +0530
+Subject: [PATCH] Fix for RedudancyPriority in item_updater
+
+This fixes accessing RedudancyPriority property for the
+activated image in item_updater. The downloaded image object
+is not actually associated with RedudancyPriority before and
+after activation. There exists no RedundancyPriority property
+for downloaded image, accessing it causing a crash in
+item_updater.
+
+Tested: Tested for coredumps during Seamless firmware update.
+
+Signed-off-by: Vikram Bodireddy <vikram.bodireddy@intel.com>
+---
+ item_updater.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/item_updater.cpp b/item_updater.cpp
+index af01e39..8d7bb82 100644
+--- a/item_updater.cpp
++++ b/item_updater.cpp
+@@ -655,8 +655,9 @@ void ItemUpdater::freeSpace(Activation& caller)
+ // Failed activations don't have priority, assign them a large value
+ // for sorting purposes.
+ auto priority = 999;
+- if (iter.second.get()->activation() ==
+- server::Activation::Activations::Active)
++ if ((iter.second.get()->activation() ==
++ server::Activation::Activations::Active)&&
++ iter.second->redundancyPriority.get())
+ {
+ priority = iter.second->redundancyPriority.get()->priority();
+ }
+--
+2.17.1
+