ソースを参照

drm/i915: check the return value from the copy from user

This produced a warning on my build, not sure why super-warning-man didn't
notice this one, its much worse than the %z one.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie 16 年 前
コミット
d008877550
1 ファイル変更4 行追加1 行削除
  1. 4 1
      drivers/gpu/drm/i915/i915_gem.c

+ 4 - 1
drivers/gpu/drm/i915/i915_gem.c

@@ -446,13 +446,16 @@ fast_shmem_write(struct page **pages,
 		 int length)
 		 int length)
 {
 {
 	char __iomem *vaddr;
 	char __iomem *vaddr;
+	unsigned long unwritten;
 
 
 	vaddr = kmap_atomic(pages[page_base >> PAGE_SHIFT], KM_USER0);
 	vaddr = kmap_atomic(pages[page_base >> PAGE_SHIFT], KM_USER0);
 	if (vaddr == NULL)
 	if (vaddr == NULL)
 		return -ENOMEM;
 		return -ENOMEM;
-	__copy_from_user_inatomic(vaddr + page_offset, data, length);
+	unwritten = __copy_from_user_inatomic(vaddr + page_offset, data, length);
 	kunmap_atomic(vaddr, KM_USER0);
 	kunmap_atomic(vaddr, KM_USER0);
 
 
+	if (unwritten)
+		return -EFAULT;
 	return 0;
 	return 0;
 }
 }