lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2068181682.121641283656654395.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
Date:	Sat, 4 Sep 2010 23:17:34 -0400 (EDT)
From:	CAI Qian <caiqian@...hat.com>
To:	Guenter Roeck <guenter.roeck@...csson.com>
Cc:	Dave Anderson <anderson@...hat.com>, tj@...nel.org, gregkh@...e.de,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: crash failure with 2.6.36-rc3 vmcore


----- "Guenter Roeck" <guenter.roeck@...csson.com> wrote:

> On Sat, Sep 04, 2010 at 11:07:43AM -0400, caiqian@...hat.com wrote:
> > Sorry for the confusion. Here is some background. The test here was
> to use the crash utility to analyse a vmcore generated from kdump.
> This commit caused its subcommand mod -S failed to gather the module
> section data from the in-kernel data structure as it looks like it
> still depends on this field. I am not sure if that the crash utility
> just need to be adjusted to cope with this kernel change.
> > 
> That would be the proper fix.
> 
> Question is what version of the crash utility you are using.
> The one included in my distribution (reporting to be version 4.1.0)
> doesn't include the code below.
The latest upstream version 5.0.7, and can be found here,
http://people.redhat.com/anderson/
> 
> Thanks,
> Guenter
> 
> > From http://people.redhat.com/anderson/crash_sources/symbols.c
> > /*
> >  *  Gather the module section data from the in-kernel data
> structures.
> >  */
> > static int
> > add_symbol_file_kallsyms(struct load_module *lm, struct gnu_request
> *req)
> > {
> >         int len, buflen, done, nsections, retval;
> >         ulong vaddr, array_entry, attribute, owner, name, address;
> >         long name_type;
> >         char buf[BUFSIZE];
> >         char section_name[BUFSIZE];
> >         ulong section_vaddr;
> > 
> >         if (!(st->flags &
> (MODSECT_V1|MODSECT_V2|MODSECT_V3|MODSECT_UNKNOWN))) {
> >                 STRUCT_SIZE_INIT(module_sect_attr,
> "module_sect_attr");
> >                 MEMBER_OFFSET_INIT(module_sect_attrs,
> >                         "module", "sect_attrs");
> >                 MEMBER_OFFSET_INIT(module_sect_attrs_attrs,
> >                         "module_sect_attrs", "attrs");
> >                 MEMBER_OFFSET_INIT(module_sect_attrs_nsections,
> >                         "module_sect_attrs", "nsections");
> >                 MEMBER_OFFSET_INIT(module_sect_attr_mattr,
> >                         "module_sect_attr", "mattr");
> >                 MEMBER_OFFSET_INIT(module_sect_attr_name,
> >                         "module_sect_attr", "name");
> >                 MEMBER_OFFSET_INIT(module_sect_attr_address,
> >                         "module_sect_attr", "address");
> >                 MEMBER_OFFSET_INIT(module_attribute_attr,
> >                         "module_attribute", "attr");
> >                 MEMBER_OFFSET_INIT(module_sect_attr_attr,
> >                         "module_sect_attr", "attr");
> >                 MEMBER_OFFSET_INIT(module_sections_attrs,
> >                         "module_sections", "attrs");
> >                 MEMBER_OFFSET_INIT(attribute_owner,
> >                         "attribute", "owner");
> > ...
> >                 owner = attribute + OFFSET(attribute_owner);
> > 
> > 
> > ----- "Guenter Roeck" <guenter.roeck@...csson.com> wrote:
> > 
> > > Hi,
> > > 
> > > On Sat, Sep 04, 2010 at 02:01:06AM -0400, CAI Qian wrote:
> > > > 
> > > > > crash> mod -S
> > > > > 
> > > > > mod: invalid structure member offset: attribute_owner
> > > > >      FILE: symbols.c  LINE: 8577  FUNCTION:
> > > add_symbol_file_kallsyms()
> > > > > 
> > > > >      MODULE       NAME                   SIZE  OBJECT FILE
> > > > > ffffffffa000de60  dm_mod                76230 
> > > > >
> > >
> /lib/modules/2.6.36-rc2-mm1-wqfix-mkdfix+/kernel/drivers/md/dm-mod.ko
> > > > > [/usr/bin/crash] error trace: 4affb0 => 4f3236 => 4f12b5 =>
> > > 4e587a
> > > > > 
> > > > >   4e587a: OFFSET_verify.clone.4+186
> > > > >   4f12b5: add_symbol_file+933
> > > > >   4f3236: load_module_symbols+566
> > > > >   4affb0: do_module_cmd+1264
> > > > > 
> > > > > mod: invalid structure member offset: attribute_owner
> > > > >      FILE: symbols.c  LINE: 8577  FUNCTION:
> > > add_symbol_file_kallsyms()
> > > 
> > > What do I have to do to reproduce this crash ? 
> > > 
> > > Was the module in question compiled w/ the kernel, or separately
> ?
> > > Did it use the correct kernel header files for compilation ?
> > > Was the kernel version -rc3, or some other patched version ?
> > > 
> > > Just wondering, since the above message says
> > > 2.6.36-rc2-mm1-wqfix-mkdfix+,
> > > which seems to indicate that it included some modifications.
> > > 
> > > Thanks,
> > > Guenter
> > > 
> > > > This failure was due to this commit,
> > > > 
> > > > commit 6fd69dc578fa0b1bbc3aad70ae3af9a137211707
> > > > Author: Guenter Roeck <guenter.roeck@...csson.com>
> > > > Date:   Wed Jul 28 22:09:26 2010 -0700
> > > > 
> > > >     sysfs: Remove owner field from sysfs struct attribute
> > > >     
> > > >     Signed-off-by: Guenter Roeck <guenter.roeck@...csson.com>
> > > >     Acked-by: Tejun Heo <tj@...nel.org>
> > > >     Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
> > > > 
> > > > diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
> > > > index 8bf06b6..3c92121 100644
> > > > --- a/include/linux/sysfs.h
> > > > +++ b/include/linux/sysfs.h
> > > > @@ -22,14 +22,8 @@ struct kobject;
> > > >  struct module;
> > > >  enum kobj_ns_type;
> > > >  
> > > > -/* FIXME
> > > > - * The *owner field is no longer used.
> > > > - * x86 tree has been cleaned up. The owner
> > > > - * attribute is still left for other arches.
> > > > - */
> > > >  struct attribute {
> > > >         const char              *name;
> > > > -       struct module           *owner;
> > > >         mode_t                  mode;
> > > >  #ifdef CONFIG_DEBUG_LOCK_ALLOC
> > > >         struct lock_class_key   *key;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