summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-18document urlencode in hget(1)cinap_lenrek
2012-10-18hpost: better handling of optional -u flagcinap_lenrek
2012-10-18hpost: add -l flag to get location url after POSTcinap_lenrek
2012-10-18/sys/src/cmd/auth/mkfile: fix lib.$O.a racecinap_lenrek
2012-10-17kernel: mnt cache reworkcinap_lenrek
avoid double entries in the cache for copen() and properly handle locking so we wont just give up if we cant lock the Mntcache entry, but drop the cache lock, qlock the Mntcache entry, and then recheck the cache. general cleanup (cdev -> ccache, use eqchantdqid())
2012-10-16fortunes, rob, rsc, troll: the war is overstanley lieber
2012-10-16kernel: duppage cleanupcinap_lenrek
remove the sched() call and retry loop from duppage() and just drop the page lock, then reacquire it after lock(&palloc).
2012-10-16kernel: cachedel() lock order, lookpage, cleanupcinap_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-15swap: track swap pages with > 255 references, setswapchan() swapimage.ccinap_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-14kernel: attachimage / exec error handlingcinap_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-14update fshalt(8) manpagecinap_lenrek
2012-10-14formpost becomes hpostcinap_lenrek
2012-10-13urlencode: fix /fd/0 usecinap_lenrek
2012-10-12ircrc: fix spurious autojoincinap_lenrek
2012-10-12ircrc(1): man page fixes, thanks papstanley lieber
2012-10-11hget(1): fix man page errors, add another examplestanley lieber
2012-10-12ircrc: 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-11add /rc/bin/formpost; add formpost to hget(1) man pagestanley lieber
2012-10-11cifsd: fix 64bit fileoffset bugcinap_lenrek
the low 32bit word got *sign-extended* on vlong conversion. m(
2012-10-11ircrc(1): fix errorstanley lieber
2012-10-11add /sys/man/1/ircrc, thanks papstanley lieber
2012-10-11kernel: try to catch some (rare) mistakescinap_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-116in4: fix exit status, less strict src filtering, logging (import from sources)cinap_lenrek
2012-10-10kenrel: simplify image cache by use of ccloseq()cinap_lenrek
2012-10-09vncv: cleanupcinap_lenrek
2012-10-09vncv: fork tcs with RFNOWAIT as we dont collect wait messagecinap_lenrek
2012-10-09vncv: snarfvers race, silly walks, add -l option for clipboard charsetcinap_lenrek
2012-10-09/sys/lib/acid/kernel: fix imagecache() and procenv()cinap_lenrek
2012-10-09mergecinap_lenrek
2012-10-09/sys/lib/acid/kernel: needacid("chan")cinap_lenrek
2012-10-08fortunesaiju
2012-10-07netaudit(8): englishstanley lieber
2012-10-08content-driven bullshitcinap_lenrek
2012-10-08netaudit changes and manual pagecinap_lenrek
2012-10-07hjfs(8): fix wordingstanley lieber
2012-10-07fortunes, rsc, rob: morestanley lieber
2012-10-07add /sys/man/8/hjfsstanley lieber
2012-10-07just-in-time-scale bullshitcinap_lenrek
2012-10-07fixed the bullshit in bullshitaiju
2012-10-07/sys/lib/acid/kernel: fix intrcount()cinap_lenrek
2012-10-06hjfs(4): fly your flagstanley lieber
2012-10-06fortunes, rob, rsc, theo, troll: updatesstanley lieber
2012-10-06pc kernel: make imagemem maxsize 10% less of mainmem maxsizecinap_lenrek
2012-10-06add /sys/man/4/hjfsstanley lieber
2012-10-06tftpfs(4) example typocinap_lenrek
2012-10-06httpfile(4) section name quotingcinap_lenrek
2012-10-06paint(1) fix bad cross referencecinap_lenrek
2012-10-05tftpfs(4): minor correctionsstanley lieber
2012-10-06tftpfs: add manpage, add -x optioncinap_lenrek
2012-10-06libfis: do not lie about logical sector unitscinap_lenrek