Date: Mon, 8 Jun 1998 00:23:54 +0200 (CEST)
From: Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
To: Linux/m68k <linux-m68k@lists.linux-m68k.org>
Subject: L68K: 2.1.101 fbmem.c fix
Sender: owner-linux-m68k@phil.uni-sb.de


Check the result of copy_{from,to}_user().

--- m68k/drivers/char/fbmem.c.orig	Mon Jun  1 11:23:01 1998
+++ m68k/drivers/char/fbmem.c	Sun Jun  7 21:27:45 1998
@@ -201,7 +201,8 @@
 	fb->fb_get_fix(&fix,PROC_CONSOLE(), info);
 	base_addr=info->disp->screen_base;
 	copy_size=(count + p <= fix.smem_len ? count : fix.smem_len - p);
-	copy_to_user(buf, base_addr+p, copy_size);
+	if (copy_to_user(buf, base_addr+p, copy_size))
+	    return -EFAULT;
 	*ppos += copy_size;
 	return copy_size;
 }
@@ -224,7 +225,8 @@
 	fb->fb_get_fix(&fix, PROC_CONSOLE(), info);
 	base_addr=info->disp->screen_base;
 	copy_size=(count + p <= fix.smem_len ? count : fix.smem_len - p);
-	copy_from_user(base_addr+p, buf, copy_size); 
+	if (copy_from_user(base_addr+p, buf, copy_size))
+	    return -EFAULT;
 	file->f_pos += copy_size;
 	return copy_size;
 }

Greetings,

						Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

