Michael Holzheu wrote:
 Hi Dave!
 It can happen that crash does not extract the correct Linux version string
 from vmlinux. Therefore the comparison with /proc/version fails at startup:
 WARNING: /usr/lib/debug/lib/modules/2.6.17-1.2519.4.21.el5/vmlinux
          and /proc/version do not match!
 Crash gets the release string by searching strings in vmlinux. Something
 like:
 >> strings vmlinux | grep "Linux version"
 >`0Linux version 2.6.17-1.2519.4.21.el5 ...
 On our system the string does not start with "Linux...", but with
"0Linux...".
 Therefore crash assumes a wrong version string. To fix this, we should skip the
 leading "0":
 
Weird.  It must be the first string in a string section or something, presumably
in the s390 or s390x kernels only?
Looks fine -- I'll queue it up for the upstream and RHEL5-beta2 releases.
Thanks,
  Dave
 ---
 diff o-Naur crash-4.0-3.3/filesys.c crash-4.0-3.3-proc-version-check-fix/filesys.c
 --- crash-4.0-3.3/filesys.c     2006-09-07 21:00:08.000000000 +0200
 +++ crash-4.0-3.3-proc-version-check-fix/filesys.c      2006-09-13 15:36:54.000000000
+0200
 @@ -244,10 +244,12 @@
         found = FALSE;
          while (fgets(buffer, BUFSIZE-1, pipe)) {
 -               if (!strstr(buffer, "Linux version 2."))
 +               char* ptr;
 +               ptr = strstr(buffer, "Linux version 2.");
 +               if (!ptr)
                         continue;
 -                if (STREQ(buffer, kt->proc_version))
 +                if (STREQ(ptr, kt->proc_version))
                         found = TRUE;
                 break;
          }