Author: imp
Date: Wed Dec  3 22:14:13 2014
New Revision: 275469
URL: https://svnweb.freebsd.org/changeset/base/275469

Log:
  Const poison in a few places to ensure we don't modify things
  through the module data pointer.

Modified:
  head/sys/kern/kern_linker.c

Modified: head/sys/kern/kern_linker.c
==============================================================================
--- head/sys/kern/kern_linker.c Wed Dec  3 21:55:44 2014        (r275468)
+++ head/sys/kern/kern_linker.c Wed Dec  3 22:14:13 2014        (r275469)
@@ -139,8 +139,8 @@ static caddr_t      linker_file_lookup_symbol
                    const char* name, int deps);
 static int     linker_load_module(const char *kldname,
                    const char *modname, struct linker_file *parent,
-                   struct mod_depend *verinfo, struct linker_file **lfpp);
-static modlist_t modlist_lookup2(const char *name, struct mod_depend *verinfo);
+                   const struct mod_depend *verinfo, struct linker_file 
**lfpp);
+static modlist_t modlist_lookup2(const char *name, const struct mod_depend 
*verinfo);
 
 static void
 linker_init(void *arg)
@@ -1353,7 +1353,7 @@ modlist_lookup(const char *name, int ver
 }
 
 static modlist_t
-modlist_lookup2(const char *name, struct mod_depend *verinfo)
+modlist_lookup2(const char *name, const struct mod_depend *verinfo)
 {
        modlist_t mod, bestmod;
        int ver;
@@ -1426,7 +1426,7 @@ linker_preload(void *arg)
        linker_file_list_t depended_files;
        struct mod_metadata *mp, *nmp;
        struct mod_metadata **start, **stop, **mdp, **nmdp;
-       struct mod_depend *verinfo;
+       const struct mod_depend *verinfo;
        int nver;
        int resolves;
        modlist_t mod;
@@ -1716,7 +1716,7 @@ linker_lookup_file(const char *path, int
  */
 static char *
 linker_hints_lookup(const char *path, int pathlen, const char *modname,
-    int modnamelen, struct mod_depend *verinfo)
+    int modnamelen, const struct mod_depend *verinfo)
 {
        struct thread *td = curthread;  /* XXX */
        struct ucred *cred = td ? td->td_ucred : NULL;
@@ -1849,7 +1849,7 @@ bad:
  */
 static char *
 linker_search_module(const char *modname, int modnamelen,
-    struct mod_depend *verinfo)
+    const struct mod_depend *verinfo)
 {
        char *cp, *ep, *result;
 
@@ -1953,7 +1953,7 @@ linker_hwpmc_list_objects(void)
  */
 static int
 linker_load_module(const char *kldname, const char *modname,
-    struct linker_file *parent, struct mod_depend *verinfo,
+    struct linker_file *parent, const struct mod_depend *verinfo,
     struct linker_file **lfpp)
 {
        linker_file_t lfdep;
@@ -2027,7 +2027,7 @@ linker_load_dependencies(linker_file_t l
        linker_file_t lfdep;
        struct mod_metadata **start, **stop, **mdp, **nmdp;
        struct mod_metadata *mp, *nmp;
-       struct mod_depend *verinfo;
+       const struct mod_depend *verinfo;
        modlist_t mod;
        const char *modname, *nmodname;
        int ver, error = 0, count;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to