aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/mmapper_kern.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/drivers/mmapper_kern.c')
-rw-r--r--arch/um/drivers/mmapper_kern.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/um/drivers/mmapper_kern.c b/arch/um/drivers/mmapper_kern.c
index 7158393b6793..c0ef803c7c70 100644
--- a/arch/um/drivers/mmapper_kern.c
+++ b/arch/um/drivers/mmapper_kern.c
@@ -37,13 +37,7 @@ static ssize_t mmapper_write(struct file *file, const char __user *buf,
37 if (*ppos > mmapper_size) 37 if (*ppos > mmapper_size)
38 return -EINVAL; 38 return -EINVAL;
39 39
40 if (count > mmapper_size - *ppos) 40 return simple_write_to_buffer(v_buf, mmapper_size, ppos, buf, count);
41 count = mmapper_size - *ppos;
42
43 if (copy_from_user(&v_buf[*ppos], buf, count))
44 return -EFAULT;
45
46 return count;
47} 41}
48 42
49static long mmapper_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 43static long mmapper_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
@@ -93,6 +87,7 @@ static const struct file_operations mmapper_fops = {
93 .mmap = mmapper_mmap, 87 .mmap = mmapper_mmap,
94 .open = mmapper_open, 88 .open = mmapper_open,
95 .release = mmapper_release, 89 .release = mmapper_release,
90 .llseek = default_llseek,
96}; 91};
97 92
98/* 93/*
@@ -121,7 +116,7 @@ static int __init mmapper_init(void)
121 if (err) { 116 if (err) {
122 printk(KERN_ERR "mmapper - misc_register failed, err = %d\n", 117 printk(KERN_ERR "mmapper - misc_register failed, err = %d\n",
123 err); 118 err);
124 return err;; 119 return err;
125 } 120 }
126 return 0; 121 return 0;
127} 122}
@@ -136,3 +131,4 @@ module_exit(mmapper_exit);
136 131
137MODULE_AUTHOR("Greg Lonnon <glonnon@ridgerun.com>"); 132MODULE_AUTHOR("Greg Lonnon <glonnon@ridgerun.com>");
138MODULE_DESCRIPTION("DSPLinux simulator mmapper driver"); 133MODULE_DESCRIPTION("DSPLinux simulator mmapper driver");
134MODULE_LICENSE("GPL");