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; }