Re: [Patch 4/4] module: trim exception table in module_free()

From: Amerigo Wang
Date: Tue May 26 2009 - 23:09:49 EST


Rusty Russell wrote:
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).

Hi, Rusty.

Yes? The extable of a module is in '__ex_table' section, and during the section transfer, one
section will be either in module_init or module_core, so its entries are only in one of them,
not both, right?

Thank you.




--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html