On Mon, Mar 23, 2015 at 08:55:09AM +0900, Namhyung Kim wrote:

SNIP

> > > +  */
> > > + if (m->comp && is_kmod_dso(map->dso))
> > > +         map->dso->symtab_type++;
> > 
> > Ouch, does this assumes this is a:
> > 
> > DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE
> 
> Nope, it's one of _SYSTEM_PATH_KMODULE or _GUEST_KMODULE.
> 
> 
> > 
> > And that, because in the dso_binary_type enum
> > DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP comes right after it, and thus
> > this cryptic increment is equivalent to:
> > 
> >             map->dso->symtab_type = 
> > DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP;
> 
> Again, _SYSTEM_PATH_KMODULE_COMP or _GUEST_KMODULE_COMP.
> 

yep, the code assumes (correctly) that symtab_type is
either _SYSTEM_PATH_KMODULE or _GUEST_KMODULE.

Namhyung placed the _COMP enum right behind 'no comp' values:

enum dso_binary_type {
        ...
        DSO_BINARY_TYPE__GUEST_KMODULE,
        DSO_BINARY_TYPE__GUEST_KMODULE_COMP,
        DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE,
        DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP,
        ...

so we could safely just increase the symtab_type in case
we detect it's compressed kernel module.

Perhaps the code could be more verbose on this, but since such
comment wasn't part of the previous code I did not feel the need
to add it now ;-)

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to