Skip to content

Commit 1f4be67

Browse files
committed
Update to internal 1-0.91-151
Signed-off-by: P Dheeraj Srujan Kumar <[email protected]>
1 parent 0945170 commit 1f4be67

File tree

63 files changed

+4493
-107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+4493
-107
lines changed

meta-openbmc-mods/meta-ast2600/conf/machine/include/intel-ast2600.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ KERNEL_DEVICETREE = " \
44
${KMACHINE}-bmc-${COMPATIBLE_MACHINE}.dtb \
55
"
66
#KERNEL_DEVICETREE = "${KMACHINE}-ast2600-evb.dtb"
7+
UBOOT_MACHINE = "ast2600_openbmc_defconfig"
78

89
require conf/machine/include/ast2600.inc
910
require conf/machine/include/obmc-bsp-si-common.inc
@@ -13,7 +14,6 @@ TARGET_FPU = "hard"
1314

1415
PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-fw-utils-aspeed-sdk"
1516

16-
UBOOT_MACHINE = "ast2600_openbmc_defconfig"
1717
UBOOT_DEVICETREE = "ast2600-intel"
1818

1919
VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"

meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0012-IPMI-command-handler-implementation-in-uboot.patch

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ Subject: [PATCH] IPMI command handler implementation in uboot
55

66
IPMI command handler implementation in uBoot.
77
Implemented IPMI commands:
8-
1) Get Device ID
8+
1) Get Device ID with default Product ID=0
99
2) Get Self Test Result
1010

