patch-2.4.7 linux/kernel/sys.c

Next file: linux/lib/rwsem.c
Previous file: linux/kernel/softirq.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.6/linux/kernel/sys.c linux/kernel/sys.c
@@ -399,7 +399,7 @@
 	}
 	if (new_egid != old_egid)
 	{
-		current->dumpable = 0;
+		current->mm->dumpable = 0;
 		wmb();
 	}
 	if (rgid != (gid_t) -1 ||
@@ -424,7 +424,7 @@
 	{
 		if(old_egid != gid)
 		{
-			current->dumpable=0;
+			current->mm->dumpable=0;
 			wmb();
 		}
 		current->gid = current->egid = current->sgid = current->fsgid = gid;
@@ -433,7 +433,7 @@
 	{
 		if(old_egid != gid)
 		{
-			current->dumpable=0;
+			current->mm->dumpable=0;
 			wmb();
 		}
 		current->egid = current->fsgid = gid;
@@ -507,7 +507,7 @@
 
 	if(dumpclear)
 	{
-		current->dumpable = 0;
+		current->mm->dumpable = 0;
 		wmb();
 	}
 	current->uid = new_ruid;
@@ -561,7 +561,7 @@
 
 	if (new_euid != old_euid)
 	{
-		current->dumpable=0;
+		current->mm->dumpable=0;
 		wmb();
 	}
 	current->fsuid = current->euid = new_euid;
@@ -608,7 +608,7 @@
 
 	if (old_euid != uid)
 	{
-		current->dumpable = 0;
+		current->mm->dumpable = 0;
 		wmb();
 	}
 	current->fsuid = current->euid = uid;
@@ -650,7 +650,7 @@
 	if (euid != (uid_t) -1) {
 		if (euid != current->euid)
 		{
-			current->dumpable = 0;
+			current->mm->dumpable = 0;
 			wmb();
 		}
 		current->euid = euid;
@@ -696,7 +696,7 @@
 	if (egid != (gid_t) -1) {
 		if (egid != current->egid)
 		{
-			current->dumpable = 0;
+			current->mm->dumpable = 0;
 			wmb();
 		}
 		current->egid = egid;
@@ -738,7 +738,7 @@
 	{
 		if (uid != old_fsuid)
 		{
-			current->dumpable = 0;
+			current->mm->dumpable = 0;
 			wmb();
 		}
 		current->fsuid = uid;
@@ -780,7 +780,7 @@
 	{
 		if (gid != old_fsgid)
 		{
-			current->dumpable = 0;
+			current->mm->dumpable = 0;
 			wmb();
 		}
 		current->fsgid = gid;
@@ -1119,8 +1119,6 @@
 		return -EINVAL;
 	if(copy_from_user(&new_rlim, rlim, sizeof(*rlim)))
 		return -EFAULT;
-	if (new_rlim.rlim_cur < 0 || new_rlim.rlim_max < 0)
-		return -EINVAL;
 	old_rlim = current->rlim + resource;
 	if (((new_rlim.rlim_cur > old_rlim->rlim_max) ||
 	     (new_rlim.rlim_max > old_rlim->rlim_max)) &&
@@ -1220,7 +1218,7 @@
 			error = put_user(current->pdeath_signal, (int *)arg2);
 			break;
 		case PR_GET_DUMPABLE:
-			if (current->dumpable)
+			if (current->mm->dumpable)
 				error = 1;
 			break;
 		case PR_SET_DUMPABLE:
@@ -1228,7 +1226,7 @@
 				error = -EINVAL;
 				break;
 			}
-			current->dumpable = arg2;
+			current->mm->dumpable = arg2;
 			break;
 	        case PR_SET_UNALIGN:
 #ifdef SET_UNALIGN_CTL

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)