Re: [Ltp-coverage] [RFC PATCH 5/8] module: add function to map address to containing module

Peter Oberparleiter
2008-04-22T12:40:54Z

Rusty Russell wrote:
> On Monday 21 April 2008 22:34:39 Peter Oberparleiter wrote:
>> From: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
>>
>> module_address() maps an address to the module containing it in either
>> text or data section. Required by the gcov profiling infrastructure to
>> associate profiling data structures with modules.
>
> Locking problem; this isn't safe. Note that we block preemption to traverse
> the module list. You could grab a reference, and fix up all the callers to
> put it once they're done?

Hm, problem: in this patchset, module_address() is called when the module is going (mod->state = MODULE_STATE_GOING) and try_module_get() would most likely fail and/or make no sense since we're already past reference counting with this module anyway.

On the other hand, what I actually need is a way to find out if a given module contains a certain address so I could replace this function with something like module_contains(mod, addr).
I'll go that route if there are no objections.

Regards,
Peter