Subject: Re: PROT_EXEC mappings of vnodes -> VTEXT
To: None <tech-kern@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 10/30/2001 11:54:12
>> Even if you think crashes are a Wrong Thing, I'm still not convinced
>> ETXTBUSY is ever the way to do it.  ISTM that writing to a file that
>> backs a text page in use should have copy-on-write semantics:
>> existing mappings of that page continue to use the old data, now
>> backed by swap instead of the original vnode, and new mappings (of
>> course) use the new data.

> Unfortunately, we version shared libraries, not the individual
> symbols within them.  Wouldn't your scheme make it possible to get
> incompatible versions of different symbols from the "same" library
> given a dynamic loader that used lazy symbol resolution?

I don't think so, unless the library gets partially but not completely
overwritten and then the process maps it...or if the dynamic linker
maps only part of the file at first, mapping other parts only lazily.
(COW semantics would, in my scheme, apply to pages that are mapped but
not presently in-core.  It might be done by keeping both versions on
disk or by paging the old version in before writing (and possibly right
back out to swap), depending.)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B