Hello community,

here is the log from the commit of package crash for openSUSE:Factory checked 
in at 2018-07-06 10:42:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash (Old)
 and      /work/SRC/openSUSE:Factory/.crash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash"

Fri Jul  6 10:42:06 2018 rev:149 rq:620656 version:7.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/crash/crash.changes      2018-03-26 
13:06:34.973754920 +0200
+++ /work/SRC/openSUSE:Factory/.crash.new/crash.changes 2018-07-06 
10:42:11.531240707 +0200
@@ -1,0 +2,19 @@
+Wed Jul  4 19:26:40 UTC 2018 - ptesa...@suse.com
+
+- Added crash-fix-snprintf-overflow.patch
+  Fix to address a "__builtin___snprintf_chk" compiler warning.
+- Added crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch
+  Update the recognition of x86_64 CPU_ENTRY_AREA.
+
+-------------------------------------------------------------------
+Wed Jul  4 14:23:28 UTC 2018 - ptesa...@suse.com
+
+- Upgrade the source tarball to version to 7.2.3
+  A complete changelog is available via the crash source page at:
+
+  http://people.redhat.com/anderson/crash.changelog.html
+
+- Refreshed:
+    crash-compressed-booted-kernel.patch
+
+-------------------------------------------------------------------

Old:
----
  crash-7.2.1.tar.gz

New:
----
  crash-7.2.3.tar.gz
  crash-fix-snprintf-overflow.patch
  crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch

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

Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.JdRZge/_old  2018-07-06 10:42:12.743239265 +0200
+++ /var/tmp/diff_new_pack.JdRZge/_new  2018-07-06 10:42:12.743239265 +0200
@@ -56,7 +56,7 @@
 Summary:        Crash utility for live systems; netdump, diskdump, LKCD or 
mcore dumpfiles
 License:        GPL-3.0-or-later AND GFDL-1.2-only
 Group:          Development/Tools/Debuggers
-Version:        7.2.1
+Version:        7.2.3
 Release:        0
 Source:         %{name}-%{version}.tar.gz
 Source2:        crash_whitepaper-%{whitepaper_version}.tar.bz2
@@ -84,6 +84,8 @@
 Patch16:        eppic-support-arm64.patch
 Patch18:        %{name}-stop_read_error_when_intent_is_retry.patch
 Patch21:        %{name}-allow-use-of-sadump-captured-KASLR-kernel.patch
+Patch22:        %{name}-fix-snprintf-overflow.patch
+Patch23:        %{name}-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch
 Patch90:        %{name}-sial-ps-2.6.29.diff
 BuildRequires:  bison
 BuildRequires:  flex
@@ -280,6 +282,8 @@
 %patch13 -p1
 %patch18 -p1
 %patch21 -p1
+%patch22 -p1
+%patch23 -p1
 %if %{have_snappy}
 %patch15 -p1
 %endif

++++++ crash-7.2.1.tar.gz -> crash-7.2.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/crash/crash-7.2.1.tar.gz 
/work/SRC/openSUSE:Factory/.crash.new/crash-7.2.3.tar.gz differ: char 5, line 1

++++++ crash-compressed-booted-kernel.patch ++++++
--- /var/tmp/diff_new_pack.JdRZge/_old  2018-07-06 10:42:12.791239207 +0200
+++ /var/tmp/diff_new_pack.JdRZge/_new  2018-07-06 10:42:12.795239203 +0200
@@ -11,7 +11,7 @@
 
 --- a/filesys.c
 +++ b/filesys.c
-@@ -571,6 +571,7 @@ static int
+@@ -579,6 +579,7 @@ static int
  find_booted_kernel(void)
  {
        char kernel[BUFSIZE];
@@ -19,12 +19,12 @@
        char buffer[BUFSIZE];
        char **searchdirs;
        int i, preferred, wrapped;
-@@ -620,16 +621,24 @@ find_booted_kernel(void)
+@@ -628,16 +629,24 @@ find_booted_kernel(void)
                        sprintf(kernel, "%s%s", searchdirs[i], dp->d_name);
  
                        if (mount_point(kernel) ||
 -                          !file_readable(kernel) || 
--                            !is_elf_file(kernel))
+-                            !is_kernel(kernel))
 +                          !file_readable(kernel))
                                continue;
  
@@ -37,7 +37,7 @@
  
 -                      found = match_file_string(kernel, kt->proc_version, 
buffer);
 -      
