Hi Linus,
I noticed that read_kmem() (unlike read_mem()) doesn't return -EFAULT if
clear_user()/copy_to_user() fail. This patch fixes it:
http://www.ocston.org/~tigran/patches/mem-2.3.44-p3.patch
The file is drivers/char/mem.c
Regards,
------
Tigran A. Aivazian | http://www.sco.com
Escalations Research Group | tel: +44-(0)1923-813796
Santa Cruz Operation Ltd | http://www.ocston.org/~tigran
--- mem.c.0 Fri Feb 11 14:54:01 2000
+++ mem.c Fri Feb 11 14:54:37 2000
@@ -245,14 +245,16 @@
if (p < PAGE_SIZE && read > 0) {
size_t tmp = PAGE_SIZE - p;
if (tmp > read) tmp = read;
- clear_user(buf, tmp);
+ if (clear_user(buf, tmp))
+ return -EFAULT;
buf += tmp;
p += tmp;
read -= tmp;
count -= tmp;
}
#endif
- copy_to_user(buf, (char *)p, read);
+ if (copy_to_user(buf, (char *)p, read))
+ return -EFAULT;
p += read;
buf += read;
count -= read;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:21 EST