[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200905271151.28045.rusty@rustcorp.com.au>
Date: Wed, 27 May 2009 11:51:26 +0930
From: Rusty Russell <rusty@...tcorp.com.au>
To: Amerigo Wang <amwang@...hat.com>, linux-alpha@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
jdike@...toit.com, mingo@...e.hu, sparclinux@...r.kernel.org,
linux-ia64@...r.kernel.org
Subject: Re: [Patch 4/4] module: trim exception table in module_free()
On Tue, 26 May 2009 06:05:39 pm Amerigo Wang wrote:
> void module_free(struct module *mod, void *module_region)
> {
> vfree(module_region);
> - /* FIXME: If module_region == mod->init_region, trim exception
> - table entries. */
> + if (module_region == mod->module_init)
> + mod->num_exentries = 0;
> }
Hi Amerigo,
This looks wrong. The extable covers both init and core exception entries.
We want to remove the ones in the module_init section. The good news is that
it's sorted, so they're either at the start or the end (except sparc 32).
The bad news is that this is really a generic problem, and deserves a
generic fix. That's easy for archs which use the generic sort_extable(), but
alpha, ia64 and sparc(32) will need to define their own trim_extable().
Thanks!
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists