This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On Mon, Nov 27, 2006 at 09:33:50PM -0500, Mathieu Desnoyers wrote:
> * 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.

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++.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]