| Date | Mon, 29 May 2006 18:33:25 -0700 | From | Andrew Morton <> | Subject | Re: [patch 06/61] lock validator: add __module_address() method |
| |
On Mon, 29 May 2006 23:23:33 +0200 Ingo Molnar <mingo@elte.hu> wrote:
> +/* > + * Is this a valid module address? We don't grab the lock. > + */ > +int __module_address(unsigned long addr) > +{ > + struct module *mod; > + > + list_for_each_entry(mod, &modules, list) > + if (within(addr, mod->module_core, mod->core_size)) > + return 1; > + return 0; > +}
Returns a boolean.
> /* Is this a valid kernel address? We don't grab the lock: we are oopsing. */ > struct module *__module_text_address(unsigned long addr)
But this returns a module*.
I'd suggest that __module_address() should do the same thing, from an API neatness POV. Although perhaps that's mot very useful if we didn't take a ref on the returned object (but module_text_address() doesn't either).
Also, the name's a bit misleading - it sounds like it returns the address of a module or something. __module_any_address() would be better, perhaps?
Also, how come this doesn't need modlist_lock()?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|