Messages in this thread | | | Date | Tue, 22 Apr 2008 14:40:42 +0200 | From | Peter Oberparleiter <> | Subject | Re: [Ltp-coverage] [RFC PATCH 5/8] module: add function to map address to containing module |
| |
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
| |