socsvn commit: r271073 - soc2014/op/freebsd-base/sys/kern

op at FreeBSD.org op at FreeBSD.org
Fri Jul 18 10:03:15 UTC 2014


Author: op
Date: Fri Jul 18 10:03:14 2014
New Revision: 271073
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271073

Log:
  KSP: hook in lf_selfpatch in kldload and preload case
  
  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_linker.c

Modified: soc2014/op/freebsd-base/sys/kern/kern_linker.c
==============================================================================
--- soc2014/op/freebsd-base/sys/kern/kern_linker.c	Fri Jul 18 10:03:03 2014	(r271072)
+++ soc2014/op/freebsd-base/sys/kern/kern_linker.c	Fri Jul 18 10:03:14 2014	(r271073)
@@ -53,6 +53,7 @@
 #include <sys/vnode.h>
 #include <sys/syscallsubr.h>
 #include <sys/sysctl.h>
+#include <sys/selfpatch.h>
 
 #include <net/vnet.h>
 
@@ -420,6 +421,7 @@
 				return (error);
 			}
 			modules = !TAILQ_EMPTY(&lf->modules);
+			lf_selfpatch(lf);
 			linker_file_register_sysctls(lf);
 			linker_file_sysinit(lf);
 			lf->flags |= LINKER_FILE_LINKED;
@@ -1607,6 +1609,8 @@
 			    lf->filename);
 			goto fail;
 		}
+		/* XXXOP - linker_kernel_file double patched?*/
+		lf_selfpatch(lf);
 		linker_file_register_modules(lf);
 		if (linker_file_lookup_set(lf, "sysinit_set", &si_start,
 		    &si_stop, NULL) == 0)


More information about the svn-soc-all mailing list