1111
Tested By:
1212
Ran the above IPMI command Via KCS channel
1313
and got proper response.
1414
- Get Device ID
1515
Req: ipmitool raw 6 1
16-
Res: 00 23 00 82 03 02 00 57 01 00 7b 00 00 00 00 00
16+
Res: 00 23 00 82 03 02 00 57 01 00 00 00 00 00 00 00
1717
- Get Self Test Results
1818
Req: ipmitool raw 6 4
1919
Res: 56 00
@@ -205,7 +205,7 @@ index 000000000000..04732846ac28
205205
+ /* Get Device ID */
206206
+ bool operation = 1; /* Firmware operation */
207207
+ u8 intel_mfg_id[3] = { 0x57, 0x01, 0x00 };
208-
+ u8 platform_id[2] = { 0x7B, 0x00 };
208+
+ u8 platform_id[2] = { 0x00, 0x00 };
209209
+ u8 aux_fw_rev[4] = { 0x00, 0x00, 0x00, 0x00 };
210210
+ struct get_dev_id *result = (struct get_dev_id *)res;
211211
+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
From 6a5cf930c34fe2ba29fa3361b07ae42e1e1a66d3 Mon Sep 17 00:00:00 2001
2+
From: AKSHAY RAVEENDRAN K <[email protected]>
3+
Date: Mon, 11 Apr 2022 12:24:33 +0000
4+
Subject: [PATCH] Enable WDT2 for causing reset in Kernel/u-boot hang
5+
6+
In the current implementation, WDT1 is enabled as the reset reason
7+
for u-boot/kernel hang recovery. This fix changes the watchdog timer from
8+
WDT1 to WDT2 for the u-boot/kernel hang or panic as WDT2 is expected
9+
here.
10+
11+
Along with this fix, panic time out value is changed from "-1" to "0" in
12+
kernel configuration file. Which will make the system remain in hang
13+
instead of rebooting immediately. This will allow WDT2 to complete the
14+
time out period and trigger the reset.
15+
16+
Tested:
17+
1. Triggered a kernel panic using "echo c > /proc/sysrq-trigger" command
18+
and confirmed the reset reason is WDT2 reset.
19+
2. After 3 kernel panics the BMC is booted to u-boot prompt
20+
3. The normal BMC resets(ipmitool raw 6 2) are caused by WDT1 only as
21+
expected.
22+
23+
Signed-off-by: AKSHAY RAVEENDRAN K <[email protected]>
24+
---
25+
arch/arm/dts/ast2600-intel.dts | 2 +-
26+
arch/arm/mach-aspeed/ast2600/platform.S | 11 +++++++----
27+
2 files changed, 8 insertions(+), 5 deletions(-)
28+
29+
diff --git a/arch/arm/dts/ast2600-intel.dts b/arch/arm/dts/ast2600-intel.dts
30+
index dba62fd254..b894be2a64 100644
31+
--- a/arch/arm/dts/ast2600-intel.dts
32+
+++ b/arch/arm/dts/ast2600-intel.dts
33+
@@ -98,7 +98,7 @@
34+
35+
&wdt1 {
36+
u-boot,dm-pre-reloc;
37+
- status = "okay";
38+
+ status = "disabled";
39+
};
40+
41+
&wdt2 {
42+
diff --git a/arch/arm/mach-aspeed/ast2600/platform.S b/arch/arm/mach-aspeed/ast2600/platform.S
43+
index cc1d6b7a61..967c255cd5 100644
44+
--- a/arch/arm/mach-aspeed/ast2600/platform.S
45+
+++ b/arch/arm/mach-aspeed/ast2600/platform.S
46+
@@ -78,6 +78,9 @@
47+
#define AST_WDT1_RESET_MASK2 (AST_WDT1_BASE + 0x020)
48+
49+
#define AST_WDT2_BASE 0x1E785040
50+
+#define AST_WDT2_RELOAD_VAL (AST_WDT2_BASE + 0x004)
51+
+#define AST_WDT2_RESTART_CTRL (AST_WDT2_BASE + 0x008)
52+
+#define AST_WDT2_CTRL (AST_WDT2_BASE + 0x00C)
53+
#define AST_WDT2_RESET_MASK1 (AST_WDT2_BASE + 0x01C)
54+
#define AST_WDT2_RESET_MASK2 (AST_WDT2_BASE + 0x020)
55+
56+
@@ -388,14 +391,14 @@ wait_lock:
57+
str r0, [r1]
58+
59+
#ifdef CONFIG_HW_WATCHDOG
60+
- /* Enable WDT1 to recover u-boot hang */
61+
- ldr r0, =AST_WDT1_RELOAD_VAL
62+
+ /* Enable WDT2 to recover u-boot hang */
63+
+ ldr r0, =AST_WDT2_RELOAD_VAL
64+
ldr r1, =0x00500000 @ ~5 seconds
65+
str r1, [r0]
66+
- ldr r0, =AST_WDT1_RESTART_CTRL
67+
+ ldr r0, =AST_WDT2_RESTART_CTRL
68+
ldr r1, =0x00004755
69+
str r1, [r0]
70+
- ldr r0, =AST_WDT1_CTRL
71+
+ ldr r0, =AST_WDT2_CTRL
72+
ldr r1, =0x00000013
73+
str r1, [r0]
74+
#endif
75+
--
76+
2.17.1
77+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
From 59dc87adc78cfcc2a4dba57a777c1c46ef6cd4d8 Mon Sep 17 00:00:00 2001
2+
From: AKSHAY RAVEENDRAN K <[email protected]>
3+
Date: Tue, 19 Apr 2022 06:25:32 +0000
4+
Subject: [PATCH] PFR- Skip counting WDT2 event when EXTRST# is set
5+
6+
when a kernel/u-boot panic or hang occurs the WDT2 will trigger a BMC
7+
reset and it will increase bootfailure count. If the bootfailure count
8+
is more than 3, the u-boot will abort the booting to BMC. This fix will
9+
remove the bootfailure count incrementing if PFR is provisioned as PFR
10+
CPLD will boot a recovery image anyway if the booting process is not
11+
working as expected and stopping in u-boot is not necessary.
12+
13+
Tested:
14+
triggered kernel panic 4 times and confirmed that boot process
15+
is not aborted at u-boot in PFR provisioned mode.
16+
17+
Signed-off-by: AKSHAY RAVEENDRAN K <[email protected]>
18+
---
19+
board/aspeed/ast2600_intel/intel.c | 3 ++-
20+
1 file changed, 2 insertions(+), 1 deletion(-)
21+
22+
diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
23+
index c0d82bfb4b..5a54051ac7 100644
24+
--- a/board/aspeed/ast2600_intel/intel.c
25+
+++ b/board/aspeed/ast2600_intel/intel.c
26+
@@ -13,6 +13,7 @@
27+
#define SYS_PWR_RESET_FLAG BIT(0) /* from scu_info.c */
28+
#define WATCHDOG_RESET_BIT BIT(20)
29+
#define BOOT_FAILURE_LIMIT 3
30+
+#define EXTRST_RESET_BIT BIT(1)
31+
32+
#define SCU_014 0x014 /* Silicon Revision ID */
33+
#define REV_ID_AST2600A0 0x05000303 /* AST2600 A0 */
34+
@@ -703,7 +704,7 @@ int board_late_init(void)
35+
36+
boot_failures = get_boot_failures();
37+
38+
- if (gd->reset_reason & WATCHDOG_RESET_BIT)
39+
+ if ((gd->reset_reason & WATCHDOG_RESET_BIT) && !(gd->reset_reason & EXTRST_RESET_BIT))
40+
set_boot_failures(boot_failures + 1);
41+
else
42+
set_boot_failures(0);
43+
--
44+
2.17.1
45+

meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend

+2
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ SRC_URI:append:intel-ast2600 = " \
4242
file://0036-Disable-BMC-MMIO-Decode-on-VGA-SCU-register-bit.patch \
4343
file://0037-Enable-I2C-clock-stretching-and-multi-master-support.patch \
4444
file://0038-Disabling-serial-console-if-FFUJ-is-enabled.patch \
45+
file://0044-Enable-WDT2-for-causing-reset-in-Kernel-u-boot-hang.patch \
4546
"
4647

4748
# CVE-2020-10648 vulnerability fix
@@ -99,6 +100,7 @@ SRC_URI:append:intel-ast2600 = " \
99100

100101
PFR_SRC_URI = " \
101102
file://0043-AST2600-PFR-u-boot-env-changes-as-per-PFR-BMC-image.patch \
103+
file://0045-PFR-Skip-counting-WDT2-event-when-EXTRST-is-set.patch \
102104
"
103105

104106
AUTOBOOT_SRC_URI = " \

meta-openbmc-mods/meta-common/classes/image_types_phosphor_auto.bbclass

+17-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ IMAGE_TYPES += "mtd-auto"
1616

1717
IMAGE_TYPEDEP:mtd-auto = "${IMAGE_BASETYPE}"
1818
IMAGE_TYPES_MASKED += "mtd-auto"
19-
19+
FLASH_UBOOT_SPL_IMAGE ?= "u-boot-spl"
20+
FLASH_UBOOT_IMAGE ?= "u-boot"
21+
image_dst ?= "image-u-boot"
2022
# Flash characteristics in KB unless otherwise noted
2123
python() {
2224
types = d.getVar('IMAGE_FSTYPES', True).split()
@@ -47,9 +49,23 @@ do_generate_auto() {
4749
bbdebug 1 "do_generate_auto IMAGE_TYPES=${IMAGE_TYPES} size=${FLASH_SIZE}KB (${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.auto.mtd)"
4850
# Assemble the flash image
4951
mk_nor_image ${IMGDEPLOYDIR}/${IMAGE_NAME}.auto.mtd ${FLASH_SIZE}
52+
uboot_offset=${FLASH_UBOOT_OFFSET}
53+
if [ ! -z ${SPL_BINARY} ]; then
5054
dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
55+
if=${DEPLOY_DIR_IMAGE}/${FLASH_UBOOT_SPL_IMAGE}.${UBOOT_SUFFIX} \
56+
of=${DEPLOY_DIR_IMAGE}/${image_dst}
57+
uboot_offset=${FLASH_UBOOT_SPL_SIZE}
58+
dd bs=1k conv=notrunc seek=${uboot_offset} \
59+
if=${DEPLOY_DIR_IMAGE}/${FLASH_UBOOT_IMAGE}.${UBOOT_SUFFIX} \
60+
of=${DEPLOY_DIR_IMAGE}/${image_dst}
61+
dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
62+
if=${DEPLOY_DIR_IMAGE}/${image_dst} \
63+
of=${IMGDEPLOYDIR}/${IMAGE_NAME}.auto.mtd
64+
else
65+
dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
5166
if=${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} \
5267
of=${IMGDEPLOYDIR}/${IMAGE_NAME}.auto.mtd
68+
fi
5369

5470
for OFFSET in ${FLASH_RUNTIME_OFFSETS}; do
5571
dd bs=1k conv=notrunc seek=${OFFSET} \

meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass

-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ IMAGE_INSTALL:append = " \
6060
ac-boot-check \
6161
host-error-monitor \
6262
beepcode-mgr \
63-
psu-manager \
6463
kernel-panic-check \
6564
id-led-off \
6665
hsbp-manager \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
From 3118eb64934499d93db3230748a452351d1d9a65 Mon Sep 17 00:00:00 2001
2+
From: Tomas Mraz <[email protected]>
3+
Date: Mon, 28 Feb 2022 18:26:21 +0100
4+
Subject: [PATCH] Fix possible infinite loop in BN_mod_sqrt()
5+
6+
The calculation in some cases does not finish for non-prime p.
7+
8+
This fixes CVE-2022-0778.
9+
10+
Based on patch by David Benjamin <[email protected]>.
11+
12+
Reviewed-by: Paul Dale <[email protected]>
13+
Reviewed-by: Matt Caswell <[email protected]>
14+
---
15+
crypto/bn/bn_sqrt.c | 30 ++++++++++++++++++------------
16+
1 file changed, 18 insertions(+), 12 deletions(-)
17+
18+
diff --git a/crypto/bn/bn_sqrt.c b/crypto/bn/bn_sqrt.c
19+
index 1723d5ded5..53b0f55985 100644
20+
--- a/crypto/bn/bn_sqrt.c
21+
+++ b/crypto/bn/bn_sqrt.c
22+
@@ -14,7 +14,8 @@ BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
23+
/*
24+
* Returns 'ret' such that ret^2 == a (mod p), using the Tonelli/Shanks
25+
* algorithm (cf. Henri Cohen, "A Course in Algebraic Computational Number
26+
- * Theory", algorithm 1.5.1). 'p' must be prime!
27+
+ * Theory", algorithm 1.5.1). 'p' must be prime, otherwise an error or
28+
+ * an incorrect "result" will be returned.
29+
*/
30+
{
31+
BIGNUM *ret = in;
32+
@@ -301,18 +302,23 @@ BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
33+
goto vrfy;
34+
}
35+
36+
- /* find smallest i such that b^(2^i) = 1 */
37+
- i = 1;
38+
- if (!BN_mod_sqr(t, b, p, ctx))
39+
- goto end;
40+
- while (!BN_is_one(t)) {
41+
- i++;
42+
- if (i == e) {
43+
- BNerr(BN_F_BN_MOD_SQRT, BN_R_NOT_A_SQUARE);
44+
- goto end;
45+
+ /* Find the smallest i, 0 < i < e, such that b^(2^i) = 1. */
46+
+ for (i = 1; i < e; i++) {
47+
+ if (i == 1) {
48+
+ if (!BN_mod_sqr(t, b, p, ctx))
49+
+ goto end;
50+
+
51+
+ } else {
52+
+ if (!BN_mod_mul(t, t, t, p, ctx))
53+
+ goto end;
54+
}
55+
- if (!BN_mod_mul(t, t, t, p, ctx))
56+
- goto end;
57+
+ if (BN_is_one(t))
58+
+ break;
59+
+ }
60+
+ /* If not found, a is not a square or p is not prime. */
61+
+ if (i >= e) {
62+
+ BNerr(BN_F_BN_MOD_SQRT, BN_R_NOT_A_SQUARE);
63+
+ goto end;
64+
}
65+
66+
/* t := y^2^(e - i - 1) */
67+
--
68+
2.25.1
69+

meta-openbmc-mods/meta-common/recipes-connectivity/openssl/openssl_1.1.1l.bb

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
1717
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
1818
file://afalg.patch \
1919
file://reproducible.patch \
20+
file://CVE-2022-0778.patch \
2021
"
2122

2223
SRC_URI:append:class-nativesdk = " \
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
# panic kernel on OOM
22
vm.panic_on_oom=2
3-
# reboot after 10 sec on panic
4-
kernel.panic=10

meta-openbmc-mods/meta-common/recipes-core/expat/expat_2.4.4.bb meta-openbmc-mods/meta-common/recipes-core/expat/expat_2.4.5.bb

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ SRC_URI = "https://github.com/libexpat/libexpat/releases/download/R_${VERSION_TA
1414

1515
UPSTREAM_CHECK_URI = "https://github.com/libexpat/libexpat/releases/"
1616

17-
SRC_URI[sha256sum] = "14c58c2a0b5b8b31836514dfab41bd191836db7aa7b84ae5c47bc0327a20d64a"
17+
SRC_URI[sha256sum] = "fbb430f964c7a2db2626452b6769e6a8d5d23593a453ccbc21701b74deabedff"
1818

1919
EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
2020

Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
SRC_URI = "git://github.com/openbmc/host-error-monitor"
2-
SRCREV = "1c208480e6de77a5a41b0733c595e8d4a99e5311"
1+
# The URI is required for the autobump script but keep it commented
2+
# to not override the upstream value
3+
# SRC_URI = "git://github.com/openbmc/host-error-monitor;branch=master;protocol=https"
4+
SRCREV = "ed6972aefe37a039d5b41d183eafc8c48549be67"
35

46
EXTRA_OECMAKE = "-DYOCTO=1"

meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ EXTRA_OECMAKE += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '-DINTEL_PF
22
EXTRA_OECMAKE += "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'validation-unsecure', '-DBMC_VALIDATION_UNSECURE_FEATURE=ON', '', d)}"
33
EXTRA_OECMAKE += "-DUSING_ENTITY_MANAGER_DECORATORS=OFF"
44
SRC_URI = "git://github.com/openbmc/intel-ipmi-oem.git"
5-
SRCREV = "a165038f0472459ae2ec0ae50b7e0c09969882c7"
5+
SRCREV = "6346e98cd5f33be2328478f865b34edc7203a99d"
66

77
FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
88

Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
# Enable downstream autobump
22
SRC_URI = "git://github.com/openbmc/libpeci"
3-
SRCREV = "6a00e9aa72f75d66eb8b9572c7fd3894f91c6bba"
3+
SRCREV = "bdefaa3c95d0a93928f8ebda1ce158172d3a4bcf"
4+
5+
inherit pkgconfig systemd
6+
7+
PACKAGECONFIG ??= ""
8+
PACKAGECONFIG[dbus-raw-peci] = "-DDBUS_RAW_PECI=ON,-DDBUS_RAW_PECI=OFF,boost sdbusplus"
9+
SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'dbus-raw-peci', 'com.intel.peci.service', '', d)}"

0 commit comments

Comments
 (0)