Messages in this thread | | | Date | Mon, 27 Jun 2016 17:07:27 -0400 | From | Jessica Yu <> | Subject | Freeing alternatives sections after module init? |
| |
Hi Rusty,
I noticed that the module loader keeps .altinstructions and .altinstr_replacement (which are normally freed after kernel init) in core memory after module init, so these sections are never freed for modules.
In fact, the module loader seems to keep a number of sections normally marked between __init_begin and __init_end (which are then freed in free_initmem()) in module core memory, for example on x86, there's also .parainstructions and .altinstr_aux.
I was just wondering if this discrepancy was intentional :-) Shouldn't these sections be freed after init? Though it probably doesn't hurt to keep some of these sections in memory, .altinstr_replacement is (for whatever reason) an executable section, and is technically not needed anymore after apply_alternatives() copies the replacement instructions, so it might be good to free it.
Thanks, Jessica
| |