Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jul 2014 16:10:06 GMT
From:      op@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r271088 - soc2014/op/freebsd-base/sys/kern
Message-ID:  <201407181610.s6IGA6Nm055010@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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
 }
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407181610.s6IGA6Nm055010>