lkml.org 
[lkml]   [2006]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 06/61] lock validator: add __module_address() method

* Andrew Morton <akpm@osdl.org> wrote:

> 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?

yeah. I changed this to __is_module_address().

> Also, how come this doesn't need modlist_lock()?

indeed. I originally avoided taking that lock due to recursion worries -
but in fact we use this only in sections that initialize a lock - hence
no recursion problems.

i fixed this and renamed the function to is_module_address() :)

Ingo
-
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/

\
 
 \ /
  Last update: 2006-06-23 10:46    [W:0.171 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site