summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-08kernel/ip: fix typo (rfc -> ifc)cinap_lenrek
2016-11-08gre: check nil for pullupblock()cinap_lenrek
2016-11-08devbridge: simplify etherwrite() as we dont deal with block listscinap_lenrek
2016-11-08kernel/ip: remove nil checks for allocb() and padblock()cinap_lenrek
2016-11-08kernel/qio: maintain Block.next pointer in padblock()cinap_lenrek
2016-11-08srv(4): add SOURCE for srvtlscinap_lenrek
2016-11-08kernel/qio: fix comments, fix qiwrite() on close queue, remove debug ↵cinap_lenrek
setmalloctag() call in qwrite()
2016-11-08devcons: simplify putstrn0()cinap_lenrek
2016-11-07devbridge: various bugfixes and improvements from charles forsythcinap_lenrek
2016-11-07kernel/qio: big cleanup of qio functionscinap_lenrek
remove bl2mem(), it is broken. a fault while copying to memory yields a partially freed block list. it can be simply replaced by readblist() and freeblist(), which we also use for qcopy() now. remove mem2bl(), and handle putting back remainer from a short read internally (splitblock()) avoiding the releasing and re- acquiering of the ilock. always attempt to free blocks outside of the ilock. have qaddlist() return the number of bytes enqueued, which avoids walking the block list twice.
2016-11-07devloopback: simplify loopoput()cinap_lenrek
remove unneeded waserror() block, loopoput is alled from loopbackbwrite only so we will always get called with a *single* block, so the concatblock() is not needed.
2016-11-07ip: always pass a single block to Medium.bwrite(), avoid concatblock() calls ↵cinap_lenrek
in Dev.bwrite() the convention for Dev.bwrite() is that it accepts a *single* block, and not a block chain. so we never have concatblock here. to keep stuff consistent, we also guarantee thet Medium.bwrite() will get a *single* block passed as well, as the callers are few in number.
2016-11-07ip/nullmedium: free passed block in nullbwrite()cinap_lenrek
2016-11-07ip/tcp: remove useless nil checks for padblock() and allocb() return valuecinap_lenrek
2016-11-05kernel: fix missing ; in panic() callcinap_lenrek
2016-11-05kernel: avoid padblock copying for devtls/devssl/esp, cleanup debuggingcinap_lenrek
to avoid copying in padblock() when adding cryptographics macs to a block in devtls/devssl/esp we reserve 16 extra bytes to the allocation. remove qio ixsummary() function and add acid function qiostats() to /sys/lib/acid/kernel simplify iallocb(), remove iallocsummary() statitics.
2016-11-05archacpi: fix format string warning on amd64cinap_lenrek
2016-11-05devmnt: avoid memory copies of I/O rpc buffer by using bwrite()cinap_lenrek
given that devmnt will almost always write into a pipe or a network connection, which supports te bwrite routine, we can avoid the memory copy that would have been done by devbwrite(). this also means the i/o buffer for writes will get freed sooner without having to wait for the 9p rpc to get a response, saving memory. theres one case where we have to keep the rpc arround and that is when we write to a cached file, as we want to update the cache with the data that was written, but the user buffer cannot be trusted to stay the same during the rpc.
2016-11-05libc: move calloc() into its own compilation unitcinap_lenrek
move calloc() in its own compilation unit to avoid code duplication. also, calloc() is used rarely in plan9 programs.
2016-11-01winwatch: put previous label contents in edit buffer for relablingcinap_lenrek
2016-10-308c: fix double compiling FNX complex lvalue in cgen64()cinap_lenrek
sugen() calls cgen64() speculatively so that when cgen64() returns zero, it will fall back and compile 64-bit copy. the bug was that cgen64() compiled the left hand side and then recursively called cgen64() again, which didnt handle the memory copy so it returned zero and sugen() would compile the left hand side again resulting in two function calls being emited. some code that reproduced the issue: #include <u.h> #include <libc.h> typedef struct { char x[10]; vlong a; } X; X a; X *f(void) { return &a; } void main(int argc, char *argv[]) { f()->a = a.a; } producing: TEXT f+0(SB),0,$0 MOVL $a+0(SB),AX RET , RET , TEXT main+0(SB),0,$0 CALL ,f+0(SB) CALL ,f+0(SB) <- bug MOVL AX,CX LEAL a+12(SB),DX MOVL (DX),AX MOVL AX,12(CX) MOVL 4(DX),AX MOVL AX,16(CX) RET , GLOBL a+0(SB),$20 END ,
2016-10-30ape/libsec: add secp384r1 curve parameters for tlscinap_lenrek
2016-10-30mergecinap_lenrek
2016-10-30libsec: add secp384r1 curve parameters for tlscinap_lenrek
2016-10-26winwatch: no more 'l' key labelingspew
2016-10-25winwatch: middle mouse button click also prompts for labelspew
2016-10-24stats: alternatively read battery and temp from aux/acpiftrvxmtrx
2016-10-24aux/acpi: make it stats(8)-friendlyftrvxmtrx
2016-10-24fix bugs and cleanup cryptsetup codecinap_lenrek
devfs: - fix memory leak in devfs leaking the aes key - allocate aes-xts cipher state in secure memory - actually check if the hexkey got fully parsed cryptsetup: - get rid of stupid "type YES" prompt - use genrandom() to generate salts and keys - rewrite cryptsetup to use common pbkdf2 and readcons routines - fix alot of error handling and simplify the code - move cryptsetup command to disk/cryptsetup - update cryptsetup(8) manual page
2016-10-23auth/factotum: bound the number of srv processes to 16, error the 9p rpc ↵cinap_lenrek
when it is over limit
2016-10-23lib9p: limit the number of srv processes kept arround 8cinap_lenrek
2016-10-23pc/archacpi: don't do acpi initialization in the kernel, provide generic ↵cinap_lenrek
acpimem routines get rid of _INI and _REG method calls, this is not full acpi environment anyway and all we really want todo at kernel boot time is figuring out the interrupt routing. aux/acpi can try to enable more stuff if it needs to later when battery status desired. dont snoop memory space regions in amlmapio(), this is just wrong as amlmapio() is *lazily* mapping regions as they are accessed, so the range table would never be really complete. instead, we provide generic access to the physical address space, excluding kernel and user memory with acpimem file.
2016-10-23ip: simplify code as packblock() and concatblock() will never errorcinap_lenrek
2016-10-23devip: simplify ipbwrite() by using retun value of qbwrite()cinap_lenrek
2016-10-23ip/icmp: only reply to echo request when directed to us and source is unicastcinap_lenrek
2016-10-22gif: just read and decode the first image when -9 or -c flag is specifiedcinap_lenrek
2016-10-22libdraw: avoid dropping queued button change mouse events in emouse()cinap_lenrek
2016-10-22mothra: avoid flushimage() calls, event() will implicitely flushcinap_lenrek
2016-10-19mpc: remove unused yylval typespew
2016-10-18aux/acpi: batteries and CPU temp reading so farftrvxmtrx
2016-10-18archacpi: optionally export acpi memory regions; properly initialize environmentftrvxmtrx
2016-10-18sam: revert showdata crapftrvxmtrx
2016-10-18sam: corner cases are hardftrvxmtrx
2016-10-18sam: fixup :(ftrvxmtrx
2016-10-18samterm: support "showdata" plumb actionftrvxmtrx
2016-10-16fortunes: does that me a dipshitstanley lieber
2016-10-15scram: remove _PTS(5). it just doesn't make any senseftrvxmtrx
2016-10-15scram: oops. word is 0xffff, not 0xffftrvxmtrx
2016-10-15scram: run _PTS(5) and disable GPEs before entering S5. x200s shuts down ↵ftrvxmtrx
properly now
2016-10-10fortunes: Angular uses the term "scope" in a manner akin to the fundamentals ↵stanley lieber
of co mputer science.