forked from pool/libqt5-qtwebengine
Accepting request 796191 from home:Vogtinator:qt5.15
- Refresh fix1163766.patch - Add fix1163766.patch to fix opensuse-welcome on i686 (boo#1163766) * QTBUG-81574.patch - Fix a deadlock causing audio/video playback to fail (boo#1163744): * QTBUG-82186.patch - Fix an issue with selections breaking replying in KMail: * QTBUG-81574.patch OBS-URL: https://build.opensuse.org/request/show/796191 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwebengine?expand=0&rev=7
This commit is contained in:
parent
4209cab104
commit
5dd6614659
48
QTBUG-82186.patch
Normal file
48
QTBUG-82186.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
From c729361f9f8f6c0602d401d5e230ba63ab11a682 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jüri Valdmann <juri.valdmann@qt.io>
|
||||||
|
Date: Wed, 19 Feb 2020 14:15:34 +0100
|
||||||
|
Subject: [PATCH] Fix recursive deadlock in sandbox::InitLibcLocaltimeFunctions
|
||||||
|
|
||||||
|
QtWebEngineProcess overrides the C library's localtime* functions by redefining
|
||||||
|
the symbols in src/process/main.cpp and then using dlsym(RTLD_NEXT, ...) to
|
||||||
|
fetch the original symbols in //sandbox/linux/services/libc_interceptor.cc. The
|
||||||
|
functions InitLibcLocaltimeFunctions{,Impl} use pthread_once to guarantee that
|
||||||
|
this symbol resolution happens only once.
|
||||||
|
|
||||||
|
If dlsym fails, for example because the C library is earlier in the search path
|
||||||
|
than QtWebEngineCore, then InitLibcLocaltimeFunctionsImpl tries to print an
|
||||||
|
error message with LOG(ERROR). However, printing a log message involves also
|
||||||
|
printing the timestamp in the local time zone, using, of course, localtime_r.
|
||||||
|
Thus, InitLibcLocaltimeFunctions depends on localtime_r depends on
|
||||||
|
InitLibcLocaltimeFunctions, and we get a deadlock due to the recursive use of
|
||||||
|
pthread_once.
|
||||||
|
|
||||||
|
This deadlock happens only for utility processes and not for zygotes or
|
||||||
|
renderers, since the latter proxy the localtime* calls back to the main process.
|
||||||
|
(See service_manager::ZygoteMain, where the first function call is to
|
||||||
|
sandbox::SetAmZygoteOrRenderer, and compare with content::UtilityMain)
|
||||||
|
|
||||||
|
Task-number: QTBUG-82186
|
||||||
|
Change-Id: I32009e8482b2634c47082a4c89393dc61c22507e
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc b/chromium/sandbox/linux/services/libc_interceptor.cc
|
||||||
|
index ed4dd02..fad77f9 100644
|
||||||
|
--- a/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc
|
||||||
|
+++ b/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc
|
||||||
|
@@ -199,6 +199,7 @@
|
||||||
|
g_libc_funcs->localtime64_r =
|
||||||
|
reinterpret_cast<LocaltimeRFunction>(dlsym(RTLD_NEXT, "localtime64_r"));
|
||||||
|
|
||||||
|
+#if !defined(TOOLKIT_QT)
|
||||||
|
if (!g_libc_funcs->localtime || !g_libc_funcs->localtime_r) {
|
||||||
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=16800
|
||||||
|
//
|
||||||
|
@@ -210,6 +211,7 @@
|
||||||
|
" time related functions to misbehave. "
|
||||||
|
"https://bugs.chromium.org/p/chromium/issues/detail?id=16800";
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (!g_libc_funcs->localtime)
|
||||||
|
g_libc_funcs->localtime = gmtime;
|
56
fix1163766.patch
Normal file
56
fix1163766.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
Author Bernhard M. Wiedemann <bwiedemann suse de>
|
||||||
|
Date: 2020-04-07
|
||||||
|
|
||||||
|
https://bugzilla.opensuse.org/show_bug.cgi?id=1163766
|
||||||
|
|
||||||
|
seccomp filters disallow a new kernel syscall to get time
|
||||||
|
used on i586
|
||||||
|
|
||||||
|
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||||
|
===================================================================
|
||||||
|
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||||
|
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||||
|
@@ -1710,5 +1710,13 @@
|
||||||
|
#define __NR_clone3 435
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if !defined(__NR_clock_gettime64)
|
||||||
|
+#define __NR_clock_gettime64 403
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__NR_clock_nanosleep_time64)
|
||||||
|
+#define __NR_clock_nanosleep_time64 407
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
|
||||||
|
|
||||||
|
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
|
===================================================================
|
||||||
|
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
|
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||||
|
@@ -151,6 +151,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||||
|
if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
|
||||||
|
return RestrictClockID();
|
||||||
|
}
|
||||||
|
+#if defined(__NR_clock_gettime64)
|
||||||
|
+ if (sysno == __NR_clock_gettime64 || sysno == __NR_clock_nanosleep_time64) {
|
||||||
|
+ return RestrictClockID();
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (sysno == __NR_clone) {
|
||||||
|
return RestrictCloneToThreadsAndEPERMFork();
|
||||||
|
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
||||||
|
===================================================================
|
||||||
|
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
||||||
|
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
||||||
|
@@ -31,6 +31,9 @@ ResultExpr ImeProcessPolicy::EvaluateSys
|
||||||
|
#if defined(__NR_clock_gettime)
|
||||||
|
case __NR_clock_gettime:
|
||||||
|
#endif
|
||||||
|
+#if defined(__NR_clock_gettime64)
|
||||||
|
+ case __NR_clock_gettime64:
|
||||||
|
+#endif
|
||||||
|
return Allow();
|
||||||
|
// https://crbug.com/991435
|
||||||
|
#if defined(__NR_getrusage)
|
@ -4,6 +4,12 @@ Tue Apr 14 06:47:59 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
|||||||
- Update to 5.15.0-beta3:
|
- Update to 5.15.0-beta3:
|
||||||
* New bugfix release
|
* New bugfix release
|
||||||
* No changelog available
|
* No changelog available
|
||||||
|
- Refresh fix1163766.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 9 08:21:02 UTC 2020 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||||
|
|
||||||
|
- Add fix1163766.patch to fix opensuse-welcome on i686 (boo#1163766)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 30 13:49:40 UTC 2020 - Fabian Vogt <fvogt@suse.com>
|
Mon Mar 30 13:49:40 UTC 2020 - Fabian Vogt <fvogt@suse.com>
|
||||||
@ -26,6 +32,19 @@ Fri Feb 28 09:59:24 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
|||||||
* No changelog available
|
* No changelog available
|
||||||
- Drop patches, now upstream:
|
- Drop patches, now upstream:
|
||||||
* fix-missing-designerplugin.patch
|
* fix-missing-designerplugin.patch
|
||||||
|
* QTBUG-81574.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 21 13:36:31 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Fix a deadlock causing audio/video playback to fail (boo#1163744):
|
||||||
|
* QTBUG-82186.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 21 09:25:44 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Fix an issue with selections breaking replying in KMail:
|
||||||
|
* QTBUG-81574.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Feb 19 10:17:00 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
Wed Feb 19 10:17:00 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
@ -53,8 +53,11 @@ Patch1: armv6-ffmpeg-no-thumb.patch
|
|||||||
Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
|
Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||||
# PATCH-FIX-UPSTREAM 0001-fix-build-after-y2038-changes-in-glibc.patch
|
# PATCH-FIX-UPSTREAM 0001-fix-build-after-y2038-changes-in-glibc.patch
|
||||||
Patch3: 0001-fix-build-after-y2038-changes-in-glibc.patch
|
Patch3: 0001-fix-build-after-y2038-changes-in-glibc.patch
|
||||||
|
# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/291216
|
||||||
|
Patch5: QTBUG-82186.patch
|
||||||
# PATCH-FIX-OPENSUSE
|
# PATCH-FIX-OPENSUSE
|
||||||
Patch6: some-more-includes-gcc10.patch
|
Patch6: some-more-includes-gcc10.patch
|
||||||
|
Patch7: fix1163766.patch
|
||||||
# http://www.chromium.org/blink not ported to PowerPC
|
# http://www.chromium.org/blink not ported to PowerPC
|
||||||
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
||||||
# Try to fix i586 MemoryErrors with rpmlint
|
# Try to fix i586 MemoryErrors with rpmlint
|
||||||
|
Loading…
Reference in New Issue
Block a user