diff options
| author | Leah Rowe <leah@libreboot.org> | 2024-11-07 00:26:20 +0000 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2024-11-07 00:26:59 +0000 | 
| commit | 2deab8572db934dd808d3130199985803ebb9195 (patch) | |
| tree | bb720672d1dbe006defd285c51fcfe44b9c409c1 | |
| parent | 9abddb82b9228be738382ddc178a9562926404b3 (diff) | |
clean up the coreboot submodules
also bring the coreboot/next modules in line with
the recent merge that did away with coreboot/dell7
the submodules for coreboot/haswell were still there,
and have now been deleted; the haswell tree was used
for the NRI patches, which were moved to /default some
time ago
Signed-off-by: Leah Rowe <leah@libreboot.org>
30 files changed, 2 insertions, 488 deletions
| diff --git a/config/submodule/coreboot/dell7/acpica-unix-20230628.tar.gz/module.cfg b/config/submodule/coreboot/dell7/acpica-unix-20230628.tar.gz/module.cfg deleted file mode 100644 index 6dde459a..00000000 --- a/config/submodule/coreboot/dell7/acpica-unix-20230628.tar.gz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/libreboot.org/release/misc/acpica/acpica-unix-20230628.tar.gz" -subfile_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/acpica/acpica-unix-20230628.tar.gz" -subhash="d726e69ebd8b8110690e3aff8d1919b43b0a2185efdeb9131ea8d89d321ca3a318a89c721ea740ae366f31ed3d1c11c2906f8807ee8a190e6f67fe5b2023cea4" diff --git a/config/submodule/coreboot/dell7/binutils-2.43.1.tar.xz/module.cfg b/config/submodule/coreboot/dell7/binutils-2.43.1.tar.xz/module.cfg deleted file mode 100644 index f3e372a4..00000000 --- a/config/submodule/coreboot/dell7/binutils-2.43.1.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://ftp.nluug.nl/pub/gnu/binutils/binutils-2.43.1.tar.xz" -subfile_bkup="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/binutils/binutils-2.43.1.tar.xz" -subhash="20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824" diff --git a/config/submodule/coreboot/dell7/gcc-14.2.0.tar.xz/module.cfg b/config/submodule/coreboot/dell7/gcc-14.2.0.tar.xz/module.cfg deleted file mode 100644 index 9a4892f5..00000000 --- a/config/submodule/coreboot/dell7/gcc-14.2.0.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz" -subhash="932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396" diff --git a/config/submodule/coreboot/dell7/gmp-6.3.0.tar.xz/module.cfg b/config/submodule/coreboot/dell7/gmp-6.3.0.tar.xz/module.cfg deleted file mode 100644 index fe274faf..00000000 --- a/config/submodule/coreboot/dell7/gmp-6.3.0.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/gmp/gmp-6.3.0.tar.xz" -subhash="e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2" diff --git a/config/submodule/coreboot/dell7/intel-microcode/module.cfg b/config/submodule/coreboot/dell7/intel-microcode/module.cfg deleted file mode 100644 index cb6c6d46..00000000 --- a/config/submodule/coreboot/dell7/intel-microcode/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/intel-microcode.git" -subrepo_bkup="https://github.com/coreboot/intel-microcode" -subhash="fbfe741896c55b36fcbf0560a68be96286103556" diff --git a/config/submodule/coreboot/dell7/libgfxinit/module.cfg b/config/submodule/coreboot/dell7/libgfxinit/module.cfg deleted file mode 100644 index 1ba41724..00000000 --- a/config/submodule/coreboot/dell7/libgfxinit/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/libgfxinit.git" -subrepo_bkup="https://github.com/coreboot/libgfxinit" -subhash="17cfc92f402493979783585b6581efbd98c0cf07" diff --git a/config/submodule/coreboot/dell7/libgfxinit/patches/0001-g45-hw-gfx-gma-plls.adb-Make-reference-clock-frequen.patch b/config/submodule/coreboot/dell7/libgfxinit/patches/0001-g45-hw-gfx-gma-plls.adb-Make-reference-clock-frequen.patch deleted file mode 100644 index 2d248941..00000000 --- a/config/submodule/coreboot/dell7/libgfxinit/patches/0001-g45-hw-gfx-gma-plls.adb-Make-reference-clock-frequen.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ba078864500de99c26b6ea7e3fdcef19bca582a7 Mon Sep 17 00:00:00 2001 -From: Nicholas Chin <nic.c3.14@gmail.com> -Date: Mon, 20 May 2024 10:10:03 -0600 -Subject: [PATCH 1/1] g45/hw-gfx-gma-plls.adb: Make reference clock frequency - configurable - -Instead of assuming a 96 MHz reference clock frequency, use the value -specified by the new INTEL_GMA_DPLL_REF_FREQ Kconfig. This defaults to -96 MHz to preserve the existing behavior. An example of where this is -needed is the DPLL_REF_SSCLK input, which will typically be 100 MHz -to support LVDS spread spectrum clocking. - -Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com> ---- - common/g45/hw-gfx-gma-plls.adb | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/common/g45/hw-gfx-gma-plls.adb b/common/g45/hw-gfx-gma-plls.adb -index 67242f2..5e970d7 100644 ---- a/common/g45/hw-gfx-gma-plls.adb -+++ b/common/g45/hw-gfx-gma-plls.adb -@@ -12,6 +12,8 @@ - -- GNU General Public License for more details. - -- -  -+with CB.Config; -+ - with HW.Time; - with HW.GFX.GMA.Config; - with HW.GFX.GMA.Registers; -@@ -460,7 +462,7 @@ is -               (Display           => Port_Cfg.Display, -                Target_Dotclock   => Target_Clock, -                -- should be, but doesn't has to be always the same: --               Reference_Clock   => 96_000_000, -+               Reference_Clock   => CB.Config.INTEL_GMA_DPLL_REF_FREQ, -                Best_Clock        => Clk, -                Valid             => Success); -          else ---  -2.39.2 - diff --git a/config/submodule/coreboot/dell7/libhwbase/module.cfg b/config/submodule/coreboot/dell7/libhwbase/module.cfg deleted file mode 100644 index 2937b8b7..00000000 --- a/config/submodule/coreboot/dell7/libhwbase/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/libhwbase.git" -subrepo_bkup="https://github.com/coreboot/libhwbase" -subhash="584629b9f4771b7618951cec57df2ca3af9c6981" diff --git a/config/submodule/coreboot/dell7/module.list b/config/submodule/coreboot/dell7/module.list deleted file mode 100644 index 1cc88fd6..00000000 --- a/config/submodule/coreboot/dell7/module.list +++ /dev/null @@ -1,12 +0,0 @@ -3rdparty/fsp -3rdparty/intel-microcode -3rdparty/libgfxinit -3rdparty/libhwbase -3rdparty/vboot -util/crossgcc/tarballs/binutils-2.43.1.tar.xz -util/crossgcc/tarballs/gcc-14.2.0.tar.xz -util/crossgcc/tarballs/gmp-6.3.0.tar.xz -util/crossgcc/tarballs/mpc-1.3.1.tar.gz -util/crossgcc/tarballs/mpfr-4.2.1.tar.xz -util/crossgcc/tarballs/nasm-2.16.03.tar.bz2 -util/crossgcc/tarballs/acpica-unix-20230628.tar.gz diff --git a/config/submodule/coreboot/dell7/mpc-1.3.1.tar.gz/module.cfg b/config/submodule/coreboot/dell7/mpc-1.3.1.tar.gz/module.cfg deleted file mode 100644 index f98b6444..00000000 --- a/config/submodule/coreboot/dell7/mpc-1.3.1.tar.gz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/mpc/mpc-1.3.1.tar.gz" -subhash="4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97" diff --git a/config/submodule/coreboot/dell7/mpfr-4.2.1.tar.xz/module.cfg b/config/submodule/coreboot/dell7/mpfr-4.2.1.tar.xz/module.cfg deleted file mode 100644 index 3419bc30..00000000 --- a/config/submodule/coreboot/dell7/mpfr-4.2.1.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/mpfr/mpfr-4.2.1.tar.xz" -subhash="bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475" diff --git a/config/submodule/coreboot/dell7/nasm-2.16.03.tar.bz2/module.cfg b/config/submodule/coreboot/dell7/nasm-2.16.03.tar.bz2/module.cfg deleted file mode 100644 index c98cc71f..00000000 --- a/config/submodule/coreboot/dell7/nasm-2.16.03.tar.bz2/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.bz2" -subfile_bkup="https://www.mirrorservice.org/sites/distfiles.macports.org/nasm/nasm-2.16.03.tar.bz2" -subhash="f28445d368debdf44219cc57df33800a8c0e49186cd60836d4adfec7700d53b801d34aa9fc9bfda74169843f33a1e8b465e11292582eb968bb9c3a26f54dd172" diff --git a/config/submodule/coreboot/dell7/vboot/module.cfg b/config/submodule/coreboot/dell7/vboot/module.cfg deleted file mode 100644 index 917d23fa..00000000 --- a/config/submodule/coreboot/dell7/vboot/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/vboot.git" -subrepo_bkup="https://github.com/coreboot/vboot" -subhash="f1f70f46dc5482bb7c654e53ed58d4001e386df2" diff --git a/config/submodule/coreboot/dell7/vboot/patches/0001-extract_vmlinuz.c-Fix-the-bounds-check-on-vmlinuz_he.patch b/config/submodule/coreboot/dell7/vboot/patches/0001-extract_vmlinuz.c-Fix-the-bounds-check-on-vmlinuz_he.patch deleted file mode 100644 index 1ac41de6..00000000 --- a/config/submodule/coreboot/dell7/vboot/patches/0001-extract_vmlinuz.c-Fix-the-bounds-check-on-vmlinuz_he.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 195f61375aeec9eec16604ec59f6eda2e6058cc1 Mon Sep 17 00:00:00 2001 -From: "Luke T. Shumaker" <lukeshu@lukeshu.com> -Date: Thu, 30 May 2024 14:08:33 -0600 -Subject: [PATCH 1/1] extract_vmlinuz.c: Fix the bounds check on - vmlinuz_header_{offset,size} - -The check on vmlinuz_header_offset and vmlinuz_header_size is obviously -wrong: - -	if (!vmlinuz_header_size || -	    kpart_data + vmlinuz_header_offset + vmlinuz_header_size > -	    kpart_data) { -		return 1; -	} - -`kpart_data + some_unsigned_values` can obviously never be `> kpart_data`, -unless something has overflowed!  And `vmlinuz_header_offset` hasn't even -been set yet (besides being initialized to zero)! - -GCC will deduce that if the check didn't cause the function to bail, then -vmlinuz_header_size (a uint32_t) must be "negative"; that is: in the range -[2GiB,4GiB). - -On platforms where size_t is 32-bits, this is *especially* broken. -memcpy's size argument must be in the range [0,2GiB).  Because GCC has -proved that vmlinuz_header_size is higher than that, it will fail to -compile: - -	host/lib/extract_vmlinuz.c:67:9: error: 'memcpy' specified bound between 2147483648 and 4294967295 exceeds maximum object size 2147483647 [-Werror=stringop-overflow=] - -So, fix the check. - -I can now say that what I suspect the original author meant to write would -be the following patch, if `vmlinuz_header_offset` were already set: - -	-kpart_data + vmlinuz_header_offset + vmlinuz_header_size > kpart_data -	+now        + vmlinuz_header_offset + vmlinuz_header_size > kpart_size - -This hypothesis is supported by `now` not getting incremented by -`kblob_size` the way it is for the keyblock and preamble sizes. - -However, we can also see that even this "corrected" bounds check is -insufficient: it does not detect the vmlinuz_header overflowing into -kblob_data. - -OK, so let's describe the fix: - -Have a `*vmlinuz_header` pointer instead of a -`uint64_t vmlinuz_header_offset`, to be more similar to all the other -regions.  With this change, the correct check becomes a simple - -      vmlinuz_header + vmlinuz_header_size > kblob_data - -While we're at it, make some changes that could have helped avoid this in -the first place: - - - Add comments. - - Calculate the vmlinuz_header offset right away, instead of waiting. - - Go ahead and increment `now` by `kblob_size`, to increase regularity. - -Change-Id: I5c03e49070b6dd2e04459566ef7dd129d27736e4 ---- - host/lib/extract_vmlinuz.c | 72 +++++++++++++++++++++++++++----------- - 1 file changed, 51 insertions(+), 21 deletions(-) - -diff --git a/host/lib/extract_vmlinuz.c b/host/lib/extract_vmlinuz.c -index 4ccfcf33..d2c09443 100644 ---- a/host/lib/extract_vmlinuz.c -+++ b/host/lib/extract_vmlinuz.c -@@ -15,16 +15,44 @@ -  - int ExtractVmlinuz(void *kpart_data, size_t kpart_size, - 		   void **vmlinuz_out, size_t *vmlinuz_size) { -+	// We're going to be extracting `vmlinuz_header` and -+	// `kblob_data`, and returning the concatenation of them. -+	// -+	// kpart_data = +-[kpart_size]------------------------------------+ -+	//              |                                                 | -+	//  keyblock  = | +-[keyblock->keyblock_size]-------------------+ | -+	//              | | struct vb2_keyblock          keyblock       | | -+	//              | | char []                      ...data...     | | -+	//              | +---------------------------------------------+ | -+	//              |                                                 | -+	//  preamble  = | +-[preamble->preamble_size]-------------------+ | -+	//              | | struct vb2_kernel_preamble   preamble       | | -+	//              | | char []                       ...data...    | | -+	//              | | char []                      vmlinuz_header | | -+	//              | | char []                       ...data...    | | -+	//              | +---------------------------------------------+ | -+	//              |                                                 | -+	//  kblob_data= | +-[preamble->body_signature.data_size]--------+ | -+	//              | | char []                       ...data...    | | -+	//              | +---------------------------------------------+ | -+	//              |                                                 | -+	//              +-------------------------------------------------+ -+ - 	size_t now = 0; -+	// The 3 sections of kpart_data. -+	struct vb2_keyblock *keyblock = NULL; - 	struct vb2_kernel_preamble *preamble = NULL; - 	uint8_t *kblob_data = NULL; - 	uint32_t kblob_size = 0; -+	// vmlinuz_header -+	uint8_t *vmlinuz_header = NULL; - 	uint32_t vmlinuz_header_size = 0; --	uint64_t vmlinuz_header_address = 0; --	uint64_t vmlinuz_header_offset = 0; -+	// The concatenated result. - 	void *vmlinuz = NULL; -  --	struct vb2_keyblock *keyblock = (struct vb2_keyblock *)kpart_data; -+	// Isolate the 3 sections of kpart_data. -+ -+	keyblock = (struct vb2_keyblock *)kpart_data; - 	now += keyblock->keyblock_size; - 	if (now > kpart_size) - 		return 1; -@@ -36,37 +64,39 @@ int ExtractVmlinuz(void *kpart_data, size_t kpart_size, -  - 	kblob_data = kpart_data + now; - 	kblob_size = preamble->body_signature.data_size; -- --	if (!kblob_data || (now + kblob_size) > kpart_size) -+	now += kblob_size; -+	if (now > kpart_size) - 		return 1; -  -+	// Find `vmlinuz_header` within `preamble`. -+ - 	if (preamble->header_version_minor > 0) { --		vmlinuz_header_address = preamble->vmlinuz_header_address; -+		// calculate the vmlinuz_header offset from -+		// the beginning of the kpart_data.  The kblob doesn't -+		// include the body_load_offset, but does include -+		// the keyblock and preamble sections. -+		size_t vmlinuz_header_offset = -+			preamble->vmlinuz_header_address - -+			preamble->body_load_address + -+			keyblock->keyblock_size + -+			preamble->preamble_size; -+ -+		vmlinuz_header = kpart_data + vmlinuz_header_offset; - 		vmlinuz_header_size = preamble->vmlinuz_header_size; - 	} -  --	if (!vmlinuz_header_size || --	    kpart_data + vmlinuz_header_offset + vmlinuz_header_size > --	    kpart_data) { -+	if (!vmlinuz_header || -+	    !vmlinuz_header_size || -+	    vmlinuz_header + vmlinuz_header_size > kblob_data) { - 		return 1; - 	} -  --	// calculate the vmlinuz_header offset from --	// the beginning of the kpart_data.  The kblob doesn't --	// include the body_load_offset, but does include --	// the keyblock and preamble sections. --	vmlinuz_header_offset = vmlinuz_header_address - --		preamble->body_load_address + --		keyblock->keyblock_size + --		preamble->preamble_size; -+	// Concatenate and return. -  - 	vmlinuz = malloc(vmlinuz_header_size + kblob_size); - 	if (vmlinuz == NULL) - 		return 1; -- --	memcpy(vmlinuz, kpart_data + vmlinuz_header_offset, --	       vmlinuz_header_size); -- -+	memcpy(vmlinuz, vmlinuz_header, vmlinuz_header_size); - 	memcpy(vmlinuz + vmlinuz_header_size, kblob_data, kblob_size); -  - 	*vmlinuz_out = vmlinuz; ---  -2.45.1 - diff --git a/config/submodule/coreboot/haswell/R06_28_23.tar.gz/module.cfg b/config/submodule/coreboot/haswell/R06_28_23.tar.gz/module.cfg deleted file mode 100644 index 71ab78bc..00000000 --- a/config/submodule/coreboot/haswell/R06_28_23.tar.gz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/libreboot.org/release/misc/acpica/R06_28_23.tar.gz" -subfile_bkup="https://mirror.math.princeton.edu/pub/libreboot/misc/acpica/R06_28_23.tar.gz" -subhash="d64091202866cd306fef08bbf95b585584331704fdbe5ef0bfa99c8f9cb188e51a52880625c8d6bc971b3d251c8b13686b43a013058cadda861efe09b219c1b0" diff --git a/config/submodule/coreboot/haswell/binutils-2.42.tar.xz/module.cfg b/config/submodule/coreboot/haswell/binutils-2.42.tar.xz/module.cfg deleted file mode 100644 index 370a52ec..00000000 --- a/config/submodule/coreboot/haswell/binutils-2.42.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/binutils/binutils-2.42.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/binutils/binutils-2.42.tar.xz" -subhash="155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6" diff --git a/config/submodule/coreboot/haswell/gcc-13.2.0.tar.xz/module.cfg b/config/submodule/coreboot/haswell/gcc-13.2.0.tar.xz/module.cfg deleted file mode 100644 index dbcc0805..00000000 --- a/config/submodule/coreboot/haswell/gcc-13.2.0.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz" -subhash="d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2" diff --git a/config/submodule/coreboot/haswell/gmp-6.3.0.tar.xz/module.cfg b/config/submodule/coreboot/haswell/gmp-6.3.0.tar.xz/module.cfg deleted file mode 100644 index fe274faf..00000000 --- a/config/submodule/coreboot/haswell/gmp-6.3.0.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/gmp/gmp-6.3.0.tar.xz" -subhash="e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2" diff --git a/config/submodule/coreboot/haswell/intel-microcode/module.cfg b/config/submodule/coreboot/haswell/intel-microcode/module.cfg deleted file mode 100644 index 90f7d273..00000000 --- a/config/submodule/coreboot/haswell/intel-microcode/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/intel-microcode.git" -subrepo_bkup="https://github.com/coreboot/intel-microcode" -subhash="41af34500598418150aa298bb04e7edacc547897" diff --git a/config/submodule/coreboot/haswell/libgfxinit/module.cfg b/config/submodule/coreboot/haswell/libgfxinit/module.cfg deleted file mode 100644 index 7e2536f9..00000000 --- a/config/submodule/coreboot/haswell/libgfxinit/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/libgfxinit.git" -subrepo_bkup="https://github.com/coreboot/libgfxinit" -subhash="a4be8a21b0e2c752da0042c79aae5942418f53e2" diff --git a/config/submodule/coreboot/haswell/libhwbase/module.cfg b/config/submodule/coreboot/haswell/libhwbase/module.cfg deleted file mode 100644 index 2937b8b7..00000000 --- a/config/submodule/coreboot/haswell/libhwbase/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/libhwbase.git" -subrepo_bkup="https://github.com/coreboot/libhwbase" -subhash="584629b9f4771b7618951cec57df2ca3af9c6981" diff --git a/config/submodule/coreboot/haswell/module.list b/config/submodule/coreboot/haswell/module.list deleted file mode 100644 index 80e2cede..00000000 --- a/config/submodule/coreboot/haswell/module.list +++ /dev/null @@ -1,11 +0,0 @@ -3rdparty/intel-microcode -3rdparty/libgfxinit -3rdparty/libhwbase -3rdparty/vboot -util/crossgcc/tarballs/binutils-2.42.tar.xz -util/crossgcc/tarballs/gcc-13.2.0.tar.xz -util/crossgcc/tarballs/gmp-6.3.0.tar.xz -util/crossgcc/tarballs/mpc-1.3.1.tar.gz -util/crossgcc/tarballs/mpfr-4.2.1.tar.xz -util/crossgcc/tarballs/nasm-2.16.01.tar.bz2 -util/crossgcc/tarballs/R06_28_23.tar.gz diff --git a/config/submodule/coreboot/haswell/mpc-1.3.1.tar.gz/module.cfg b/config/submodule/coreboot/haswell/mpc-1.3.1.tar.gz/module.cfg deleted file mode 100644 index f98b6444..00000000 --- a/config/submodule/coreboot/haswell/mpc-1.3.1.tar.gz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/mpc/mpc-1.3.1.tar.gz" -subhash="4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97" diff --git a/config/submodule/coreboot/haswell/mpfr-4.2.1.tar.xz/module.cfg b/config/submodule/coreboot/haswell/mpfr-4.2.1.tar.xz/module.cfg deleted file mode 100644 index 3419bc30..00000000 --- a/config/submodule/coreboot/haswell/mpfr-4.2.1.tar.xz/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz" -subfile_bkup="https://ftp.nluug.nl/pub/gnu/mpfr/mpfr-4.2.1.tar.xz" -subhash="bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475" diff --git a/config/submodule/coreboot/haswell/nasm-2.16.01.tar.bz2/module.cfg b/config/submodule/coreboot/haswell/nasm-2.16.01.tar.bz2/module.cfg deleted file mode 100644 index a98cab0b..00000000 --- a/config/submodule/coreboot/haswell/nasm-2.16.01.tar.bz2/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subfile="https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.bz2" -subfile_bkup="https://coreboot.org/releases/crossgcc-sources/nasm-2.16.01.tar.bz2" -subhash="daecc50d0c04cfa1e8a09bbece808548478fc03834b0c3fb06a9da56d3b51697e2d09a469cef8a4761290cdfc65e0eb46d76b6ca11dfa1dcd1051882c5e7fd88" diff --git a/config/submodule/coreboot/haswell/vboot/module.cfg b/config/submodule/coreboot/haswell/vboot/module.cfg deleted file mode 100644 index 5ef2153c..00000000 --- a/config/submodule/coreboot/haswell/vboot/module.cfg +++ /dev/null @@ -1,3 +0,0 @@ -subrepo="https://review.coreboot.org/vboot.git" -subrepo_bkup="https://github.com/coreboot/vboot" -subhash="09fcd2184f9c714829503e84b8a7dfe7f2584e00" diff --git a/config/submodule/coreboot/haswell/vboot/patches/0001-extract_vmlinuz.c-Fix-the-bounds-check-on-vmlinuz_he.patch b/config/submodule/coreboot/haswell/vboot/patches/0001-extract_vmlinuz.c-Fix-the-bounds-check-on-vmlinuz_he.patch deleted file mode 100644 index 1ac41de6..00000000 --- a/config/submodule/coreboot/haswell/vboot/patches/0001-extract_vmlinuz.c-Fix-the-bounds-check-on-vmlinuz_he.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 195f61375aeec9eec16604ec59f6eda2e6058cc1 Mon Sep 17 00:00:00 2001 -From: "Luke T. Shumaker" <lukeshu@lukeshu.com> -Date: Thu, 30 May 2024 14:08:33 -0600 -Subject: [PATCH 1/1] extract_vmlinuz.c: Fix the bounds check on - vmlinuz_header_{offset,size} - -The check on vmlinuz_header_offset and vmlinuz_header_size is obviously -wrong: - -	if (!vmlinuz_header_size || -	    kpart_data + vmlinuz_header_offset + vmlinuz_header_size > -	    kpart_data) { -		return 1; -	} - -`kpart_data + some_unsigned_values` can obviously never be `> kpart_data`, -unless something has overflowed!  And `vmlinuz_header_offset` hasn't even -been set yet (besides being initialized to zero)! - -GCC will deduce that if the check didn't cause the function to bail, then -vmlinuz_header_size (a uint32_t) must be "negative"; that is: in the range -[2GiB,4GiB). - -On platforms where size_t is 32-bits, this is *especially* broken. -memcpy's size argument must be in the range [0,2GiB).  Because GCC has -proved that vmlinuz_header_size is higher than that, it will fail to -compile: - -	host/lib/extract_vmlinuz.c:67:9: error: 'memcpy' specified bound between 2147483648 and 4294967295 exceeds maximum object size 2147483647 [-Werror=stringop-overflow=] - -So, fix the check. - -I can now say that what I suspect the original author meant to write would -be the following patch, if `vmlinuz_header_offset` were already set: - -	-kpart_data + vmlinuz_header_offset + vmlinuz_header_size > kpart_data -	+now        + vmlinuz_header_offset + vmlinuz_header_size > kpart_size - -This hypothesis is supported by `now` not getting incremented by -`kblob_size` the way it is for the keyblock and preamble sizes. - -However, we can also see that even this "corrected" bounds check is -insufficient: it does not detect the vmlinuz_header overflowing into -kblob_data. - -OK, so let's describe the fix: - -Have a `*vmlinuz_header` pointer instead of a -`uint64_t vmlinuz_header_offset`, to be more similar to all the other -regions.  With this change, the correct check becomes a simple - -      vmlinuz_header + vmlinuz_header_size > kblob_data - -While we're at it, make some changes that could have helped avoid this in -the first place: - - - Add comments. - - Calculate the vmlinuz_header offset right away, instead of waiting. - - Go ahead and increment `now` by `kblob_size`, to increase regularity. - -Change-Id: I5c03e49070b6dd2e04459566ef7dd129d27736e4 ---- - host/lib/extract_vmlinuz.c | 72 +++++++++++++++++++++++++++----------- - 1 file changed, 51 insertions(+), 21 deletions(-) - -diff --git a/host/lib/extract_vmlinuz.c b/host/lib/extract_vmlinuz.c -index 4ccfcf33..d2c09443 100644 ---- a/host/lib/extract_vmlinuz.c -+++ b/host/lib/extract_vmlinuz.c -@@ -15,16 +15,44 @@ -  - int ExtractVmlinuz(void *kpart_data, size_t kpart_size, - 		   void **vmlinuz_out, size_t *vmlinuz_size) { -+	// We're going to be extracting `vmlinuz_header` and -+	// `kblob_data`, and returning the concatenation of them. -+	// -+	// kpart_data = +-[kpart_size]------------------------------------+ -+	//              |                                                 | -+	//  keyblock  = | +-[keyblock->keyblock_size]-------------------+ | -+	//              | | struct vb2_keyblock          keyblock       | | -+	//              | | char []                      ...data...     | | -+	//              | +---------------------------------------------+ | -+	//              |                                                 | -+	//  preamble  = | +-[preamble->preamble_size]-------------------+ | -+	//              | | struct vb2_kernel_preamble   preamble       | | -+	//              | | char []                       ...data...    | | -+	//              | | char []                      vmlinuz_header | | -+	//              | | char []                       ...data...    | | -+	//              | +---------------------------------------------+ | -+	//              |                                                 | -+	//  kblob_data= | +-[preamble->body_signature.data_size]--------+ | -+	//              | | char []                       ...data...    | | -+	//              | +---------------------------------------------+ | -+	//              |                                                 | -+	//              +-------------------------------------------------+ -+ - 	size_t now = 0; -+	// The 3 sections of kpart_data. -+	struct vb2_keyblock *keyblock = NULL; - 	struct vb2_kernel_preamble *preamble = NULL; - 	uint8_t *kblob_data = NULL; - 	uint32_t kblob_size = 0; -+	// vmlinuz_header -+	uint8_t *vmlinuz_header = NULL; - 	uint32_t vmlinuz_header_size = 0; --	uint64_t vmlinuz_header_address = 0; --	uint64_t vmlinuz_header_offset = 0; -+	// The concatenated result. - 	void *vmlinuz = NULL; -  --	struct vb2_keyblock *keyblock = (struct vb2_keyblock *)kpart_data; -+	// Isolate the 3 sections of kpart_data. -+ -+	keyblock = (struct vb2_keyblock *)kpart_data; - 	now += keyblock->keyblock_size; - 	if (now > kpart_size) - 		return 1; -@@ -36,37 +64,39 @@ int ExtractVmlinuz(void *kpart_data, size_t kpart_size, -  - 	kblob_data = kpart_data + now; - 	kblob_size = preamble->body_signature.data_size; -- --	if (!kblob_data || (now + kblob_size) > kpart_size) -+	now += kblob_size; -+	if (now > kpart_size) - 		return 1; -  -+	// Find `vmlinuz_header` within `preamble`. -+ - 	if (preamble->header_version_minor > 0) { --		vmlinuz_header_address = preamble->vmlinuz_header_address; -+		// calculate the vmlinuz_header offset from -+		// the beginning of the kpart_data.  The kblob doesn't -+		// include the body_load_offset, but does include -+		// the keyblock and preamble sections. -+		size_t vmlinuz_header_offset = -+			preamble->vmlinuz_header_address - -+			preamble->body_load_address + -+			keyblock->keyblock_size + -+			preamble->preamble_size; -+ -+		vmlinuz_header = kpart_data + vmlinuz_header_offset; - 		vmlinuz_header_size = preamble->vmlinuz_header_size; - 	} -  --	if (!vmlinuz_header_size || --	    kpart_data + vmlinuz_header_offset + vmlinuz_header_size > --	    kpart_data) { -+	if (!vmlinuz_header || -+	    !vmlinuz_header_size || -+	    vmlinuz_header + vmlinuz_header_size > kblob_data) { - 		return 1; - 	} -  --	// calculate the vmlinuz_header offset from --	// the beginning of the kpart_data.  The kblob doesn't --	// include the body_load_offset, but does include --	// the keyblock and preamble sections. --	vmlinuz_header_offset = vmlinuz_header_address - --		preamble->body_load_address + --		keyblock->keyblock_size + --		preamble->preamble_size; -+	// Concatenate and return. -  - 	vmlinuz = malloc(vmlinuz_header_size + kblob_size); - 	if (vmlinuz == NULL) - 		return 1; -- --	memcpy(vmlinuz, kpart_data + vmlinuz_header_offset, --	       vmlinuz_header_size); -- -+	memcpy(vmlinuz, vmlinuz_header, vmlinuz_header_size); - 	memcpy(vmlinuz + vmlinuz_header_size, kblob_data, kblob_size); -  - 	*vmlinuz_out = vmlinuz; ---  -2.45.1 - diff --git a/config/submodule/coreboot/dell7/fsp/module.cfg b/config/submodule/coreboot/next/fsp/module.cfg index 8042a059..8042a059 100644 --- a/config/submodule/coreboot/dell7/fsp/module.cfg +++ b/config/submodule/coreboot/next/fsp/module.cfg diff --git a/config/submodule/coreboot/next/intel-microcode/module.cfg b/config/submodule/coreboot/next/intel-microcode/module.cfg index cb6c6d46..8a364c43 100644 --- a/config/submodule/coreboot/next/intel-microcode/module.cfg +++ b/config/submodule/coreboot/next/intel-microcode/module.cfg @@ -1,3 +1,3 @@  subrepo="https://review.coreboot.org/intel-microcode.git"  subrepo_bkup="https://github.com/coreboot/intel-microcode" -subhash="fbfe741896c55b36fcbf0560a68be96286103556" +subhash="129f82f7429c29976b15d6837d2f573cc6a02c26" diff --git a/config/submodule/coreboot/next/module.list b/config/submodule/coreboot/next/module.list index 8c520e04..1cc88fd6 100644 --- a/config/submodule/coreboot/next/module.list +++ b/config/submodule/coreboot/next/module.list @@ -1,3 +1,4 @@ +3rdparty/fsp  3rdparty/intel-microcode  3rdparty/libgfxinit  3rdparty/libhwbase | 
