[Crash-utility] [PATCH] Fix junk values when run crash on a .gz file

aruna arunabal at linux.vnet.ibm.com
Mon Dec 5 14:26:12 UTC 2011


Hi Dave,

If a user by mistake issues the below command some junk characters are
printed on the console. (crash vmlinux.gz or any .gz file) Please
advise.

linux:/boot # crash vmlinux-3.0.10-0.7-default.gz 

crash: ��{�UU����3ܣ@bjb

R�I-& ��
       
�c�"O9�Y��X^f<3��86���v1RS�q��\`������#��^����k�s@��}���=
�׳d��g_�^{���Z{�����O-
F�-W|y�7���f9�k���g���: compressed file name does
not start with "vmlinux"
       Use "-f vmlinux-3.0.10-0.7-default.gz" on command line to override.

crash: vmlinux-3.0.10-0.7-default.gz: not a supported file format

Aruna

On Mon, 2011-12-05 at 08:28 -0500, Dave Anderson wrote:
> The whole point of the "vmlinux" name check is to verify from
> the compressed header itself whether it was generated from a file
> that started with the name-string "vmlinux".  It's not interested 
> in whatever the .gz creator named the compressed file.  If you want
> to work around that restriction, use "crash -f ...".
> 
> Dave
> 
> 
> ----- Original Message -----
> > Signed-off-by: Aruna Balakrishnaiah <aruna at linux.vnet.ibm.com>
> > 
> > ---
> >  symbols.c |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/symbols.c b/symbols.c
> > index 0cd3a01..acd8ad5 100755
> > --- a/symbols.c
> > +++ b/symbols.c
> > @@ -2995,10 +2995,10 @@ is_compressed_kernel(char *file, char **tmp)
> >  	type = 0;
> >  
> >  	if ((header[0] == 0x1f) && (header[1] == 0x8b) && (header[2] == 8))
> >  	{
> > -		if (!STRNEQ((char *)&header[10], "vmlinux") &&
> > +		if (!STRNEQ(basename(file), "vmlinux") &&
> >  		    !(st->flags & FORCE_DEBUGINFO)) {
> >  			error(INFO, "%s: compressed file name does not "
> > -			    "start with \"vmlinux\"\n", &header[10]);
> > +			    "start with \"vmlinux\"\n", file);
> >  			error(CONT,
> >  			    "Use \"-f %s\" on command line to override.\n\n",
> >  				file);
> > 
> > 
> 





More information about the Crash-utility mailing list