Re: [PATCH 3/16] LTTng 0.6.36 for 2.6.18 : Linux Kernel Markers

From: Christoph Hellwig
Date: Tue Nov 28 2006 - 00:41:04 EST


On Mon, Nov 27, 2006 at 09:33:50PM -0500, Mathieu Desnoyers wrote:
> * Frank Ch. Eigler (fche@xxxxxxxxxx) 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.

Please don't add hacks like that for non-GPL modules. But neither
should we export any tracing functionality for them. They;re not the
kind of people we want to help at all, and Frank just shows once again that
he should rather stay away from kernel stuff and keep on writing C++.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/