Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Bill Sommerfeld <sommerfeld@netbsd.org>
List: source-changes
Date: 08/24/1999 16:29:10
Module Name:	syssrc
Committed By:	sommerfeld
Date:		Tue Aug 24 23:29:09 UTC 1999

Modified Files:
	syssrc/sys/miscfs/fdesc: fdesc_vnops.c
	syssrc/sys/miscfs/kernfs: kernfs_vnops.c
	syssrc/sys/miscfs/procfs: procfs_vnops.c

Log Message:
Fix PR8270:

Problem turned out to be due to improper handling of reads beyond EOF:
they should just return without error with the uio unchanged, and the
caller will recognize this as a zero-byte return (EOF).

The previous fix to protect directory reads against bogus uio_offset
values returned EINVAL, which broke mount -o union, which only
union'ed in the lower directory if the upper directory cleanly
returned EOF.

While we're here, protect kernfs as well.


To generate a diff of this commit:
cvs rdiff -r1.51 -r1.52 syssrc/sys/miscfs/fdesc/fdesc_vnops.c
cvs rdiff -r1.65 -r1.66 syssrc/sys/miscfs/kernfs/kernfs_vnops.c
cvs rdiff -r1.66 -r1.67 syssrc/sys/miscfs/procfs/procfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.