From ba47f55a6ac2e52a2d6e019cf1992624bdb08e0a Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Thu, 12 Sep 2024 01:22:16 +0300 Subject: [PATCH] import chromium-128.0.6613.137-1.el9 --- .chromium.metadata | 4 +- .gitignore | 4 +- SOURCES/partition-alloc-4k-detect.patch | 112 ------------------------ SPECS/chromium.spec | 32 ++----- 4 files changed, 10 insertions(+), 142 deletions(-) delete mode 100644 SOURCES/partition-alloc-4k-detect.patch diff --git a/.chromium.metadata b/.chromium.metadata index 3434d2cc..b7dadaec 100644 --- a/.chromium.metadata +++ b/.chromium.metadata @@ -1,5 +1,3 @@ -b66519ed49abdd4712315ae3a4645830073c09cf SOURCES/bindgen-cli-aarch64.tar.xz -107a886d1095bb01268e6cd51f1878385e694229 SOURCES/bindgen-cli-x86_64.tar.xz -a04c6ab7556a332875497f411f8fa1a5f0adc23a SOURCES/chromium-128.0.6613.119-clean.tar.xz +9b0cb33f3dfa0a2277ab1a43c1f7c1fa644965ad SOURCES/chromium-128.0.6613.137-clean.tar.xz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz diff --git a/.gitignore b/.gitignore index 828fe9ba..fbe35134 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -SOURCES/bindgen-cli-aarch64.tar.xz -SOURCES/bindgen-cli-x86_64.tar.xz -SOURCES/chromium-128.0.6613.119-clean.tar.xz +SOURCES/chromium-128.0.6613.137-clean.tar.xz SOURCES/linux-arm64-0.19.2.tgz SOURCES/linux-x64-0.19.2.tgz diff --git a/SOURCES/partition-alloc-4k-detect.patch b/SOURCES/partition-alloc-4k-detect.patch deleted file mode 100644 index a0a3f959..00000000 --- a/SOURCES/partition-alloc-4k-detect.patch +++ /dev/null @@ -1,112 +0,0 @@ ---- a/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -100,21 +100,21 @@ - // other constant values, we pack _all_ `PartitionRoot::Alloc` sizes perfectly - // up against the end of a system page. - --#if defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) -+#if (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ -+ defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { -- return 16; // 64 KiB -+ return PageAllocationGranularityShift() + 2; - } --#elif defined(ARCH_CPU_PPC64) -+#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { -- return 18; // 256 KiB -+ return 16; // 64 KiB - } --#elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ -- defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) -+#elif defined(ARCH_CPU_PPC64) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { -- return PageAllocationGranularityShift() + 2; -+ return 18; // 256 KiB - } - #else - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t ---- a/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -@@ -26,7 +26,8 @@ - #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) - - #elif (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) || \ -- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) -+ (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) || \ -+ (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64)) - // This should work for all POSIX (if needed), but currently all other - // supported OS/architecture combinations use either hard-coded values - // (such as x86) or have means to determine these values without needing -@@ -86,17 +87,7 @@ - - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PageAllocationGranularityShift() { --#if BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) -- // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page -- // sizes. Since 64kB is the de facto standard on the platform and binaries -- // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice -- // here. -- return 16; // 64kB --#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) -- return 14; // 16kB --#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) -- return static_cast(vm_page_shift); --#elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) -+#if defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) - // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16) - // page sizes. Retrieve from or initialize cache. - size_t shift = page_characteristics.shift.load(std::memory_order_relaxed); -@@ -106,6 +97,16 @@ - page_characteristics.shift.store(shift, std::memory_order_relaxed); - } - return shift; -+#elif BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) -+ // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page -+ // sizes. Since 64kB is the de facto standard on the platform and binaries -+ // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice -+ // here. -+ return 16; // 64kB -+#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) -+ return 14; // 16kB -+#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) -+ return static_cast(vm_page_shift); - #else - return 12; // 4kB - #endif ---- a/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h -@@ -180,10 +180,10 @@ - #else // !BUILDFLAG(IS_AIX) && !defined(ARCH_CPU_BIG_ENDIAN) - - // Little-endian Linux PPC has 48 bits of virtual addressing. Use 46. -- PA_ALWAYS_INLINE constexpr uintptr_t ASLRMask() { -+ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLRMask() { - return AslrMask(46); - } -- PA_ALWAYS_INLINE constexpr uintptr_t ASLROffset() { -+ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLROffset() { - return AslrAddress(0); - } - ---- a/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h -@@ -17,10 +17,15 @@ - // PartitionPageSize() is 4 times the OS page size. - static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; - #elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) -+#if defined(ARCH_CPU_PPC64) -+// System page size can be 4 or 64 kiB on Linux on ppc64. Use 64 kiB maximum. -+static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 16) / kSmallestBucket; -+#else - // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is - // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, - // so we use the 16 kiB maximum (64 kiB will crash). - static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; -+#endif - #elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64) - // System page size is not a constant on OpenPOWER systems, but is either 4kiB - // or 64kiB (1 << 12 or 1 << 16) diff --git a/SPECS/chromium.spec b/SPECS/chromium.spec index 8e84039a..13b2088d 100644 --- a/SPECS/chromium.spec +++ b/SPECS/chromium.spec @@ -296,7 +296,7 @@ %endif Name: chromium%{chromium_channel} -Version: 128.0.6613.119 +Version: 128.0.6613.137 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home @@ -489,10 +489,6 @@ Source14: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-%{esbuild_ve Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuild_version}.tgz %endif -# bindgen for epel8 -Source16: https://than.fedorapeople.org/epel8/bindgen-cli-aarch64.tar.xz -Source17: https://than.fedorapeople.org/epel8/bindgen-cli-x86_64.tar.xz - # esbuild binary from fedora %if 0%{?fedora} BuildRequires: golang-github-evanw-esbuild @@ -519,12 +515,7 @@ BuildRequires: binutils %endif BuildRequires: rustc -%if 0%{?rhel} == 8 -# need to build bindgen on el8 -BuildRequires: cargo -%else BuildRequires: bindgen-cli -%endif %if ! %{bundlezstd} BuildRequires: libzstd-devel @@ -1167,20 +1158,6 @@ Qt6 UI for chromium. # See `man find` for how the `-exec command {} +` syntax works find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{chromium_pybin}=' {} + -# workaround for missing bindgen on el8 -%if 0%{?rhel} == 8 -%ifarch aarch64 -tar -Jxf %{SOURCE16} -%endif -%ifarch x86_64 -tar -Jxf %{SOURCE17} -%endif -mkdir -p usr/%{_lib} -pushd usr/%{_lib} -ln -fs %{_libdir}/libclang* . -popd -%endif - # Add correct path for nodejs binary %if ! %{system_nodejs} pushd third_party/node/linux @@ -1988,6 +1965,13 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %changelog +* Wed Sep 11 2024 Than Ngo - 128.0.6613.137-1 +- update to 128.0.6613.137 + * High CVE-2024-8636: Heap buffer overflow in Skia + * High CVE-2024-8637: Use after free in Media Router + * High CVE-2024-8638: Type Confusion in V8 + * High CVE-2024-8639: Use after free in Autofill + * Thu Sep 05 2024 Than Ngo - 128.0.6613.119-1 - update to 128.0.6613.119 * High CVE-2024-8362: Use after free in WebAudio