| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-10-26 | libc: wunlock() part 2 | cinap_lenrek | |
| the initial issue was that wunlock() would wakeup readers while holding the spinlock causing deadlock in libthread programs where rendezvous() would do a thread switch within the same process which then can acquire the RWLock again. the first fix tried to prevent holding the spinlock, waking up one reader at a time with releasing an re-acquiering the spinlock. this violates the invariant that readers can only wakup writers in runlock() when multiple readers where queued at the time of wunlock(). at the first wakeup, q->head != nil so runlock() would find a reader queued on runlock() when it expected a writer. this (hopefully last) fix unlinks *all* the reader QLp's atomically and in order while holding the spinlock and then traverses the dequeued chain of QLp structures again to call rendezvous() so the invariant described above holds. | |||
| 2017-10-23 | upas/smtpd: don't call syslog() from the note handler, this can deadlock | cinap_lenrek | |
| when the alarm hits while the process is currently in syslog(), holding the sl lock, then calling syslog again will deadlock: /proc/1729193/text:386 plan 9 executable /sys/lib/acid/port /sys/lib/acid/386 acid: lstk() sleep()+0x7 /sys/src/libc/9syscall/sleep.s:5 lock(lk=0x394d8)+0xb7 /sys/src/libc/port/lock.c:25 i=0x3e8 syslog(logname=0x41c64,cons=0x0,fmt=0x41c6a)+0x2d /sys/src/libc/9sys/syslog.c:60 err=0x79732f27 d=0x0 ctim=0x0 buf=0x0 p=0x0 arg=0x0 n=0x0 catchalarm(msg=0xdfffc854)+0x7a /sys/src/cmd/upas/smtp/smtpd.c:71 notifier+0x30 /sys/src/libc/port/atnotify.c:15 | |||
| 2017-10-20 | libc: cleanup atexit and put exits() in its own compilation unit | cinap_lenrek | |
| this avoids having to pull in atexit() and its dependencies (lock(), unlock()) into every program. (as exits() is called by _main() from main9.s). | |||
| 2017-10-20 | vt: block when sending input to host (fixes truncated paste) | cinap_lenrek | |
| 2017-10-17 | libsec: make sectorNumber argument for aes_xts routines uvlong | cinap_lenrek | |
| 2017-10-17 | libsec: add AES CFB and AES OFB stream ciphers | cinap_lenrek | |
| 2017-10-17 | aux/wpa: prevent PTK re-installation attack by replaying AP retransmits | cinap_lenrek | |
| this implements the mitigation suggested in section "6.5 Countermeasures" of "Key Reinstallation Attacks: Forcing Nonce Resuse in WPA2" [1]. [1] https://papers.mathyvanhoef.com/ccs2017.pdf | |||
| 2017-10-16 | ape/libsec: fix the build, bring ape libsec.h in sync with plan9 version | cinap_lenrek | |
| 2017-10-06 | ssh: remove extern declarations for pkcs1padbuf() and asn1encodedigest() ↵ | cinap_lenrek | |
| (now in libsec.h) | |||
| 2017-10-06 | rsa: add auth/rsa2asn1, check write error in auth/rsa2x509 and auth/rsa2pub, ↵ | cinap_lenrek | |
| document in rsa(8) | |||
| 2017-10-06 | libsec: export asn1encodedigest(), asn1encodeRSApub(), asn1toRSApub(), ↵ | cinap_lenrek | |
| pkcs1padbuf() and pkcs1unpadbuf() | |||
| 2017-10-05 | libsec: allow \r\n terminated lines in decodePEM() | cinap_lenrek | |
| 2017-10-04 | check for fs= in netaudit | aiju | |
| 2017-10-04 | hgwebfs: simplify retry loop construction | cinap_lenrek | |
| 2017-10-04 | ndb/cs: icmp only supports version 4 addresses, icmpv6 only version 6 addresses | cinap_lenrek | |
| 2017-10-04 | libauthsrv: preserve readcons() error message from read() error | cinap_lenrek | |
| 2017-10-04 | hg: disable tag caching, allows accessing hg repo from dump | cinap_lenrek | |
| 2017-09-29 | 9boot: limit read size to 4K for efi simple file system protocol | cinap_lenrek | |
| copying files from the uefi shell works, reading plan9.ini works, loading the kernel by calling Read to read in the DATA section of the kernel *FAILS*. my guess is that uefi filesystem driver or nvme driver tries to allocate a temporary buffer and hasnt got the space. limiting the read size fixes it. | |||
| 2017-09-27 | pc64: add ether82598 driver to configuration | cinap_lenrek | |
| 2017-09-27 | ether82598: support for T540-T1, use physical addresses for isaconf port | cinap_lenrek | |
| reading mac doesnt work yet, requires ea= option in isaconf. | |||
| 2017-09-27 | sdnvme: identify namespace list fails on intel ssd, just assume nsid=[1] | cinap_lenrek | |
| 2017-09-27 | kernel: don't tokenize inplace in isaconfig() to make /dev/reboot work | cinap_lenrek | |
| 2017-09-27 | kernel: get rid of 36 bit Paerange mask in mtrr (supporting machines with ↵ | cinap_lenrek | |
| more than 64GB of memory) | |||
| 2017-09-23 | upas/fs: fix putcache(), sub-part messages should never go into the lru | cinap_lenrek | |
| we accidentally added non-top messages (attatchments) to the lru, resulting in attachments to be freed. this is wrong. | |||
| 2017-09-22 | xhci: do bounds checking in capability walking, check if controller vanished ↵ | cinap_lenrek | |
| on init (thunderbolt unplug) | |||
| 2017-09-22 | sshfs: use mtime for qid.vers, fix wstat without name change, fix wstat ↵ | cinap_lenrek | |
| memory leak | |||
| 2017-09-13 | upas/fs: replace fixed cache table with lru linked list | cinap_lenrek | |
| the cachetab just keeps track of recent messages that have not been called cachefree() on. under some conditions, the fixed table could overflow (all messages having refs > 0). with a linked list, overflow becomes non fatal and the algorithm is simpler to implement. | |||
| 2017-09-11 | winwatch: show windows with empty labels (thanks jpm) | cinap_lenrek | |
| 2017-09-10 | rename pcf kernel to pc, remove pcf, pccpuf, pccpu64 kernels, update ↵ | cinap_lenrek | |
| documentation there isnt much of a point in keep maintaining separate kernel configurations for terminal and cpu kernels as the role can be switched with service=cpu boot parameter. to make stuff cosistent, we will just have one "pc" kernel and one "pc64" kernel configuration now. | |||
| 2017-09-10 | audiohda: add pci id for nvidia GM204 | BurnZeZ | |
| 2017-09-10 | audiohda: add pci id for Intel 9 Series | BurnZeZ | |
| 2017-09-10 | vmx(3): document changes to devvmx interface | cinap_lenrek | |
| 2017-09-10 | audiohda: add pci id for ICH10 (thanks echoline) | cinap_lenrek | |
| 2017-09-02 | devvmx: call vmxshutdown from reboot() function manually | aiju | |
| 2017-08-29 | sshfs: fork ssh in its own namespace so it wont keep the mountpoint open | cinap_lenrek | |
| 2017-08-29 | sshfs: start sendproc and recvproc in the sane notegroup as the fs process ↵ | cinap_lenrek | |
| so theadexitsall() works on sshfs: ending. | |||
| 2017-08-29 | ether82563: make the ethernet of thinkpad p50 work (thanks sam-d) | cinap_lenrek | |
| 2017-08-29 | audiohda: Intel Sunrise Point-H support (thanks sam-d) | cinap_lenrek | |
| 2017-08-29 | sdnvme: pass 0 instead of 0xffffffff as NSID for identify controller and ↵ | cinap_lenrek | |
| create completion/submission queue commands (thanks Ori_B) Samsung SSD 960 EVO fails with invalid namespace error otherwise... | |||
| 2017-08-28 | devdup: remove useless OCEXEC check, handled by namec() | cinap_lenrek | |
| 2017-08-28 | merge | cinap_lenrek | |
| 2017-08-28 | devsegment: handle ORCLOSE on segment directory correctly, fix wrong qid, ↵ | cinap_lenrek | |
| missing COPEN flag for segmentcreate() | |||
| 2017-08-28 | devvmx, vmx: lilu dallas multivm | aiju | |
| 2017-08-28 | vmx(1): don't realloc virtio queues -- breaks pointers | aiju | |
| 2017-08-27 | sdiahci: Intel 200 Series Chipset Family PCH support (thanks aiju) | cinap_lenrek | |
| we used to tweak arround in the ICH registers for all intel controllers, which is wrong, as the 200 series has different magic registes. see the datasheet: https://www.intel.com/content/www/us/en/chipsets/200-series-chipset-pch-datasheet-vol-2.html this caused the clocks to be disabled for the 6th port causing a full machine lockup touching the 6th port registers. the next problem was that aiju's bios disabled the unused ports somehow but didnt clear ther PI bits, so that they would stay in Sbist status even after a port reset. so the port would get stuck in the Dportreset state forever. the fix for this was to use a one second timeout for the port reset procedure. | |||
| 2017-08-24 | libmach: support disassembling from memory | aiju | |
| 2017-08-24 | vmx(1): VGA framebuffer should be normal memory | aiju | |
| 2017-08-24 | vmx(1): fixed code that assumed uintptr==uvlong | aiju | |
| 2017-08-24 | vmx(1): memory map improvements, x86 simulator for MMIO | aiju | |
| 2017-08-24 | devvmx: more efficient data structure for memory map; simplified (more ↵ | aiju | |
| reliable) step function | |||
