[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 3/7] kernel2: Fixes für SHM in nicht-aktivem Kontext
! kernel2: Die SHM-Funktionen müssen auf dem Speicherkontext des
übergebenen Prozesses arbeiten, nicht auf dem aktiven
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/kernel2/src/mm/shm.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/kernel2/src/mm/shm.c b/src/kernel2/src/mm/shm.c
index b067d91..2df78d6 100644
--- a/src/kernel2/src/mm/shm.c
+++ b/src/kernel2/src/mm/shm.c
@@ -114,7 +114,7 @@ void* shm_attach(pm_process_t* process, uint32_t id)
if (list_is_empty(shm->processes)) {
// Erster Prozess, der den SHM oeffnet: Speicher allozieren
- ret = mmc_valloc(&mmc_current_context(), shm->num_pages,
+ ret = mmc_valloc(&process->context, shm->num_pages,
MM_FLAGS_USER_DATA);
} else {
// Ansonsten Mapping von einem anderen Prozess uebernehmen
@@ -183,7 +183,7 @@ found:
// Wenn es der letzte Benutzer war, SHM loeschen
if (list_is_empty(shm->processes)) {
for (i = 0; i < shm->num_pages; i++) {
- pmm_free(mmc_resolve(&mmc_current_context(),
+ pmm_free(mmc_resolve(&process->context,
shm_proc->vaddr + (i * PAGE_SIZE)), 1);
}
@@ -193,7 +193,7 @@ found:
}
// Virtuellen Speicher freigeben
- mmc_unmap(&mmc_current_context(), shm_proc->vaddr, shm->num_pages);
+ mmc_unmap(&process->context, shm_proc->vaddr, shm->num_pages);
free(shm_proc);
--
1.6.0.2