From d23b8aefb96be92fadfca71a076b5a0e35014c36 Mon Sep 17 00:00:00 2001 From: zvolin Date: Sun, 15 Dec 2024 14:02:31 +0100 Subject: [PATCH] chromium: fix read out of range on aarch64 16k pages builds Co-authored-by: networkException (cherry picked from commit 608b73b8be01613fcf4fb817204c7be1caef77b2) --- .../networking/browsers/chromium/common.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 0c990c1b9d2a1..2d219cc12e9e7 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -522,6 +522,22 @@ let excludes = [ "base/allocator/partition_allocator/src/partition_alloc/*" ]; revert = true; }) + ] + ++ lib.optionals (chromiumVersionAtLeast "131" && stdenv.hostPlatform.isAarch64) [ + # Reverts decommit pooled pages which causes random crashes of tabs on systems + # with page sizes different than 4k. It 'supports' runtime page sizes, but has + # a hardcode for aarch64 systems. + # https://issues.chromium.org/issues/378017037 + (fetchpatch { + name = "reverted-v8-decommit-pooled-paged-by-default.patch"; + # https://chromium-review.googlesource.com/c/v8/v8/+/5864909 + url = "https://chromium.googlesource.com/v8/v8/+/1ab1a14ad97394d384d8dc6de51bb229625e66d6^!?format=TEXT"; + decode = "base64 -d"; + stripLen = 1; + extraPrefix = "v8/"; + revert = true; + hash = "sha256-PuinMLhJ2W4KPXI5K0ujw85ENTB1wG7Hv785SZ55xnY="; + }) ]; postPatch =