diff options
Diffstat (limited to 'drivers/char/mspec.c')
-rw-r--r-- | drivers/char/mspec.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/char/mspec.c b/drivers/char/mspec.c index ecb89d798e35..25d139c9dbed 100644 --- a/drivers/char/mspec.c +++ b/drivers/char/mspec.c | |||
@@ -271,14 +271,13 @@ mspec_mmap(struct file *file, struct vm_area_struct *vma, | |||
271 | pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; | 271 | pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; |
272 | vdata_size = sizeof(struct vma_data) + pages * sizeof(long); | 272 | vdata_size = sizeof(struct vma_data) + pages * sizeof(long); |
273 | if (vdata_size <= PAGE_SIZE) | 273 | if (vdata_size <= PAGE_SIZE) |
274 | vdata = kmalloc(vdata_size, GFP_KERNEL); | 274 | vdata = kzalloc(vdata_size, GFP_KERNEL); |
275 | else { | 275 | else { |
276 | vdata = vmalloc(vdata_size); | 276 | vdata = vzalloc(vdata_size); |
277 | flags = VMD_VMALLOCED; | 277 | flags = VMD_VMALLOCED; |
278 | } | 278 | } |
279 | if (!vdata) | 279 | if (!vdata) |
280 | return -ENOMEM; | 280 | return -ENOMEM; |
281 | memset(vdata, 0, vdata_size); | ||
282 | 281 | ||
283 | vdata->vm_start = vma->vm_start; | 282 | vdata->vm_start = vma->vm_start; |
284 | vdata->vm_end = vma->vm_end; | 283 | vdata->vm_end = vma->vm_end; |
@@ -316,7 +315,8 @@ uncached_mmap(struct file *file, struct vm_area_struct *vma) | |||
316 | 315 | ||
317 | static const struct file_operations fetchop_fops = { | 316 | static const struct file_operations fetchop_fops = { |
318 | .owner = THIS_MODULE, | 317 | .owner = THIS_MODULE, |
319 | .mmap = fetchop_mmap | 318 | .mmap = fetchop_mmap, |
319 | .llseek = noop_llseek, | ||
320 | }; | 320 | }; |
321 | 321 | ||
322 | static struct miscdevice fetchop_miscdev = { | 322 | static struct miscdevice fetchop_miscdev = { |
@@ -327,7 +327,8 @@ static struct miscdevice fetchop_miscdev = { | |||
327 | 327 | ||
328 | static const struct file_operations cached_fops = { | 328 | static const struct file_operations cached_fops = { |
329 | .owner = THIS_MODULE, | 329 | .owner = THIS_MODULE, |
330 | .mmap = cached_mmap | 330 | .mmap = cached_mmap, |
331 | .llseek = noop_llseek, | ||
331 | }; | 332 | }; |
332 | 333 | ||
333 | static struct miscdevice cached_miscdev = { | 334 | static struct miscdevice cached_miscdev = { |
@@ -338,7 +339,8 @@ static struct miscdevice cached_miscdev = { | |||
338 | 339 | ||
339 | static const struct file_operations uncached_fops = { | 340 | static const struct file_operations uncached_fops = { |
340 | .owner = THIS_MODULE, | 341 | .owner = THIS_MODULE, |
341 | .mmap = uncached_mmap | 342 | .mmap = uncached_mmap, |
343 | .llseek = noop_llseek, | ||
342 | }; | 344 | }; |
343 | 345 | ||
344 | static struct miscdevice uncached_miscdev = { | 346 | static struct miscdevice uncached_miscdev = { |