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