[lkml]   [2006]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 3/16] LTTng 0.6.36 for 2.6.18 : Linux Kernel Markers
* Frank Ch. Eigler ( wrote:
> One question:
> > [...]
> > + /* Markers in modules. */
> > + list_for_each_entry(mod, &modules, list) {
> > + if (mod->license_gplok)
> > + found += marker_set_probe_range(name, format, probe,
> > + mod->markers, mod->markers+mod->num_markers);
> > + }
> > [...]
> > +EXPORT_SYMBOL(marker_set_probe);
> Are you sure the license_gplok check is necessary here? We should
> consider encouraging non-gpl module writers to instrument their code,
> to give users a slightly better chance of debugging problems.

Hi Frank,

I was kind of expecting this question. Well, it turns out that my markers module
modifies the struct module in module.h to add a few fields. Some drivers that I
won't name (ok, ok I will : clearcase) have the funny habit of distributing
their kernel modules as ".ko" files instead of sending a proper ".o" and later
link it against a wrapper.

The result is, I must say, quite bad : when I want to add a probe, I iterate on
each modules, verifying if there are any markers in the object. Things gets
really messy when the structure is corrupted.

The simplest way to work around this non-GPL problem is to completely disable
access to the marker infrastructure to non-GPL modules. I am not against
instrumentation of binary-only modules, but I don't think it is kernel
developer's job to support their broken binary blob distribution.

I thought that we might use the crc checksum as another criterion. As long as
the machines do not crash when adding markers when such modules are loaded.



OpenPGP public key:
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-11-28 03:43    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean