This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH 3/16] LTTng 0.6.36 for 2.6.18 : Linux Kernel Markers
- From: Mathieu Desnoyers <compudj at krystal dot dyndns dot org>
- To: "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: linux-kernel at vger dot kernel dot org, Christoph Hellwig <hch at infradead dot org>, Andrew Morton <akpm at osdl dot org>, Ingo Molnar <mingo at redhat dot com>, Greg Kroah-Hartman <gregkh at suse dot de>, Thomas Gleixner <tglx at linutronix dot de>, Tom Zanussi <zanussi at us dot ibm dot com>, Karim Yaghmour <karim at opersys dot com>, Paul Mundt <lethal at linux-sh dot org>, Jes Sorensen <jes at sgi dot com>, Richard J Moore <richardj_moore at uk dot ibm dot com>, "Martin J. Bligh" <mbligh at mbligh dot org>, Michel Dagenais <michel dot dagenais at polymtl dot ca>, Douglas Niehaus <niehaus at eecs dot ku dot edu>, ltt-dev at shafik dot org, systemtap at sources dot redhat dot com
- Date: Mon, 27 Nov 2006 21:33:50 -0500
- Subject: Re: [PATCH 3/16] LTTng 0.6.36 for 2.6.18 : Linux Kernel Markers
- References: <20061124215401.GD25048@Krystal> <y0mu00kpawa.fsf@ton.toronto.redhat.com>
* Frank Ch. Eigler (fche@redhat.com) 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.
Regards,
Mathieu
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68