The following changes since commit 6d7d6bc436ef3d1fb51fa8de06d4ecf004e3b6a5:
Gilles Chanteperdrix (1):
nucleus: defer selector block deletion to an APC.
are available in the git repository at:
git://git.xenomai.org/xenomai-jki.git for-upstream
Jan Kiszka (2):
nucleus: Track heap mapping on to mm-clone
nucleus: Fix trivial build warning
ksrc/nucleus/heap.c | 12 +++++++++++-
ksrc/nucleus/module.c | 2 +-
2 files changed, 12 insertions(+), 2 deletions(-)
---
[PATCH] nucleus: Track heap mapping on to mm-clone
When the mm is cloned (due to fork), the heap mapping counter need to be
updated as well. Register an open callback with the vm-ops for this
purpose.
Signed-off-by: Jan Kiszka <[email protected]>
---
ksrc/nucleus/heap.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/ksrc/nucleus/heap.c b/ksrc/nucleus/heap.c
index b5fb1cd..27a4ad7 100644
--- a/ksrc/nucleus/heap.c
+++ b/ksrc/nucleus/heap.c
@@ -1017,6 +1017,15 @@ static void __unreserve_and_free_heap(void *ptr, size_t
size, int kmflags)
}
}
+static void xnheap_vmopen(struct vm_area_struct *vma)
+{
+ xnheap_t *heap = vma->vm_private_data;
+
+ spin_lock(&kheapq_lock);
+ heap->archdep.numaps++;
+ spin_unlock(&kheapq_lock);
+}
+
static void xnheap_vmclose(struct vm_area_struct *vma)
{
xnheap_t *heap = vma->vm_private_data;
@@ -1037,7 +1046,8 @@ static void xnheap_vmclose(struct vm_area_struct *vma)
}
static struct vm_operations_struct xnheap_vmops = {
- .close = &xnheap_vmclose
+ .open = &xnheap_vmopen,
+ .close = &xnheap_vmclose
};
static int xnheap_open(struct inode *inode, struct file *file)
--
1.6.0.2
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-core mailing list [email protected] https://mail.gna.org/listinfo/xenomai-core
