[Midnightbsd-cvs] src [7427] stable/0.7/sys: MidnightBSD 0.7.3.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Jan 14 19:06:30 EST 2016


Revision: 7427
          http://svnweb.midnightbsd.org/src/?rev=7427
Author:   laffer1
Date:     2016-01-14 19:06:28 -0500 (Thu, 14 Jan 2016)
Log Message:
-----------
MidnightBSD 0.7.3. Fix two issues with linuxolator

Modified Paths:
--------------
    stable/0.7/UPDATING
    stable/0.7/sys/amd64/linux32/linux32_proto.h
    stable/0.7/sys/amd64/linux32/linux32_systrace_args.c
    stable/0.7/sys/amd64/linux32/syscalls.master
    stable/0.7/sys/compat/linux/linux_futex.c
    stable/0.7/sys/compat/linux/linux_misc.c
    stable/0.7/sys/conf/newvers.sh
    stable/0.7/sys/i386/linux/syscalls.master
    stable/0.7/sys/kern/kern_prot.c
    stable/0.7/sys/sys/ucred.h

Property Changed:
----------------
    stable/0.7/
    stable/0.7/sys/compat/linux/linux_emul.c
    stable/0.7/sys/compat/linux/linux_emul.h
    stable/0.7/sys/compat/linux/linux_file.h
    stable/0.7/sys/compat/linux/linux_fork.c
    stable/0.7/sys/compat/linux/linux_futex.c
    stable/0.7/sys/compat/linux/linux_misc.c

Index: stable/0.7
===================================================================
--- stable/0.7	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7	2016-01-15 00:06:28 UTC (rev 7427)

Property changes on: stable/0.7
___________________________________________________________________
Modified: svn:mergeinfo
## -1 +1 ##
-/trunk:7416,7419,7421
\ No newline at end of property
+/trunk:7416,7419,7421,7425
\ No newline at end of property
Modified: stable/0.7/UPDATING
===================================================================
--- stable/0.7/UPDATING	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/UPDATING	2016-01-15 00:06:28 UTC (rev 7427)
@@ -1,6 +1,17 @@
 Updating Information for MidnightBSD users.
 
 20160114:
+	0.7.3 RELEASE
+	
+	linuxolator
+
+	A programming error in the Linux compatibility layer setgroups(2) system
+	call can lead to an unexpected results, such as overwriting random kernel
+	memory contents.
+
+	A programming error in the handling of Linux futex robust lists may result
+	in incorrect memory locations being accessed.
+
 	0.7.2 RELEASE
 	Fix a security issue with bsnmpd configuration file installation.
 

Modified: stable/0.7/sys/amd64/linux32/linux32_proto.h
===================================================================
--- stable/0.7/sys/amd64/linux32/linux32_proto.h	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/amd64/linux32/linux32_proto.h	2016-01-15 00:06:28 UTC (rev 7427)
@@ -986,7 +986,7 @@
 };
 struct linux_get_robust_list_args {
 	char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
-	char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)];
+	char head_l_[PADL_(struct linux_robust_list_head **)]; struct linux_robust_list_head ** head; char head_r_[PADR_(struct linux_robust_list_head **)];
 	char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)];
 };
 struct linux_splice_args {

Modified: stable/0.7/sys/amd64/linux32/linux32_systrace_args.c
===================================================================
--- stable/0.7/sys/amd64/linux32/linux32_systrace_args.c	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/amd64/linux32/linux32_systrace_args.c	2016-01-15 00:06:28 UTC (rev 7427)
@@ -2074,7 +2074,7 @@
 	case 312: {
 		struct linux_get_robust_list_args *p = params;
 		iarg[0] = p->pid; /* l_int */
-		uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head * */
+		uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head ** */
 		uarg[2] = (intptr_t) p->len; /* l_size_t * */
 		*n_args = 3;
 		break;
@@ -5299,7 +5299,7 @@
 			p = "l_int";
 			break;
 		case 1:
-			p = "struct linux_robust_list_head *";
+			p = "struct linux_robust_list_head **";
 			break;
 		case 2:
 			p = "l_size_t *";

Modified: stable/0.7/sys/amd64/linux32/syscalls.master
===================================================================
--- stable/0.7/sys/amd64/linux32/syscalls.master	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/amd64/linux32/syscalls.master	2016-01-15 00:06:28 UTC (rev 7427)
@@ -510,8 +510,8 @@
 ; linux 2.6.17:
 311	AUE_NULL	STD	{ int linux_set_robust_list(struct linux_robust_list_head *head, \
 					l_size_t len); }
-312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, struct linux_robust_list_head *head, \
-					l_size_t *len); }
+312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
+				    struct linux_robust_list_head **head, l_size_t *len); }
 313	AUE_NULL	STD	{ int linux_splice(void); }
 314	AUE_NULL	STD	{ int linux_sync_file_range(void); }
 315	AUE_NULL	STD	{ int linux_tee(void); }

Index: stable/0.7/sys/compat/linux/linux_emul.c
===================================================================
--- stable/0.7/sys/compat/linux/linux_emul.c	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/compat/linux/linux_emul.c	2016-01-15 00:06:28 UTC (rev 7427)

