forsyth posted to 9fans a fix for privfree not working. a few trivial changes - remove privinit - add paranoid check in privfree to avoid undefined shift Reference: /n/atom/patch/applied/privallocfix Date: Mon Sep 7 17:19:58 CES 2015 Signed-off-by: quanstro@quanstro.net --- /sys/src/libc/9sys/privalloc.c Mon Sep 7 17:16:55 2015 +++ /sys/src/libc/9sys/privalloc.c Mon Sep 7 17:16:56 2015 @@ -2,8 +2,7 @@ #include static Lock privlock; -static int privinit; -static void **privs; +static u32int privmap; extern void **_privates; extern int _nprivates; @@ -15,31 +14,30 @@ int i; lock(&privlock); - if(!privinit){ - privinit = 1; - if(_nprivates){ - _privates[0] = 0; - for(i = 1; i < _nprivates; i++) - _privates[i] = &_privates[i - 1]; - privs = &_privates[i - 1]; + for(i = 0; i < 32 && i < _nprivates; i++){ + if((privmap & (1<= 32 || i >= _nprivates || (privmap & (1<