> the problem we have is that we temporarily unlock > p to acquire palloc lock, wich opens a chance for > someone to take a ref on p, but duppage doesnt > recheck after reqcquiering the p lock. > > if this happens, duppage() has to return and let > fixfault() make a copy for its segment.
That makes sense to me. Should we be worried that duppage returns 0 or 1 for success or failure, but fixfault ignores the return value?