socsvn commit: r271088 - soc2014/op/freebsd-base/sys/kern
op at FreeBSD.org
op at FreeBSD.org
Fri Jul 18 16:10:07 UTC 2014
Author: op
Date: Fri Jul 18 16:10:06 2014
New Revision: 271088
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271088
Log:
KSP: malloc does not exists in early stage of initialization, not use them
Signed-off-by: Oliver Pinter <oliver.pntr at gmail.com>
git: https://github.com/opntr/opBSD/tree/op/gsoc2014/kpatch
Modified:
soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c
Modified: soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c
==============================================================================
--- soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c Fri Jul 18 16:09:57 2014 (r271087)
+++ soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c Fri Jul 18 16:10:06 2014 (r271088)
@@ -149,7 +149,11 @@
void
lf_selfpatch_apply(linker_file_t lf, struct lf_selfpatch *p)
{
+#if 0
vm_paddr_t *pages;
+#else
+ vm_paddr_t pages[4];
+#endif
vm_offset_t page_offset;
int i, page_number;
@@ -171,7 +175,12 @@
page_number = (p->patchable_size >> PAGE_SHIFT) +
((page_offset + p->patchable_size) > PAGE_SIZE ? 2 : 1);
+#if 0
pages = malloc(page_number, M_TEMP, M_WAITOK | M_ZERO);
+#else
+ KASSERT(page_number < 4,
+ ("patch size longer than 3 page does not supported yet\n"));
+#endif
DBG("change mapping attribute from RX to RWX\n");
for (i=0; i<page_number; i++) {
@@ -200,7 +209,9 @@
}
DBG("done.\n");
+#if 0
free(pages, M_TEMP);
+#endif
}
More information about the svn-soc-all
mailing list