binfmt/ and sched/group: Re-architect the way that loadable ELF or NXFLAT modules are unloaded. Memory resources must be recovered when the task loaded into memory exits. The originmal implementatino used the death-of-child SIGCHLD signal to perform the unload. There are several problems with this: It is overly complex, it requires that the parent task stay resident while the loaded task runs, and it has fatal logic flaws in the protected and kernel model builds because the user signal handler attempts to run in the kernel address space. This commit corrects with using a mindlessly simply BINFMT callback when the task exits.

This commit is contained in:
Gregory Nutt
2018-08-05 08:09:54 -06:00
parent 3e814eb160
commit 20a86dfc1b
14 changed files with 325 additions and 375 deletions
+1 -1
View File
@@ -82,7 +82,7 @@
* the new task's main function is called.
*
* Input Parameters:
* loadinfo - Load state information
* arg - Argument is instance of load state info structure cast to void *.
*
* Returned Value:
* 0 (OK) is returned on success and a negated errno is returned on