disallow shrinking of segments when its shared by multiple processes. in a multithreaded application, process1 could do a blocking read in wich case the kernel will validate the accessability of the buffer *before* it calls into the device function wich then blocks. then process2 could shrink the segment and invalidate the buffer passed to the kernel by process1. now, when the blocking read for process1 unblocks, the kernel accesses invalid memory! when disallowing shrinking of shared segments, this can't happen anymore. heres no known plan9 application that needs shrinking of shared segments.