OpenBSD src changes summary for 2016-05-18 ==========================================
lib/libc lib/libfuse lib/libutil libexec/ld.so share/man sys/arch/amd64/amd64 sys/arch/arm/mainbus sys/arch/armv7/armv7 sys/arch/armv7/imx sys/arch/i386/i386 sys/arch/i386/include sys/arch/octeon/octeon sys/arch/sh/include sys/arch/sh/sh sys/dev/pci sys/dev/usb sys/kern sys/net sys/net80211 sys/netinet sys/sys usr.bin/sendbug == lib =============================================================== 01/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ gen/daemon.3 > Reduce quadruple negation to double negation; > from Edgar Pettijohn <edgar at pettijohn minus web dot com>. > OK jmc@ deraadt@ > While here, remove two instances of inconsistent future tense. (schwarze@) - arch/sh/sys/cerror.S ~ arch/sh/Makefile.inc ~ arch/sh/SYS.h ~ arch/sh/sys/brk.S ~ arch/sh/sys/sbrk.S ~ arch/sh/sys/sigprocmask.S ~ arch/sh/sys/sigsuspend.S ~ arch/sh/sys/tfork_thread.S > Save and restore 'gbr' register when enter/leaving the kernel, and use > it for the TCB pointer. Eliminate __cerror. > "looks good" kettenis@, testing and ok deraadt@ (guenther@) libfuse ~ fuse_main.3 > update links; from ray (jmc@) libutil ~ login_fbtab.3 > Remove obsolete caveat. OK deraadt@ (millert@) == libexec =========================================================== 02/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec ld.so ~ tib.c ~ amd64/archdep.h ~ arm/archdep.h ~ hppa/archdep.h ~ i386/archdep.h ~ sh/archdep.h ~ sparc/archdep.h ~ sparc64/archdep.h > fix types for mmap wrappers. A few whitespace cleanups snuck in. > ok guenther (deraadt@) == share ============================================================= 03/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man9/srp_enter.9 ~ man9/srpl_rc_init.9 > rework the srp api so it takes an srp_ref struct that the caller provides. > the srp_ref struct is used to track the location of the callers > hazard pointer so later calls to srp_follow and srp_enter already > know what to clear. this in turn means most of the caveats around > using srps go away. specifically, you can now: > - switch cpus while holding an srp ref > - ie, you can sleep while holding an srp ref > - you can take and release srp refs in any order > the original intent was to simplify use of the api when dealing > with complicated data structures. the caller now no longer has to > track the location of the srp a value was fetched from, the srp_ref > effectively does that for you. > srp lists have been refactored to use srp_refs instead of srpl_iter > structs. > this is in preparation of using srps inside the ART code. ART is a > complicated data structure, and lookups require overlapping holds > of srp references. > ok mpi@ jmatthew@ (dlg@) ~ man9/srp_enter.9 > rename srp_finalize to srp_gc_finalize (dlg@) ~ man5/port-modules.5 > Document MODQT_LRELEASE > ok sthen@ zhuk@ (jca@) == sys =============================================================== 04/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/amd64/amd64 ~ acpi_machdep.c > add a check for the acpi trampoline data page to match the code check > already there. (mlarkin@) ~ acpi_machdep.c > tabs vs spaces (mlarkin@) arch/arm/mainbus ~ mainbus.c ~ mainbus.h > Introduce a per-platform init_mainbus() hook that can be used to attach > platform-specific devices to mainbus before we start walking the FDT. > ok patrick@ (kettenis@) arch/armv7/armv7 ~ armv7_machdep.h ~ platform.c > Introduce a per-platform init_mainbus() hook that can be used to attach > platform-specific devices to mainbus before we start walking the FDT. > ok patrick@ (kettenis@) arch/armv7/imx ~ imxuart.c > Remove unused probe function. > ok patrick@ (kettenis@) ~ imx_machdep.c > Introduce a per-platform init_mainbus() hook that can be used to attach > platform-specific devices to mainbus before we start walking the FDT. > ok patrick@ (kettenis@) arch/i386/i386 ~ autoconf.c ~ cpu.c ~ hibernate_machdep.c ~ machdep.c ~ mptramp.s > Split i386 mp hatch trampoline into code and data pages, and protect each > with proper W^X policy. The same thing was done for amd64 late last year, > catching i386 up now. Diff has been in snaps for a few days with no > reported fallout. > ok deraadt@ (mlarkin@) arch/i386/include ~ mpbiosvar.h > Split i386 mp hatch trampoline into code and data pages, and protect each > with proper W^X policy. The same thing was done for amd64 late last year, > catching i386 up now. Diff has been in snaps for a few days with no > reported fallout. > ok deraadt@ (mlarkin@) arch/octeon/octeon ~ autoconf.c > Accept cnmac as a valid rootdev from uboot on octeon. > Example: rootdev=/dev/cnmac0 > Patch from Kim Lidstrom, thanks! (visa@) arch/sh/include ~ frame.h ~ locore.h ~ proc.h ~ tcb.h > Save and restore 'gbr' register when enter/leaving the kernel, and use > it for the TCB pointer. Eliminate __cerror. > "looks good" kettenis@, testing and ok deraadt@ (guenther@) arch/sh/sh ~ db_interface.c ~ sh_machdep.c > Save and restore 'gbr' register when enter/leaving the kernel, and use > it for the TCB pointer. Eliminate __cerror. > "looks good" kettenis@, testing and ok deraadt@ (guenther@) dev/pci ~ if_iwm.c > In iwm(4), add bit-polling in Rx-DMA init code path. > According to a comment in iwlwifi: > * Clearing FH_MEM_RCSR_CHNL0_CONFIG_REG to 0 turns off Rx DMA. > * Driver should poll FH_MEM_RSSR_RX_STATUS_REG for > * FH_RSSR_CHNL0_RX_STATUS_CHNL_IDLE (bit 24) before continuing. > ok kettenis@ (stsp@) ~ if_iwm.c ~ if_iwmreg.h > Fix several nitpicks in iwm(4). > Move some declarations to if_iwmreg.h so we can use iwm_phy_db_* > prototypes. > Remove redundant declaration of iwm_send_phy_db_data(). > Remove pointless iwm_fw_alive(); just call iwm_post_alive() directly. > Simplify iwm_prepare_card_hw() and iwm_mvm_add_sta(). > Return timeout error from iwm_apm_init(). > Print a message when init (i.e. boot) firmware fails to load. > Remove some commented-out code which wouldn't compile anyway. > Move iwm_mvm_tx_fifo to if_iwmreg.h to match better where Linux puts it. > ok kettenis@ mpi@ (stsp@) dev/usb ~ usb.c ~ usb_subr.c ~ usbdivar.h > Cache vendor, product and serial info for each usb device. This allows > ioctl(USB_DEVICEINFO) not to issue any further requests to gather > information. Thus reducing stress on connected usb devices. > This fixes an issue where usbdevs called in a loop causes a USB mass > storage device to halt operation. > Adapted from a similar commit in NetBSD. > ok mpi@ (patrick@) kern ~ uipc_syscalls.c > Remove unnecessary cast of buflen to u_int in sockargs(). This was > missed when buflen was promoted to size_t. OK tedu@ (millert@) ~ kern_srp.c > rework the srp api so it takes an srp_ref struct that the caller provides. > the srp_ref struct is used to track the location of the callers > hazard pointer so later calls to srp_follow and srp_enter already > know what to clear. this in turn means most of the caveats around > using srps go away. specifically, you can now: > - switch cpus while holding an srp ref > - ie, you can sleep while holding an srp ref > - you can take and release srp refs in any order > the original intent was to simplify use of the api when dealing > with complicated data structures. the caller now no longer has to > track the location of the srp a value was fetched from, the srp_ref > effectively does that for you. > srp lists have been refactored to use srp_refs instead of srpl_iter > structs. > this is in preparation of using srps inside the ART code. ART is a > complicated data structure, and lookups require overlapping holds > of srp references. > ok mpi@ jmatthew@ (dlg@) ~ kern_srp.c > rename srp_finalize to srp_gc_finalize (dlg@) ~ subr_log.c > Use constty and cn_devvp for checking wether to use cnwrite(). That > makes console redirection with senssyslog(2) and LOG_CONS work > again. Also merge the two if else if else blocks into one. > OK deraadt@ (bluhm@) ~ subr_log.c > Kill trailing whitespaces. (bluhm@) net ~ bpf.c ~ if.c ~ if_vlan.c ~ rtable.c > rework the srp api so it takes an srp_ref struct that the caller provides. > the srp_ref struct is used to track the location of the callers > hazard pointer so later calls to srp_follow and srp_enter already > know what to clear. this in turn means most of the caveats around > using srps go away. specifically, you can now: > - switch cpus while holding an srp ref > - ie, you can sleep while holding an srp ref > - you can take and release srp refs in any order > the original intent was to simplify use of the api when dealing > with complicated data structures. the caller now no longer has to > track the location of the srp a value was fetched from, the srp_ref > effectively does that for you. > srp lists have been refactored to use srp_refs instead of srpl_iter > structs. > this is in preparation of using srps inside the ART code. ART is a > complicated data structure, and lookups require overlapping holds > of srp references. > ok mpi@ jmatthew@ (dlg@) ~ if_ethersubr.c > Remove some superflous if_get(9)/if_put(9) dances now that ARP input > routines are call directly by ether_input(). > ok visa@, dlg@ (mpi@) net80211 ~ ieee80211_input.c ~ ieee80211_node.c ~ ieee80211_proto.c > In hostap mode, don't re-use association IDs (AIDs) of nodes which are > still lingering in the node cache. This could cause an AID to be assigned > twice, once to a newly associated node and once to a different node in > COLLECT cache state (i.e. marked for future eviction from the node cache). > Drivers (e.g. rt2860) may use AIDs to keep track of nodes in firmware > tables and get confused when AIDs aren't unique across the node cache. > The symptom observed with rt2860 were nodes stuck at 1 Mbps Tx rate since > the duplicate AID made the driver perform Tx rate (AMRR) accounting on > the wrong node object. > To find out if a node is associated we now check the node's cache state, > rather than comparing the node's AID against zero. An AID is assigned when > a node associates and it lasts until the node is eventually purged from the > node cache (previously, the AID was made available for re-use when the node > was placed in COLLECT state). There is no need to be stingy with AIDs since > the number of possible AIDs exceeds the maximum number of nodes in the > cache. > Problem found by Nathanael Rensen. > Fix written by Nathanael and myself. Tested by Nathanael. > Comitting now to get this change tested across as many drivers as possible. > (stsp@) netinet ~ ip_carp.c > rework the srp api so it takes an srp_ref struct that the caller provides. > the srp_ref struct is used to track the location of the callers > hazard pointer so later calls to srp_follow and srp_enter already > know what to clear. this in turn means most of the caveats around > using srps go away. specifically, you can now: > - switch cpus while holding an srp ref > - ie, you can sleep while holding an srp ref > - you can take and release srp refs in any order > the original intent was to simplify use of the api when dealing > with complicated data structures. the caller now no longer has to > track the location of the srp a value was fetched from, the srp_ref > effectively does that for you. > srp lists have been refactored to use srp_refs instead of srpl_iter > structs. > this is in preparation of using srps inside the ART code. ART is a > complicated data structure, and lookups require overlapping holds > of srp references. > ok mpi@ jmatthew@ (dlg@) ~ if_ether.c > Move the code to update an ARP cache into its own function. > ok visa@ (mpi@) ~ if_ether.c ~ if_ether.h > Remove some superflous if_get(9)/if_put(9) dances now that ARP input > routines are call directly by ether_input(). > ok visa@, dlg@ (mpi@) sys ~ srp.h > rework the srp api so it takes an srp_ref struct that the caller provides. > the srp_ref struct is used to track the location of the callers > hazard pointer so later calls to srp_follow and srp_enter already > know what to clear. this in turn means most of the caveats around > using srps go away. specifically, you can now: > - switch cpus while holding an srp ref > - ie, you can sleep while holding an srp ref > - you can take and release srp refs in any order > the original intent was to simplify use of the api when dealing > with complicated data structures. the caller now no longer has to > track the location of the srp a value was fetched from, the srp_ref > effectively does that for you. > srp lists have been refactored to use srp_refs instead of srpl_iter > structs. > this is in preparation of using srps inside the ART code. ART is a > complicated data structure, and lookups require overlapping holds > of srp references. > ok mpi@ jmatthew@ (dlg@) ~ srp.h > rename srp_finalize to srp_gc_finalize (dlg@) == usr.bin =========================================================== 05/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin sendbug ~ sendbug.c > Print a user-friendly message if some fields are missing; ok tedu@ (jca@) ~ sendbug.c > Also print a warning if the user doesn't fill the mail Subject > Alternative diff by Tim (trondd ! kagu-tsuchi . com), ok tedu@ (jca@) =============================================================================== _______________________________________________ odc mailing list [email protected] http://www.squish.net/mailman/listinfo/odc