-+                      if (!is_elf_file(real_kernel)) {
++                      if (!is_kernel(real_kernel)) {
 +                              if (real_kernel != kernel)
 +                                      free(real_kernel);
 +                              continue;
@@ -48,7 +48,7 @@
                        if (found)
                                break;
                }
-@@ -649,10 +658,19 @@ find_booted_kernel(void)
+@@ -657,10 +666,19 @@ find_booted_kernel(void)
                        if (CRASHDEBUG(1))
                                fprintf(fp, "find_booted_kernel: found: %s\n", 
                                        pc->namelist);

++++++ crash-fix-snprintf-overflow.patch ++++++
From: Dave Anderson <ander...@redhat.com>
Date: Fri, 1 Jun 2018 14:01:01 -0400
Subject: Fix to address a "__builtin___snprintf_chk" compiler warning
Upstream: merged
Git-commit: 9446958fe211825ed5524317b05d5ea020bb00d6

Fix to address a "__builtin___snprintf_chk" compiler warning if bpf.c
is compiled with -D_FORTIFY_SOURCE=2.
(ander...@redhat.com)

---
 bpf.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/bpf.c
+++ b/bpf.c
@@ -362,7 +362,7 @@ do_bpf(ulong flags, ulong prog_id, ulong
                        fprintf(fp, "     LOAD_TIME: ");
                        if (VALID_MEMBER(bpf_prog_aux_load_time)) {
                                load_time = ULONGLONG(bpf->bpf_prog_aux_buf + 
OFFSET(bpf_prog_aux_load_time));
-                               print_boot_time(load_time, buf5, BUFSIZE);
+                               print_boot_time(load_time, buf5, BUFSIZE/2);
                                fprintf(fp, "%s\n", buf5);
                        } else
                                fprintf(fp, "(unknown)\n");

++++++ crash-update-recognition-of-x86_64-CPU_ENTRY_AREA.patch ++++++
From: Dave Anderson <ander...@redhat.com>
Date: Fri, 1 Jun 2018 10:58:00 -0400
Subject: Update the recognition of x86_64 CPU_ENTRY_AREA
Upstream: merged
Git-commit: da49e2010b3cb88b4755d69d38fe90af6ba218b2

Update for the recognition of the new x86_64 CPU_ENTRY_AREA virtual
address range introduced in Linux 4.15.  The memory range exists
above the vmemmap range and below the mapped kernel static text/data
region, and where all of the x86_64 exception stacks have been moved.
Without the patch, reads from the new memory region fail because the
address range is not recognized as a legitimate virtual address.
Most notable is the failure of "bt" on tasks whose backtraces
originate from any of the exception stacks, which fail with the two
error messages "bt: seek error: kernel virtual address: <address>
type: stack contents" followed by "bt: read of stack at <address>
failed".
(ander...@redhat.com)

---
 defs.h   |    5 +++++
 x86_64.c |   47 +++++++++++++++++++++++++++++++++++------------
 2 files changed, 40 insertions(+), 12 deletions(-)

--- a/defs.h
+++ b/defs.h
@@ -3392,6 +3392,9 @@ struct arm64_stackframe {
 #define VSYSCALL_START             0xffffffffff600000
 #define VSYSCALL_END               0xffffffffff601000
 
+#define CPU_ENTRY_AREA_START       0xfffffe0000000000
+#define CPU_ENTRY_AREA_END         0xfffffe7fffffffff
+
 #define PTOV(X)               ((unsigned long)(X)+(machdep->kvbase))
 #define VTOP(X)               x86_64_VTOP((ulong)(X))
 #define IS_VMALLOC_ADDR(X)    x86_64_IS_VMALLOC_ADDR((ulong)(X))
@@ -5830,6 +5833,8 @@ struct machine_specific {
        ulong kpti_entry_stack;
        ulong kpti_entry_stack_size;
        ulong ptrs_per_pgd;
+       ulong cpu_entry_area_start;
+       ulong cpu_entry_area_end;
 };
 
 #define KSYMS_START    (0x1)
--- a/x86_64.c
+++ b/x86_64.c
@@ -407,6 +407,11 @@ x86_64_init(int when)
                                machdep->machspec->modules_end = 
MODULES_END_2_6_31;
                        }
                }
+               if (STRUCT_EXISTS("cpu_entry_area")) {
+                       machdep->machspec->cpu_entry_area_start = 
CPU_ENTRY_AREA_START; 
+                       machdep->machspec->cpu_entry_area_end = 
CPU_ENTRY_AREA_END;     
+               }
+
                 STRUCT_SIZE_INIT(cpuinfo_x86, "cpuinfo_x86");
                /* 
                 * Before 2.6.25 the structure was called gate_struct
@@ -865,20 +870,21 @@ x86_64_dump_machdep_table(ulong arg)
 
        /* pml4 and upml is legacy for extension modules */
        if (ms->pml4) {
-               fprintf(fp, "                     pml4: %lx\n", 
(ulong)ms->pml4);
-               fprintf(fp, "           last_pml4_read: %lx\n", 
(ulong)ms->last_pml4_read);
+               fprintf(fp, "                     pml4: %lx\n", 
(ulong)ms->pml4);
+               fprintf(fp, "           last_pml4_read: %lx\n", 
(ulong)ms->last_pml4_read);
 
        } else {
-               fprintf(fp, "                 pml4: (unused)\n");
-               fprintf(fp, "       last_pml4_read: (unused)\n");
+               fprintf(fp, "                     pml4: (unused)\n");
+               fprintf(fp, "           last_pml4_read: (unused)\n");
        }
 
        if (ms->upml) {
-               fprintf(fp, "                 upml: %lx\n", (ulong)ms->upml);
-               fprintf(fp, "       last_upml_read: %lx\n", 
(ulong)ms->last_upml_read);
+               fprintf(fp, "                     upml: %lx\n", 
(ulong)ms->upml);
+               fprintf(fp, "           last_upml_read: %lx\n", 
(ulong)ms->last_upml_read);
        } else {
-               fprintf(fp, "                 upml: (unused)\n");
-               fprintf(fp, "       last_upml_read: (unused)\n");
+               fprintf(fp, "                 GART_end: %lx\n", ms->GART_end);
+               fprintf(fp, "                     upml: (unused)\n");
+               fprintf(fp, "           last_upml_read: (unused)\n");
        }
 
        if (ms->p4d) {
@@ -1002,10 +1008,14 @@ x86_64_dump_machdep_table(ulong arg)
                        fprintf(fp, "\n   ");
                fprintf(fp, "%016lx ", ms->stkinfo.ibase[c]);
        }
-       fprintf(fp, "\n                 kpti_entry_stack_size: %ld", 
ms->kpti_entry_stack_size);
-       fprintf(fp, "\n                      kpti_entry_stack: ");
+       fprintf(fp, "\n    kpti_entry_stack_size: ");
+       if (ms->kpti_entry_stack_size)
+               fprintf(fp, "%ld", ms->kpti_entry_stack_size);
+       else
+               fprintf(fp, "(unused)");
+       fprintf(fp, "\n         kpti_entry_stack: ");
        if (machdep->flags & KPTI) {
-               fprintf(fp, "%lx\n   ", ms->kpti_entry_stack);
+               fprintf(fp, "(percpu: %lx):\n   ", ms->kpti_entry_stack);
                for (c = 0; c < cpus; c++) {
                        if (c && !(c%4))
                                fprintf(fp, "\n   ");
@@ -1014,6 +1024,16 @@ x86_64_dump_machdep_table(ulong arg)
                fprintf(fp, "\n");
        } else
                fprintf(fp, "(unused)\n");
+       fprintf(fp, "     cpu_entry_area_start: ");
+       if (ms->cpu_entry_area_start)
+               fprintf(fp, "%016lx\n", (ulong)ms->cpu_entry_area_start);
+       else
+               fprintf(fp, "(unused)\n");
+       fprintf(fp, "       cpu_entry_area_end: ");
+       if (ms->cpu_entry_area_end)
+               fprintf(fp, "%016lx\n", (ulong)ms->cpu_entry_area_end);
+       else
+               fprintf(fp, "(unused)\n");
 }
 
 /*
@@ -1572,7 +1592,10 @@ x86_64_IS_VMALLOC_ADDR(ulong vaddr)
                 ((machdep->flags & VMEMMAP) && 
                 (vaddr >= VMEMMAP_VADDR && vaddr <= VMEMMAP_END)) ||
                 (vaddr >= MODULES_VADDR && vaddr <= MODULES_END) ||
-               (vaddr >= VSYSCALL_START && vaddr < VSYSCALL_END));
+               (vaddr >= VSYSCALL_START && vaddr < VSYSCALL_END) ||
+               (machdep->machspec->cpu_entry_area_start && 
+                vaddr >= machdep->machspec->cpu_entry_area_start &&
+                vaddr <= machdep->machspec->cpu_entry_area_end));
 }
 
 static int 

Reply via email to