Re: [patch 06/61] lock validator: add __module_address() method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Andrew Morton <[email protected]> wrote:

> On Mon, 29 May 2006 23:23:33 +0200
> Ingo Molnar <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux