linux-stable-rt/arch/um/drivers
Al Viro 6a029a90f5 [PATCH] mmaper_kern.c fixes [buffer overruns]
- copy_from_user() can fail; ->write() must check its return value.

 - severe buffer overruns both in ->read() and ->write() - lseek to the
   end (i.e.  to mmapper_size) and

	if (count + *ppos > mmapper_size)
		count = count + *ppos - mmapper_size;

   will do absolutely nothing.  Then it will call

	copy_to_user(buf,&v_buf[*ppos],count);

   with obvious results (similar for ->write()).

   Fixed by turning read to simple_read_from_buffer() and by doing
   normal limiting of count in ->write().

 - gratitious lock_kernel() in ->mmap() - it's useless there.

 - lots of gratuitous includes.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-27 10:11:40 -07:00
..
Makefile [PATCH] uml: avoid unnecessary pcap rebuild 2005-07-28 21:46:03 -07:00
chan_kern.c
chan_user.c
cow.h [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
cow_sys.h
cow_user.c
daemon.h
daemon_kern.c
daemon_user.c
fd.c
harddog_kern.c
harddog_user.c
hostaudio_kern.c [PATCH] uml: update module interface 2005-07-27 16:25:48 -07:00
line.c [PATCH] uml: remove winch sem 2005-07-07 18:23:44 -07:00
mcast.h
mcast_kern.c
mcast_user.c
mconsole_kern.c [PATCH] uml: Clean up prink calls 2005-07-28 21:46:05 -07:00
mconsole_user.c
mmapper_kern.c [PATCH] mmaper_kern.c fixes [buffer overruns] 2005-08-27 10:11:40 -07:00
net_kern.c [PATCH] uml: hot-unplug code cleanup 2005-06-25 16:24:36 -07:00
net_user.c
null.c
pcap_kern.c
pcap_user.c
pcap_user.h
port.h
port_kern.c
port_user.c
pty.c
random.c
slip.h
slip_common.c
slip_common.h
slip_kern.c
slip_user.c
slirp.h
slirp_kern.c
slirp_user.c
ssl.c [PATCH] uml: hot-unplug code cleanup 2005-06-25 16:24:36 -07:00
ssl.h
stderr_console.c
stdio_console.c [PATCH] uml: hot-unplug code cleanup 2005-06-25 16:24:36 -07:00
stdio_console.h
tty.c
ubd_kern.c [PATCH] uml: hot-unplug code cleanup 2005-06-25 16:24:36 -07:00
ubd_user.c
xterm.c
xterm.h
xterm_kern.c