mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-23 01:27:02 +02:00
qt5-webengine: update to 5.15.7.
This commit is contained in:
parent
3cc7e949b0
commit
82ed52d48f
3 changed files with 4 additions and 238 deletions
|
@ -1,89 +0,0 @@
|
|||
Description: fix seccomp-bpf failures in syscalls 0403, 0407
|
||||
glibc ≥ 2.31 uses these syscalls on 32-bit platforms:
|
||||
.
|
||||
- https://sourceware.org/git/?p=glibc.git;a=commit;h=2e44b10b42d68d98
|
||||
- https://sourceware.org/git/?p=glibc.git;a=commit;h=ec138c67cbda8b58
|
||||
Author: Andreas Müller <schnitzeltony@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2020-09-02
|
||||
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
@@ -148,7 +148,14 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
return Allow();
|
||||
#endif
|
||||
|
||||
- if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
|
||||
+ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep
|
||||
+#if defined(__NR_clock_gettime64)
|
||||
+ || sysno == __NR_clock_gettime64
|
||||
+#endif
|
||||
+#if defined(__NR_clock_nanosleep_time64)
|
||||
+ || sysno == __NR_clock_nanosleep_time64
|
||||
+#endif
|
||||
+ ) {
|
||||
return RestrictClockID();
|
||||
}
|
||||
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
|
||||
@@ -60,6 +60,12 @@ class RestrictClockIdPolicy : public bpf
|
||||
case __NR_clock_gettime:
|
||||
case __NR_clock_getres:
|
||||
case __NR_clock_nanosleep:
|
||||
+#if defined(__NR_clock_nanosleep_time64)
|
||||
+ case __NR_clock_nanosleep_time64:
|
||||
+#endif
|
||||
+#if defined(__NR_clock_gettime64)
|
||||
+ case __NR_clock_gettime64:
|
||||
+#endif
|
||||
return RestrictClockID();
|
||||
default:
|
||||
return Allow();
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
@@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int s
|
||||
// filtered by RestrictClokID().
|
||||
case __NR_clock_gettime: // Parameters filtered by RestrictClockID().
|
||||
case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID().
|
||||
+#if defined(__NR_clock_gettime64)
|
||||
+ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID().
|
||||
+#endif
|
||||
+#if defined(__NR_clock_nanosleep_time64)
|
||||
+ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID().
|
||||
+#endif
|
||||
case __NR_clock_settime: // Privileged.
|
||||
#if defined(__i386__) || \
|
||||
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
|
||||
@@ -1385,6 +1385,14 @@
|
||||
#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
|
||||
#endif
|
||||
|
||||
+#if !defined(__NR_clock_gettime64)
|
||||
+#define __NR_clock_gettime64 (__NR_SYSCALL_BASE+403)
|
||||
+#endif
|
||||
+
|
||||
+#if !defined(__NR_clock_nanosleep_time64)
|
||||
+#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE+407)
|
||||
+#endif
|
||||
+
|
||||
// ARM private syscalls.
|
||||
#if !defined(__ARM_NR_BASE)
|
||||
#define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
|
||||
@@ -1433,4 +1433,12 @@
|
||||
#define __NR_memfd_create (__NR_Linux + 354)
|
||||
#endif
|
||||
|
||||
+#if !defined(__NR_clock_gettime64)
|
||||
+#define __NR_clock_gettime64 (__NR_Linux + 403)
|
||||
+#endif
|
||||
+
|
||||
+#if !defined(__NR_clock_nanosleep_time64)
|
||||
+#define __NR_clock_nanosleep_time64 (__NR_Linux + 407)
|
||||
+#endif
|
||||
+
|
||||
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_
|
|
@ -1,144 +0,0 @@
|
|||
# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
|
||||
|
||||
diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2020-11-07 02:22:36.000000000 +0100
|
||||
+++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-20 02:14:53.066223906 +0100
|
||||
@@ -257,6 +257,18 @@
|
||||
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 -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2020-11-07 02:22:36.000000000 +0100
|
||||
+++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-01-22 19:02:55.651668257 +0100
|
||||
@@ -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 @@
|
||||
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 @@
|
||||
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 -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2020-11-07 02:22:36.000000000 +0100
|
||||
+++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-20 02:11:04.583714199 +0100
|
||||
@@ -62,6 +62,10 @@
|
||||
// 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 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 -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc 2020-11-07 02:22:36.000000000 +0100
|
||||
+++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc 2021-01-20 02:41:12.033133269 +0100
|
||||
@@ -261,4 +261,13 @@
|
||||
|
||||
#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 -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h 2020-11-07 02:22:36.000000000 +0100
|
||||
+++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h 2021-01-20 02:40:26.499827829 +0100
|
||||
@@ -17,6 +17,7 @@
|
||||
struct rlimit64;
|
||||
struct cap_hdr;
|
||||
struct cap_data;
|
||||
+struct stat64;
|
||||
|
||||
namespace sandbox {
|
||||
|
||||
@@ -84,6 +85,9 @@
|
||||
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_
|
|
@ -1,10 +1,9 @@
|
|||
# Template file for 'qt5-webengine'
|
||||
pkgname=qt5-webengine
|
||||
version=5.15.6
|
||||
version=5.15.7
|
||||
revision=1
|
||||
_version="${version}-lts"
|
||||
_commit=2acbba86362ac3a1c2d8c20390dc263875f8f09c
|
||||
_chromium_commit=9f71911e38c041cedc5291c5e772b7d03ce8b8c8
|
||||
_chromium_commit=8c0a9b4459f5200a24ab9e687a3fb32e975382e5
|
||||
archs="x86_64* i686* armv[67]* ppc64* aarch64*"
|
||||
wrksrc="qtwebengine-${_version}"
|
||||
build_style=qmake
|
||||
|
@ -33,8 +32,8 @@ license="GPL-3.0-or-later, LGPL-3.0-or-later"
|
|||
homepage="https://qt.io/"
|
||||
distfiles="https://github.com/qt/qtwebengine/archive/v${_version}.tar.gz
|
||||
https://github.com/qt/qtwebengine-chromium/archive/${_chromium_commit}.tar.gz"
|
||||
checksum="2f2fe706ad0b365dd9a261588d0097388540147acb167ca062877b91592c0212
|
||||
68d70367b503e3be54bc54349e0af319fcdffaf94796906ef00b495e0c732603"
|
||||
checksum="ef71f5bd741c917787a9431a2c359842de15a14126ef5f34ac28c8b0c07304ae
|
||||
75c79b886cf9c10778c5880754e1cf021e9a5e4fc372e8e6ab252d4ada263062"
|
||||
|
||||
no_generic_pkgconfig_link=yes
|
||||
build_options="sndio pipewire"
|
||||
|
|
Loading…
Add table
Reference in a new issue