patch-2.4.0-test8 linux/drivers/sound/vwsnd.c

Next file: linux/drivers/sound/waveartist.c
Previous file: linux/drivers/sound/via82cxxx_audio.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test7/linux/drivers/sound/vwsnd.c linux/drivers/sound/vwsnd.c
@@ -2476,7 +2476,8 @@
 		return put_user(ival, (int *) arg);
 
 	case SNDCTL_DSP_SPEED:		/* _SIOWR('P', 2, int) */
-		get_user_ret(ival, (int *) arg, -EFAULT);
+		if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_SPEED %d\n", ival);
 		if (ival) {
 			if (aport->swstate != SW_INITIAL) {
@@ -2497,7 +2498,8 @@
 		return put_user(ival, (int *) arg);
 
 	case SNDCTL_DSP_STEREO:		/* _SIOWR('P', 3, int) */
-		get_user_ret(ival, (int *) arg, -EFAULT);
+		if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_STEREO %d\n", ival);
 		if (ival != 0 && ival != 1)
 			return -EINVAL;
@@ -2510,7 +2512,8 @@
 		return put_user(ival, (int *) arg);
 
 	case SNDCTL_DSP_CHANNELS:	/* _SIOWR('P', 6, int) */
-		get_user_ret(ival, (int *) arg, -EFAULT);
+		if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_CHANNELS %d\n", ival);
 		if (ival != 1 && ival != 2)
 			return -EINVAL;
@@ -2533,7 +2536,8 @@
 		return put_user(ival, (int *) arg);
 
 	case SNDCTL_DSP_SETFRAGMENT:	/* _SIOWR('P',10, int) */
-		get_user_ret(ival, (int *) arg, -EFAULT);
+		if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_SETFRAGMENT %d:%d\n",
 		     ival >> 16, ival & 0xFFFF);
 		if (aport->swstate != SW_INITIAL)
@@ -2571,7 +2575,8 @@
 		return put_user(ival, (int *) arg);
 
 	case SNDCTL_DSP_SUBDIVIDE:	/* _SIOWR('P', 9, int) */
-                get_user_ret(ival, (int *) arg, -EFAULT);
+                if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_SUBDIVIDE %d\n", ival);
 		if (aport->swstate != SW_INITIAL)
 			return -EINVAL;
@@ -2601,7 +2606,8 @@
 		return 0;
 
 	case SNDCTL_DSP_SETFMT:		/* _SIOWR('P',5, int) */
-		get_user_ret(ival, (int *) arg, -EFAULT);
+		if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_SETFMT %d\n", ival);
 		if (ival != AFMT_QUERY) {
 			if (aport->swstate != SW_INITIAL) {
@@ -2809,7 +2815,8 @@
 		return put_user(ival, (int *) arg);
 
 	case SNDCTL_DSP_SETTRIGGER:	/* _SIOW ('P',16, int) */
-		get_user_ret(ival, (int *) arg, -EFAULT);
+		if (get_user(ival, (int *) arg))
+			return -EFAULT;
 		DBGX("SNDCTL_DSP_SETTRIGGER %d\n", ival);
 
 		/*

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