Age | Commit message (Collapse) | Author | |
---|---|---|---|
2012-10-16 | fortunes, rob, rsc, troll: the war is over | stanley lieber | |
2012-10-16 | kernel: duppage cleanup | cinap_lenrek | |
remove the sched() call and retry loop from duppage() and just drop the page lock, then reacquire it after lock(&palloc). | |||
2012-10-16 | kernel: cachedel() lock order, lookpage, cleanup | cinap_lenrek | |
the lock order of page.Lock -> palloc.hashlock was violated in cachedel() which is called from the pager. change the code to do it in the right oder to prevent deadlock. change lookpage to retry on false hit. i assume that a false hit means: a) we'r low on memory -> cached page got uncached/reused b) duppage() got called on the page, meaning theres another cached copy in the image now. paging in is expensive compared to the hashtable lookup, so i think retrying is better. cleanup fixfault, adding comments. | |||
2012-10-15 | swap: track swap pages with > 255 references, setswapchan() swapimage.c | cinap_lenrek | |
swaped pages use a 8bit refcount where as the Page uses a 16bit one. this might be exploited with having a process having a single page swaped out and then forking 255 times to make the swap map refcount overflow and panic the kernel. this condition is probably very rare. so instead of doubling the size of the swap map, we add a single 32bit refcount swapalloc.xref which will keep the combined refcount of all swap map entries who exceeded 255 references. zero swapimage.c in setswapchan() after closing it as the stat() call below might error leaving a dangeling pointer. | |||
2012-10-14 | kernel: attachimage / exec error handling | cinap_lenrek | |
attachimage()'s approach to handling newseg() error is flawed: a) the the image is on the hash table, but ref is still 0, and there is no segment/pages attached to it so nobody is going to reclaim / putimage() it -> leak b) calling pexit() would deadlock us because exec has acquired up->seglock when calling attachimage(), so this would just deadlock. the fix does the following: attachimage() will putimage() and nexterror() if newseg() fails instead of pexit(). this is less surprising. exec now keeps the condition variable commit which is set once we are commited / reached the point of no return and check this variable in the highest waserror() handler and pexit() us there. this way we have released up all the locks and pexit() will cleanup. note: this bug shouldnt us hit in with the current newseg() implementation as it uses smalloc() which would wait to satisfy the allocation instead of erroring. | |||
2012-10-14 | update fshalt(8) manpage | cinap_lenrek | |
2012-10-14 | formpost becomes hpost | cinap_lenrek | |
2012-10-13 | urlencode: fix /fd/0 use | cinap_lenrek | |
2012-10-12 | ircrc: fix spurious autojoin | cinap_lenrek | |
2012-10-12 | ircrc(1): man page fixes, thanks pap | stanley lieber | |
2012-10-11 | hget(1): fix man page errors, add another example | stanley lieber | |
2012-10-12 | ircrc: various improvements (thanks again pap!) | cinap_lenrek | |
the -t option was ineffective. this fixes is. fix incompatibility with 9vx as its tcp/status file returns slightly different format than Plan 9. strip annoying character from nickserv. | |||
2012-10-11 | add /rc/bin/formpost; add formpost to hget(1) man page | stanley lieber | |
2012-10-11 | cifsd: fix 64bit fileoffset bug | cinap_lenrek | |
the low 32bit word got *sign-extended* on vlong conversion. m( | |||
2012-10-11 | ircrc(1): fix error | stanley lieber | |
2012-10-11 | add /sys/man/1/ircrc, thanks pap | stanley lieber | |
2012-10-11 | kernel: try to catch some (rare) mistakes | cinap_lenrek | |
kstrcpy() did not null terminate for < 4 byte buffers. fixed, but i dont think there is any case where this can happen in practice. always set malloctag in kstrdup(), cleanup. always use ERRMAX bounded kstrcpy() to set up->errstr, q->err and note[]->msg. paranoia. instead of silently truncating interface name in netifinit(), panic the kernel if interface name is too long as this case is clearly a mistake. panic kernel when filename is too long for addbootfile() in devroot. this might happen if your kernel configuration is messed up. | |||
2012-10-11 | 6in4: fix exit status, less strict src filtering, logging (import from sources) | cinap_lenrek | |
2012-10-10 | kenrel: simplify image cache by use of ccloseq() | cinap_lenrek | |
2012-10-09 | vncv: cleanup | cinap_lenrek | |
2012-10-09 | vncv: fork tcs with RFNOWAIT as we dont collect wait message | cinap_lenrek | |
2012-10-09 | vncv: snarfvers race, silly walks, add -l option for clipboard charset | cinap_lenrek | |
2012-10-09 | /sys/lib/acid/kernel: fix imagecache() and procenv() | cinap_lenrek | |
2012-10-09 | merge | cinap_lenrek | |
2012-10-09 | /sys/lib/acid/kernel: needacid("chan") | cinap_lenrek | |
2012-10-08 | fortunes | aiju | |
2012-10-07 | netaudit(8): english | stanley lieber | |
2012-10-08 | content-driven bullshit | cinap_lenrek | |
2012-10-08 | netaudit changes and manual page | cinap_lenrek | |
2012-10-07 | hjfs(8): fix wording | stanley lieber | |
2012-10-07 | fortunes, rsc, rob: more | stanley lieber | |
2012-10-07 | add /sys/man/8/hjfs | stanley lieber | |
2012-10-07 | just-in-time-scale bullshit | cinap_lenrek | |
2012-10-07 | fixed the bullshit in bullshit | aiju | |
2012-10-07 | /sys/lib/acid/kernel: fix intrcount() | cinap_lenrek | |
2012-10-06 | hjfs(4): fly your flag | stanley lieber | |
2012-10-06 | fortunes, rob, rsc, theo, troll: updates | stanley lieber | |
2012-10-06 | pc kernel: make imagemem maxsize 10% less of mainmem maxsize | cinap_lenrek | |
2012-10-06 | add /sys/man/4/hjfs | stanley lieber | |
2012-10-06 | tftpfs(4) example typo | cinap_lenrek | |
2012-10-06 | httpfile(4) section name quoting | cinap_lenrek | |
2012-10-06 | paint(1) fix bad cross reference | cinap_lenrek | |
2012-10-05 | tftpfs(4): minor corrections | stanley lieber | |
2012-10-06 | tftpfs: add manpage, add -x option | cinap_lenrek | |
2012-10-06 | libfis: do not lie about logical sector units | cinap_lenrek | |
2012-10-05 | urlencode: encode null bytes | cinap_lenrek | |
2012-10-05 | urlencode: fix null byte hexdigit() bug | cinap_lenrek | |
2012-10-05 | urlencode: decode + as space | cinap_lenrek | |
2012-10-05 | replace urlencode with c version that isnt broken for utf-8 | cinap_lenrek | |
2012-10-04 | add /rc/bin/urlencode | stanley lieber | |