Title: [7917] trunk/drivers/char/bfin_spi_adc.c: bfin_spi_adc: check copy_to_user return value
Revision
7917
Author
vapier
Date
2009-12-03 17:47:50 -0500 (Thu, 03 Dec 2009)

Log Message

bfin_spi_adc: check copy_to_user return value

Modified Paths


Diff

Modified: trunk/drivers/char/bfin_spi_adc.c (7916 => 7917)


--- trunk/drivers/char/bfin_spi_adc.c	2009-12-03 14:41:02 UTC (rev 7916)
+++ trunk/drivers/char/bfin_spi_adc.c	2009-12-03 22:47:50 UTC (rev 7917)
@@ -68,32 +68,27 @@
 
 static int adc_spi_ioctl(struct inode *inode, struct file *filp, uint cmd, unsigned long arg)
 {
+	int ret = 0;
 	unsigned long value;
 	struct bfin_spi_adc *bfin_spi_adc = filp->private_data;
 
 	switch (cmd) {
 	case CMD_SPI_GET_SYSTEMCLOCK:
-	{
 		value = get_sclk();
-		copy_to_user((unsigned long *)arg, &value, sizeof(unsigned long));
+		ret = copy_to_user((unsigned long *)arg, &value, sizeof(unsigned long)) ? -EFAULT : 0;
 		break;
-	}
 	case CMD_SPI_SET_BAUDRATE:
-	{
 		if (arg > (133000000 / 4))
 			return -EINVAL;
 		bfin_spi_adc->hz = arg;
 		break;
-	}
 	case CMD_SPI_SET_WRITECONTINUOUS:
-	{
 		bfin_spi_adc->cont = (unsigned char)arg;
 		break;
-	}
 	default:
 		return -EINVAL;
 	}
-	return 0;
+	return ret;
 }
 
 static ssize_t adc_spi_read (struct file *filp, char *buf, size_t count, loff_t *pos)
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to