Hello community,

here is the log from the commit of package crash for openSUSE:Factory checked 
in at 2020-09-12 00:13:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash (Old)
 and      /work/SRC/openSUSE:Factory/.crash.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash"

Sat Sep 12 00:13:43 2020 rev:165 rq:833827 version:7.2.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/crash/crash.changes      2020-09-06 
00:02:58.259270923 +0200
+++ /work/SRC/openSUSE:Factory/.crash.new.4249/crash.changes    2020-09-12 
00:14:36.601334562 +0200
@@ -1,0 +2,12 @@
+Wed Sep  9 16:45:44 UTC 2020 - David Mair <dm...@suse.com>
+
+- Add crash-verify-exception-frame-accessible-for-all-verify-requests.patch
+  In calls to search a stack for x86_64 exceptions a flag is used
+  to request the stack be verified for room to contain saved
+  registers. The verify is not performed if other flags are used
+  in the same call. Fixing this exposes another bug where only a
+  kernel stack is verified anyway, even if the exception is being
+  searched for on a userspace stack. Patch fixes both problems.
+  (bsc#1162297)
+
+-------------------------------------------------------------------

New:
----
  crash-verify-exception-frame-accessible-for-all-verify-requests.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.tCU0ll/_old  2020-09-12 00:14:38.877336740 +0200
+++ /var/tmp/diff_new_pack.tCU0ll/_new  2020-09-12 00:14:38.877336740 +0200
@@ -81,6 +81,7 @@
 Patch27:        %{name}-Define-fallback-PN_XNUM.patch
 Patch28:        %{name}-fix-memory_driver-build-kernel-5.8.patch
 Patch29:        eppic-remove-duplicate-symbols.patch
+Patch30:        
%{name}-verify-exception-frame-accessible-for-all-verify-requests.patch
 Patch90:        %{name}-sial-ps-2.6.29.diff
 BuildRequires:  bison
 BuildRequires:  flex
@@ -277,6 +278,7 @@
 %patch26 -p1
 %patch27 -p1
 %patch28 -p1
+%patch30 -p1
 %if %{have_snappy}
 %patch15 -p1
 %endif


++++++ crash-verify-exception-frame-accessible-for-all-verify-requests.patch 
++++++
Index: b/x86_64.c
===================================================================
--- a/x86_64.c
+++ b/x86_64.c
@@ -4386,15 +4386,20 @@ x86_64_exception_frame(ulong flags, ulon
         long r8, r9, r10, r11, r12, r13, r14, r15;
        struct machine_specific *ms;
        struct syment *sp;
-       ulong offset;
+       ulong offset, verify_addr;
        char *pt_regs_buf;
        long verified;
        long err;
        char buf[BUFSIZE];
 
-       if (flags == EFRAME_VERIFY) {
-               if (!accessible(kvaddr) || 
-                   !accessible(kvaddr + SIZE(pt_regs) - sizeof(long)))
+       if (flags & EFRAME_VERIFY) {
+               if (kvaddr)
+                       verify_addr = kvaddr;
+               else
+                       verify_addr = (local - bt->stackbuf) + bt->stackbase;
+
+               if (!accessible(verify_addr) || 
+                       !accessible(verify_addr + SIZE(pt_regs) - sizeof(long)))
                        return FALSE;
        }
 

Reply via email to