diff options
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r-- | www-client/chromium/files/chromium-91-ThemeService-crash.patch | 36 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-91-system-icu.patch | 29 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-93-EnumTable-crash.patch (renamed from www-client/chromium/files/chromium-89-EnumTable-crash.patch) | 28 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-glibc-2.33.patch | 141 |
4 files changed, 18 insertions, 216 deletions
diff --git a/www-client/chromium/files/chromium-91-ThemeService-crash.patch b/www-client/chromium/files/chromium-91-ThemeService-crash.patch deleted file mode 100644 index 455aef33e785..000000000000 --- a/www-client/chromium/files/chromium-91-ThemeService-crash.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 265192616d494ed586df9123ceb63389a7c48916 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 13 Apr 2021 06:20:25 +0000 -Subject: [PATCH] fix crash in theme_service - ---- - chrome/browser/themes/theme_service.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h -index 592d40a..337dfac 100644 ---- a/chrome/browser/themes/theme_service.h -+++ b/chrome/browser/themes/theme_service.h -@@ -299,6 +299,10 @@ class ThemeService : public KeyedService, - // The number of infobars currently displayed. - int number_of_reinstallers_ = 0; - -+ // Declared before |theme_syncable_service_|, because ThemeSyncableService -+ // removes itself from the |observers_| list on destruction. -+ base::ObserverList<ThemeServiceObserver> observers_; -+ - std::unique_ptr<ThemeSyncableService> theme_syncable_service_; - - #if BUILDFLAG(ENABLE_EXTENSIONS) -@@ -320,8 +324,6 @@ class ThemeService : public KeyedService, - ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> - native_theme_observer_{this}; - -- base::ObserverList<ThemeServiceObserver> observers_; -- - base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this}; - - DISALLOW_COPY_AND_ASSIGN(ThemeService); --- -2.26.3 - diff --git a/www-client/chromium/files/chromium-91-system-icu.patch b/www-client/chromium/files/chromium-91-system-icu.patch deleted file mode 100644 index 797ee33b374b..000000000000 --- a/www-client/chromium/files/chromium-91-system-icu.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a0ddb153bdaf0ef83c8bfec744fedb97bf4ccfd0 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 16 Apr 2021 14:09:29 +0000 -Subject: [PATCH] [unbundle] Use char16_t as UCHAR_TYPE - -Overriding UCHAR_TYPE was dropped with: -https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2732628 ---- - build/linux/unbundle/icu.gn | 19 +++++++------------ - 1 file changed, 7 insertions(+), 12 deletions(-) - -diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn -index 0f52fc1..33a0121 100644 ---- a/build/linux/unbundle/icu.gn -+++ b/build/linux/unbundle/icu.gn -@@ -16,7 +16,6 @@ config("icu_config") { - defines = [ - "USING_SYSTEM_ICU=1", - "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", -- "UCHAR_TYPE=uint16_t", - - # U_EXPORT (defined in unicode/platform.h) is used to set public visibility - # on classes through the U_COMMON_API and U_I18N_API macros (among others). - ] - } - --- -2.26.3 - diff --git a/www-client/chromium/files/chromium-89-EnumTable-crash.patch b/www-client/chromium/files/chromium-93-EnumTable-crash.patch index 89a50702dfae..a5c2defa0ae2 100644 --- a/www-client/chromium/files/chromium-89-EnumTable-crash.patch +++ b/www-client/chromium/files/chromium-93-EnumTable-crash.patch @@ -1,8 +1,16 @@ diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index e3130c7..2ad16ea 100644 +index a63ae86..83ada65 100644 --- a/components/cast_channel/enum_table.h +++ b/components/cast_channel/enum_table.h -@@ -212,7 +212,7 @@ class +@@ -8,6 +8,7 @@ + #include <cstdint> + #include <cstring> + #include <ostream> ++#include <vector> + + #include "base/check_op.h" + #include "base/macros.h" +@@ -213,7 +214,7 @@ class template <typename E> friend class EnumTable; @@ -11,7 +19,7 @@ index e3130c7..2ad16ea 100644 }; // Yes, these constructors really needs to be inlined. Even though they look -@@ -250,8 +250,7 @@ class EnumTable { +@@ -251,8 +252,7 @@ class EnumTable { // Constructor for regular entries. constexpr Entry(E value, base::StringPiece str) : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} @@ -21,7 +29,7 @@ index e3130c7..2ad16ea 100644 }; static_assert(sizeof(E) <= sizeof(int32_t), -@@ -306,15 +305,14 @@ class EnumTable { +@@ -307,15 +307,14 @@ class EnumTable { if (is_sorted_) { const std::size_t index = static_cast<std::size_t>(value); if (ANALYZER_ASSUME_TRUE(index < data_.size())) { @@ -30,7 +38,7 @@ index e3130c7..2ad16ea 100644 if (ANALYZER_ASSUME_TRUE(entry.has_str())) return entry.str(); } - return base::nullopt; + return absl::nullopt; } return GenericEnumTableEntry::FindByValue( - reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), @@ -39,17 +47,17 @@ index e3130c7..2ad16ea 100644 } // This overload of GetString is designed for cases where the argument is a -@@ -342,8 +340,7 @@ class EnumTable { +@@ -343,8 +342,7 @@ class EnumTable { // enum value directly. - base::Optional<E> GetEnum(base::StringPiece str) const { + absl::optional<E> GetEnum(base::StringPiece str) const { auto* entry = GenericEnumTableEntry::FindByString( - reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), - data_.size(), str); + &data_[0], data_.size(), str); - return entry ? static_cast<E>(entry->value) : base::Optional<E>(); + return entry ? static_cast<E>(entry->value) : absl::optional<E>(); } -@@ -358,7 +355,7 @@ class EnumTable { +@@ -359,7 +357,7 @@ class EnumTable { // Align the data on a cache line boundary. alignas(64) #endif @@ -58,7 +66,7 @@ index e3130c7..2ad16ea 100644 bool is_sorted_; constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) -@@ -370,8 +367,8 @@ class EnumTable { +@@ -371,8 +369,8 @@ class EnumTable { for (std::size_t i = 0; i < data.size(); i++) { for (std::size_t j = i + 1; j < data.size(); j++) { diff --git a/www-client/chromium/files/chromium-glibc-2.33.patch b/www-client/chromium/files/chromium-glibc-2.33.patch deleted file mode 100644 index 26e8003968d1..000000000000 --- a/www-client/chromium/files/chromium-glibc-2.33.patch +++ /dev/null @@ -1,141 +0,0 @@ -diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ---- chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix 2021-01-25 10:11:45.427436398 -0500 -+++ chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-25 10:12:51.337699003 -0500 -@@ -257,6 +257,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de - return RestrictKillTarget(current_pid, sysno); - } - -+#if defined(__NR_newfstatat) -+ if (sysno == __NR_newfstatat) { -+ return RewriteFstatatSIGSYS(); -+ } -+#endif -+ -+#if defined(__NR_fstatat64) -+ if (sysno == __NR_fstatat64) { -+ return RewriteFstatatSIGSYS(); -+ } -+#endif -+ - if (SyscallSets::IsFileSystem(sysno) || - SyscallSets::IsCurrentDirectory(sysno)) { - return Error(fs_denied_errno); -diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc ---- chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix 2021-01-25 10:13:10.179774081 -0500 -+++ chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-01-25 10:16:18.790525746 -0500 -@@ -6,6 +6,8 @@ - - #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h" - -+#include <errno.h> -+#include <fcntl.h> - #include <stddef.h> - #include <stdint.h> - #include <string.h> -@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct - return -ENOSYS; - } - -+intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, -+ void* aux) { -+ switch (args.nr) { -+#if defined(__NR_newfstatat) -+ case __NR_newfstatat: -+#endif -+#if defined(__NR_fstatat64) -+ case __NR_fstatat64: -+#endif -+#if defined(__NR_newfstatat) || defined(__NR_fstatat64) -+ if (*reinterpret_cast<const char *>(args.args[1]) == '\0' -+ && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) { -+ return sandbox::sys_fstat64(static_cast<int>(args.args[0]), -+ reinterpret_cast<struct stat64 *>(args.args[2])); -+ } else { -+ errno = EACCES; -+ return -1; -+ } -+ break; -+#endif -+ } -+ -+ CrashSIGSYS_Handler(args, aux); -+ -+ // Should never be reached. -+ RAW_CHECK(false); -+ return -ENOSYS; -+} -+ - bpf_dsl::ResultExpr CrashSIGSYS() { - return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL); - } -@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS() - return bpf_dsl::Trap(SIGSYSSchedHandler, NULL); - } - -+bpf_dsl::ResultExpr RewriteFstatatSIGSYS() { -+ return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL); -+} -+ - void AllocateCrashKeys() { - #if !defined(OS_NACL_NONSFI) - if (seccomp_crash_key) -diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h ---- chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix 2021-01-25 10:16:36.982598236 -0500 -+++ chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-25 10:18:45.705111027 -0500 -@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail - // sched_setparam(), sched_setscheduler() - SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args, - void* aux); -+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat -+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler. -+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, -+ void* aux); - - // Variants of the above functions for use with bpf_dsl. - SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS(); -@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash - SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex(); - SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace(); - SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS(); -+SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS(); - - // Allocates a crash key so that Seccomp information can be recorded. - void AllocateCrashKeys(); -diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc ---- chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc.fstatfix 2021-01-25 10:18:53.307141311 -0500 -+++ chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc 2021-01-25 10:19:46.982355293 -0500 -@@ -261,4 +261,13 @@ int sys_sigaction(int signum, - - #endif // defined(MEMORY_SANITIZER) - -+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf) -+{ -+#if defined(__NR_fstat64) -+ return syscall(__NR_fstat64, fd, buf); -+#else -+ return syscall(__NR_fstat, fd, buf); -+#endif -+} -+ - } // namespace sandbox -diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h ---- chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h.fstatfix 2021-01-25 10:19:53.115379741 -0500 -+++ chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h 2021-01-25 10:20:45.485588421 -0500 -@@ -17,6 +17,7 @@ struct sock_fprog; - struct rlimit64; - struct cap_hdr; - struct cap_data; -+struct stat64; - - namespace sandbox { - -@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig - const struct sigaction* act, - struct sigaction* oldact); - -+// Recent glibc rewrites fstat to fstatat. -+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf); -+ - } // namespace sandbox - - #endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_ |