mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +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'
|
# Template file for 'qt5-webengine'
|
||||||
pkgname=qt5-webengine
|
pkgname=qt5-webengine
|
||||||
version=5.15.6
|
version=5.15.7
|
||||||
revision=1
|
revision=1
|
||||||
_version="${version}-lts"
|
_version="${version}-lts"
|
||||||
_commit=2acbba86362ac3a1c2d8c20390dc263875f8f09c
|
_chromium_commit=8c0a9b4459f5200a24ab9e687a3fb32e975382e5
|
||||||
_chromium_commit=9f71911e38c041cedc5291c5e772b7d03ce8b8c8
|
|
||||||
archs="x86_64* i686* armv[67]* ppc64* aarch64*"
|
archs="x86_64* i686* armv[67]* ppc64* aarch64*"
|
||||||
wrksrc="qtwebengine-${_version}"
|
wrksrc="qtwebengine-${_version}"
|
||||||
build_style=qmake
|
build_style=qmake
|
||||||
|
@ -33,8 +32,8 @@ license="GPL-3.0-or-later, LGPL-3.0-or-later"
|
||||||
homepage="https://qt.io/"
|
homepage="https://qt.io/"
|
||||||
distfiles="https://github.com/qt/qtwebengine/archive/v${_version}.tar.gz
|
distfiles="https://github.com/qt/qtwebengine/archive/v${_version}.tar.gz
|
||||||
https://github.com/qt/qtwebengine-chromium/archive/${_chromium_commit}.tar.gz"
|
https://github.com/qt/qtwebengine-chromium/archive/${_chromium_commit}.tar.gz"
|
||||||
checksum="2f2fe706ad0b365dd9a261588d0097388540147acb167ca062877b91592c0212
|
checksum="ef71f5bd741c917787a9431a2c359842de15a14126ef5f34ac28c8b0c07304ae
|
||||||
68d70367b503e3be54bc54349e0af319fcdffaf94796906ef00b495e0c732603"
|
75c79b886cf9c10778c5880754e1cf021e9a5e4fc372e8e6ab252d4ada263062"
|
||||||
|
|
||||||
no_generic_pkgconfig_link=yes
|
no_generic_pkgconfig_link=yes
|
||||||
build_options="sndio pipewire"
|
build_options="sndio pipewire"
|
||||||
|
|
Loading…
Add table
Reference in a new issue