diff options
author | bde <bde@FreeBSD.org> | 1996-09-03 22:52:27 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1996-09-03 22:52:27 +0000 |
commit | 325338fe3d1d68f2d9a070bf7ae92bd79f056e31 (patch) | |
tree | 1f969504300cf1571bbb0a4fd08be3d6e5655f68 | |
parent | e5c4f61fd1fde1a505ea11808471207ea65ff888 (diff) | |
download | FreeBSD-src-325338fe3d1d68f2d9a070bf7ae92bd79f056e31.zip FreeBSD-src-325338fe3d1d68f2d9a070bf7ae92bd79f056e31.tar.gz |
`struct linker_set execsw_set' was declared as const and pointers in it
were declared as non-const. This is backwards (_lkm_exec() changes the
pointers but all the target `struct execsw's are const). Fixed this
and poisoned related declarations to match and removed the bogus casts
that hid the bug.
-rw-r--r-- | lkm/coff/coff.c | 4 | ||||
-rw-r--r-- | lkm/linux/linux.c | 4 | ||||
-rw-r--r-- | sys/kern/kern_lkm.c | 6 | ||||
-rw-r--r-- | sys/modules/coff/coff.c | 4 | ||||
-rw-r--r-- | sys/modules/linux/linux.c | 4 | ||||
-rw-r--r-- | sys/sys/kernel.h | 9 | ||||
-rw-r--r-- | sys/sys/lkm.h | 4 |
7 files changed, 18 insertions, 17 deletions
diff --git a/lkm/coff/coff.c b/lkm/coff/coff.c index 8a74757..4c8b55a 100644 --- a/lkm/coff/coff.c +++ b/lkm/coff/coff.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: coff.c,v 1.4 1995/11/13 07:18:21 bde Exp $ + * $Id: coff.c,v 1.5 1995/11/14 07:33:54 bde Exp $ */ #include <sys/param.h> @@ -38,7 +38,7 @@ extern const struct execsw coff_execsw; -MOD_EXEC(ibcs2_coff, -1, (struct execsw*)&coff_execsw); +MOD_EXEC(ibcs2_coff, -1, &coff_execsw); static int ibcs2_coff_load(struct lkm_table *lkmtp, int cmd) diff --git a/lkm/linux/linux.c b/lkm/linux/linux.c index a0f27ea..dc0d522 100644 --- a/lkm/linux/linux.c +++ b/lkm/linux/linux.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux.c,v 1.5 1996/03/10 08:42:32 sos Exp $ + * $Id: linux.c,v 1.6 1996/03/10 22:43:37 peter Exp $ */ #include <sys/param.h> @@ -39,7 +39,7 @@ extern const struct execsw linux_execsw; -MOD_EXEC(linux, -1, (struct execsw*)&linux_execsw); +MOD_EXEC(linux, -1, &linux_execsw); extern Elf32_Interp_info linux_interp; diff --git a/sys/kern/kern_lkm.c b/sys/kern/kern_lkm.c index 85fb78e..6dff596 100644 --- a/sys/kern/kern_lkm.c +++ b/sys/kern/kern_lkm.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_lkm.c,v 1.30 1996/05/01 02:42:54 bde Exp $ + * $Id: kern_lkm.c,v 1.31 1996/05/24 01:39:50 dyson Exp $ */ #include <sys/param.h> @@ -636,8 +636,8 @@ _lkm_vfs(lkmtp, cmd) /* like in vfs_op_init */ for(i = 0; args->lkm_vnodeops->ls_items[i]; i++) { - struct vnodeopv_desc *opv = - (struct vnodeopv_desc *)args->lkm_vnodeops->ls_items[i]; + const struct vnodeopv_desc *opv = + args->lkm_vnodeops->ls_items[i]; *(opv->opv_desc_vector_p) = NULL; } vfs_opv_init((struct vnodeopv_desc **)args->lkm_vnodeops->ls_items); diff --git a/sys/modules/coff/coff.c b/sys/modules/coff/coff.c index 8a74757..4c8b55a 100644 --- a/sys/modules/coff/coff.c +++ b/sys/modules/coff/coff.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: coff.c,v 1.4 1995/11/13 07:18:21 bde Exp $ + * $Id: coff.c,v 1.5 1995/11/14 07:33:54 bde Exp $ */ #include <sys/param.h> @@ -38,7 +38,7 @@ extern const struct execsw coff_execsw; -MOD_EXEC(ibcs2_coff, -1, (struct execsw*)&coff_execsw); +MOD_EXEC(ibcs2_coff, -1, &coff_execsw); static int ibcs2_coff_load(struct lkm_table *lkmtp, int cmd) diff --git a/sys/modules/linux/linux.c b/sys/modules/linux/linux.c index a0f27ea..dc0d522 100644 --- a/sys/modules/linux/linux.c +++ b/sys/modules/linux/linux.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux.c,v 1.5 1996/03/10 08:42:32 sos Exp $ + * $Id: linux.c,v 1.6 1996/03/10 22:43:37 peter Exp $ */ #include <sys/param.h> @@ -39,7 +39,7 @@ extern const struct execsw linux_execsw; -MOD_EXEC(linux, -1, (struct execsw*)&linux_execsw); +MOD_EXEC(linux, -1, &linux_execsw); extern Elf32_Interp_info linux_interp; diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index e0cc5bb..a5b8cc6 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)kernel.h 8.3 (Berkeley) 1/21/94 - * $Id: kernel.h,v 1.19 1996/01/30 23:00:46 mpp Exp $ + * $Id: kernel.h,v 1.20 1996/06/23 17:40:47 bde Exp $ */ #ifndef _SYS_KERNEL_H_ @@ -260,10 +260,11 @@ void kproc_start __P((void *udata)); #endif /* PSEUDO_LKM */ struct linker_set { - int ls_length; - caddr_t ls_items[1]; /* really ls_length of them, trailing NULL */ + int ls_length; + const void *ls_items[1]; /* really ls_length of them, + * trailing NULL */ }; -extern const struct linker_set execsw_set; +extern struct linker_set execsw_set; #endif /* !_SYS_KERNEL_H_*/ diff --git a/sys/sys/lkm.h b/sys/sys/lkm.h index 90ebecc..5b28fcc 100644 --- a/sys/sys/lkm.h +++ b/sys/sys/lkm.h @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: lkm.h,v 1.10 1995/11/21 12:55:11 bde Exp $ + * $Id: lkm.h,v 1.11 1995/12/13 15:13:46 julian Exp $ */ #ifndef _SYS_LKM_H_ @@ -134,7 +134,7 @@ struct lkm_exec { int lkm_ver; char *lkm_name; u_long lkm_offset; - struct execsw *lkm_exec; + const struct execsw *lkm_exec; struct execsw lkm_oldexec; }; |