diff --git a/sys/src/9/port/segment.c b/sys/src/9/port/segment.c index 17efff622..2b45af88d 100644 --- a/sys/src/9/port/segment.c +++ b/sys/src/9/port/segment.c @@ -610,7 +610,10 @@ segattach(Proc *p, ulong attr, char *name, uintptr va, uintptr len) } } + /* round up va+len */ + len += va & (BY2PG-1); len = PGROUND(len); + if(len == 0) error(Ebadarg);