Subject: Re: UBC problems
To: Chuck Silvers <chuq@chuq.com>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: tech-kern
Date: 01/15/2005 11:27:11
In message <20050115154734.GA29402@spathi.chuq.com>, Chuck Silvers writes:
>On Sat, Jan 15, 2005 at 10:36:39AM -0500, Steven M. Bellovin wrote:
>> In message <20050115151907.GA9021@spathi.chuq.com>, Chuck Silvers writes:
>> >hi,
>> 
>> >
>> >
>> >> -I now believe that the best way to deal with this would be to
>> >>  have UBC reads just return zero filled pages if the file is
>> >>  not backed with real data, and let upper layers (above the
>> >>  trap handler) check whether the read is legal. Just commenting
>> >>  out the range check in genfs_getpages() isn't enough,
>> >>  unfortunately. That's a pretty complex matter...
>> >
>> >creating pages for offsets past EOF is to be avoided in general, since
>> >it's pretty nonsensical.  I checked in a different fix for this issue,
>> >update uvm_bio.c.
>> >
>> 
>> I don't understand -- are you trying to bar files with holes in them?  
>> That's been part of Unix since the beginning.
>
>no, seeking past EOF and write()ing still works.  we just don't want to
>allow read operations for offsets past EOF.
>

That sounds reasonable, though I'd like to check against classical Unix 
semantics or POSIX.

		--Prof. Steven M. Bellovin, http://www.cs.columbia.edu/~smb