Property changes on: stable/0.7/sys/compat/linux/linux_emul.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.4
\ No newline at end of property
Index: stable/0.7/sys/compat/linux/linux_emul.h
===================================================================
--- stable/0.7/sys/compat/linux/linux_emul.h	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/compat/linux/linux_emul.h	2016-01-15 00:06:28 UTC (rev 7427)

Property changes on: stable/0.7/sys/compat/linux/linux_emul.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.4
\ No newline at end of property
Index: stable/0.7/sys/compat/linux/linux_file.h
===================================================================
--- stable/0.7/sys/compat/linux/linux_file.h	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/compat/linux/linux_file.h	2016-01-15 00:06:28 UTC (rev 7427)

Property changes on: stable/0.7/sys/compat/linux/linux_file.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.2
\ No newline at end of property
Index: stable/0.7/sys/compat/linux/linux_fork.c
===================================================================
--- stable/0.7/sys/compat/linux/linux_fork.c	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/compat/linux/linux_fork.c	2016-01-15 00:06:28 UTC (rev 7427)

Property changes on: stable/0.7/sys/compat/linux/linux_fork.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.2
\ No newline at end of property
Modified: stable/0.7/sys/compat/linux/linux_futex.c
===================================================================
--- stable/0.7/sys/compat/linux/linux_futex.c	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/compat/linux/linux_futex.c	2016-01-15 00:06:28 UTC (rev 7427)
@@ -783,7 +783,7 @@
 	if (error)
 		return (EFAULT);
 
-	error = copyout(head, args->head, sizeof(struct linux_robust_list_head));
+	error = copyout(&head, args->head, sizeof(head));
 
 	return (error);
 }


Property changes on: stable/0.7/sys/compat/linux/linux_futex.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.9
\ No newline at end of property
Modified: stable/0.7/sys/compat/linux/linux_misc.c
===================================================================
--- stable/0.7/sys/compat/linux/linux_misc.c	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/compat/linux/linux_misc.c	2016-01-15 00:06:28 UTC (rev 7427)
@@ -1095,9 +1095,11 @@
 	if (error)
 		goto out;
 	newcred = crget();
+	crextend(newcred, ngrp + 1);
 	p = td->td_proc;
 	PROC_LOCK(p);
-	oldcred = crcopysafe(p, newcred);
+	oldcred = p->p_ucred;
+	crcopy(newcred, oldcred);
 
 	/*
 	 * cr_groups[0] holds egid. Setting the whole set from


Property changes on: stable/0.7/sys/compat/linux/linux_misc.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.5
\ No newline at end of property
Modified: stable/0.7/sys/conf/newvers.sh
===================================================================
--- stable/0.7/sys/conf/newvers.sh	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/conf/newvers.sh	2016-01-15 00:06:28 UTC (rev 7427)
@@ -32,7 +32,7 @@
 # $MidnightBSD$
 
 TYPE="MidnightBSD"
-REVISION="0.7.2"
+REVISION="0.7.3"
 RELEASE="${REVISION}"
 VERSION="${TYPE} ${RELEASE}"
 SYSDIR=$(dirname $0)/..

Modified: stable/0.7/sys/i386/linux/syscalls.master
===================================================================
--- stable/0.7/sys/i386/linux/syscalls.master	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/i386/linux/syscalls.master	2016-01-15 00:06:28 UTC (rev 7427)
@@ -520,8 +520,8 @@
 ; linux 2.6.17:
 311	AUE_NULL	STD	{ int linux_set_robust_list(struct linux_robust_list_head *head, \
 					l_size_t len); }
-312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, struct linux_robust_list_head **head, \
-					l_size_t *len); }
+312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
+				    struct linux_robust_list_head **head, l_size_t *len); }
 313	AUE_NULL	STD	{ int linux_splice(void); }
 314	AUE_NULL	STD	{ int linux_sync_file_range(void); }
 315	AUE_NULL	STD	{ int linux_tee(void); }

Modified: stable/0.7/sys/kern/kern_prot.c
===================================================================
--- stable/0.7/sys/kern/kern_prot.c	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/kern/kern_prot.c	2016-01-15 00:06:28 UTC (rev 7427)
@@ -88,7 +88,6 @@
 
 SYSCTL_NODE(_security, OID_AUTO, bsd, CTLFLAG_RW, 0, "BSD security policy");
 
-static void crextend(struct ucred *cr, int n);
 static void crsetgroups_locked(struct ucred *cr, int ngrp,
     gid_t *groups);
 
@@ -1974,7 +1973,7 @@
 /*
  * Extend the passed in credential to hold n items.
  */
-static void
+void
 crextend(struct ucred *cr, int n)
 {
 	int cnt;

Modified: stable/0.7/sys/sys/ucred.h
===================================================================
--- stable/0.7/sys/sys/ucred.h	2016-01-15 00:03:41 UTC (rev 7426)
+++ stable/0.7/sys/sys/ucred.h	2016-01-15 00:06:28 UTC (rev 7427)
@@ -104,6 +104,7 @@
 void	crcopy(struct ucred *dest, struct ucred *src);
 struct ucred	*crcopysafe(struct proc *p, struct ucred *cr);
 struct ucred	*crdup(struct ucred *cr);
+void	crextend(struct ucred *cr, int n);
 void	cred_update_thread(struct thread *td);
 void	crfree(struct ucred *cr);
 struct ucred	*crget(void);



More information about the Midnightbsd-cvs mailing list