Sophie

Sophie

distrib > Mandriva > 7.2 > i586 > media > main-src > by-pkgid > 4cc0fce4315352a3d852ddaaeba8c984 > files > 38

hackkernel-2.4.0-0.31mdk.src.rpm

--- drivers/sensors/sensors.c2	Wed Sep 13 16:15:10 2000
+++ drivers/sensors/sensors.c	Wed Sep 13 16:18:52 2000
@@ -294,7 +294,8 @@
 				    client_tbl->procname);
 			if (buflen + curbufsize > *lenp)
 				buflen = *lenp - curbufsize;
-			copy_to_user_ret(buffer, BUF, buflen,-EFAULT);
+			if (copy_to_user(buffer, BUF, buflen))
+					return -EFAULT;
 			curbufsize += buflen;
 			(char *) buffer += buflen;
 		}
@@ -323,16 +324,16 @@
 				    child;
 				data.sysctl_id = client_tbl->ctl_name;
 				strcpy(data.name, client_tbl->procname);
-				copy_to_user_ret(oldval, &data,
-					     sizeof(struct
-						    sensors_chips_data),
-				                    -EFAULT);
+				if (copy_to_user(oldval, &data,
+					     sizeof(struct sensors_chips_data)))
+					return -EFAULT;
 				(char *) oldval +=
 				    sizeof(struct sensors_chips_data);
 				nrels++;
 			}
 		oldlen = nrels * sizeof(struct sensors_chips_data);
-		put_user_ret(oldlen, oldlenp,-EFAULT);
+		if (put_user(oldlen, oldlenp))
+			return -EFAULT;
 	}
 	return ret;
 }
@@ -427,15 +428,18 @@
 		if (nrels * sizeof(long) < oldlen)
 			oldlen = nrels * sizeof(long);
 		oldlen = (oldlen / sizeof(long)) * sizeof(long);
-		copy_to_user_ret(oldval, results, oldlen,-EFAULT);
-		put_user_ret(oldlen, oldlenp,-EFAULT);
+		if (copy_to_user(oldval, results, oldlen))
+				return -EFAULT;
+		if (put_user(oldlen, oldlenp))
+			return -EFAULT;
 	}
 
 	if (newval && newlen) {
 		/* Note the rounding factor! */
 		newlen -= newlen % sizeof(long);
 		nrels = newlen / sizeof(long);
-		copy_from_user_ret(results, newval, newlen,-EFAULT);
+		if (copy_from_user(results, newval, newlen))
+			return -EFAULT;
 
 		/* Get the new values back to the client */
 		callback(client, SENSORS_PROC_REAL_WRITE, table->ctl_name,
@@ -576,7 +580,9 @@
 		mag = magnitude;
 
 		if (nr != 0) {
-			put_user_ret(' ', (char *) buffer,-EFAULT);
+			if (put_user(' ', (char *) buffer))
+				return -EFAULT;
+			
 			curbufsize++;
 			((char *) buffer)++;
 		}
@@ -616,14 +622,17 @@
 		/* Now copy it to the user-space buffer */
 		if (buflen + curbufsize > *bufsize)
 			buflen = *bufsize - curbufsize;
-		copy_to_user_ret(buffer, BUF, buflen,-EFAULT);
+		if (copy_to_user(buffer, BUF, buflen))
+			return -EFAULT;
 		curbufsize += buflen;
 		(char *) buffer += buflen;
 
 		nr++;
 	}
 	if (curbufsize < *bufsize) {
-		put_user_ret('\n', (char *) buffer,-EFAULT);
+		if (put_user('\n', (char *) buffer))
+			return -EFAULT;
+		
 		curbufsize++;
 	}
 	*bufsize = curbufsize;