OpenBSD src changes summary for 2015-06-28 to 2015-07-05 inclusive
==================================================================

bin/ksh                                 bin/ps
distrib/armv7                           distrib/miniroot
distrib/sets                            etc/Makefile
etc/changelist                          etc/etc.armv7/Makefile.inc
etc/etc.octeon/MAKEDEV                  etc/etc.octeon/MAKEDEV.md
etc/mtree/special                       gnu
lib/csu                                 lib/libc
lib/libssl                              lib/libutil
libexec/ld.so                           regress/lib
regress/sys                             regress/usr.bin
regress/usr.sbin                        sbin/iked
share/man                               share/mk
sys/arch/alpha/alpha                    sys/arch/alpha/include
sys/arch/amd64/amd64                    sys/arch/amd64/include
sys/arch/arm/include                    sys/arch/armv7/conf
sys/arch/hppa/include                   sys/arch/i386/i386
sys/arch/i386/include                   sys/arch/i386/isa
sys/arch/m88k/include                   sys/arch/m88k/m88k
sys/arch/mips64/include                 sys/arch/octeon/conf
sys/arch/octeon/dev                     sys/arch/octeon/octeon
sys/arch/powerpc/include                sys/arch/sparc64/include
sys/arch/vax/if                         sys/arch/vax/mscp
sys/arch/vax/vax                        sys/conf
sys/dev                                 sys/dev/pci
sys/dev/pcmcia                          sys/dev/usb
sys/kern                                sys/net
sys/net80211                            sys/netinet
sys/netinet6                            sys/sys
usr.bin                                 usr.bin/calendar
usr.bin/lorder                          usr.bin/openssl
usr.bin/ssh                             usr.bin/sudo
usr.bin/units                           usr.sbin/httpd
usr.sbin/pkg_add                        usr.sbin/syslogd

== bin =============================================================== 01/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin

ksh

  ~ ksh.1                                 

  > Use "alternation" consistently
  > ok jmc@ (feinerer@)

ps

  ~ extern.h                              ~ print.c
  ~ ps.1                                  ~ ps.c

  > After removing the p_swtime from the kernel, ps always printed 0.0
  > as %cpu time.  Remove the calculation in ps that includes the process
  > lifetime.  Just print the p_pctcpu value, that was done before when
  > ps was called with -C.  Keep -C as a no-op for existing scripts.
  > OK millert@ (bluhm@)

== distrib =========================================================== 02/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib

armv7

  ~ ramdisk/Makefile                      ~ ramdisk/install.md

  > enable vexpress (jsg@)

miniroot

  ~ dot.profile                           

  > Use ksh style tests like in the rest of the installer scripts.
  > OK krw@ halex@ (rpe@)

  ~ dot.profile                           ~ install.sub

  > Use [aA]* instead of a*|A* in case-blocks.
  > OK krw@
  > @halex agreed on this in a similar diff (rpe@)

  ~ install.sub                           

  > In case-statements where single and multiline commands are used,
  > put the terminating ;; always on its own line.
  > discussed with and OK krw@ halex@ (rpe@)

sets

  ~ lists/base/md.macppc                  ~ lists/base/md.socppc
  ~ lists/comp/md.macppc                  ~ lists/comp/md.socppc

  > sync (deraadt@)

  ~ lists/base/md.alpha                   ~ lists/base/md.amd64
  ~ lists/base/md.armish                  ~ lists/base/md.armv7
  ~ lists/base/md.aviion                  ~ lists/base/md.hppa
  ~ lists/base/md.hppa64                  ~ lists/base/md.i386
  ~ lists/base/md.landisk                 ~ lists/base/md.loongson
  ~ lists/base/md.luna88k                 ~ lists/base/md.macppc
  ~ lists/base/md.octeon                  ~ lists/base/md.sgi
  ~ lists/base/md.socppc                  ~ lists/base/md.sparc
  ~ lists/base/md.sparc64                 ~ lists/base/md.vax
  ~ lists/base/md.zaurus                  ~ lists/comp/mi

  > sync (deraadt@)

  ~ lists/base/md.alpha                   ~ lists/base/md.amd64
  ~ lists/base/md.armish                  ~ lists/base/md.armv7
  ~ lists/base/md.aviion                  ~ lists/base/md.hppa
  ~ lists/base/md.hppa64                  ~ lists/base/md.i386
  ~ lists/base/md.landisk                 ~ lists/base/md.loongson
  ~ lists/base/md.luna88k                 ~ lists/base/md.macppc
  ~ lists/base/md.octeon                  ~ lists/base/md.sgi
  ~ lists/base/md.socppc                  ~ lists/base/md.sparc
  ~ lists/base/md.sparc64                 ~ lists/base/md.zaurus
  ~ lists/base/mi                         ~ lists/etc/mi
  ~ lists/man/mi                          

  > sync (deraadt@)

== etc =============================================================== 03/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc

Makefile

  ~ Makefile                              

  > Remove sudoers (millert@)

changelist

  ~ changelist                            

  > Remove sudoers (millert@)

etc.armv7/Makefile.inc

  ~ etc.armv7/Makefile.inc                

  > enable vexpress (jsg@)

etc.octeon/MAKEDEV

  ~ etc.octeon/MAKEDEV                    

  > regen (jmatthew@)

etc.octeon/MAKEDEV.md

  ~ etc.octeon/MAKEDEV.md                 

  > add usb devices (jmatthew@)

mtree/special

  ~ mtree/special                         

  > Remove sudoers (millert@)

== gnu =============================================================== 04/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu

gnu

  ~ gcc/gcc/config/sparc/openbsd.h        

  > Link static pie binaries against rcrt0.o (miod@)

== lib =============================================================== 05/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib

csu

  ~ boot.h                                ~ sparc/md_init.h

  > static pie support for sparc. (miod@)

libc

  ~ locale/setlocale.c                    

  > remove new_categories variable from global.
  > This variable is used as temporary buffer in order to do checking
  > before copying the content to current_categories variable.
  > Switch it as local variable in setlocale function. Adapts some functions.
  > the commit collapse 3 proposed diffs on tech@, and all OK stsp@ (semarie@)

  ~ locale/Makefile.inc                   

  > There are no ${LIBCSRCDIR}/arch/${MACHINE_CPU}/locale directories in
  > cvs. Remove the unused search path from Makefile.inc
  > "fine with me" stsp@ (semarie@)

libssl

  ~ src/ssl/ssl_lib.c                     ~ src/ssl/ssl_locl.h

  > Convert ssl_bytes_to_cipher_list to CBS.
  > Link in the new 'unit' regress and expand the invalid tests to include
  > some that would fail before the CBS conversion.
  > input + ok miod@ jsing@ (doug@)

  ~ src/crypto/arm_arch.h                 

  > fix the build on arm after the recent addition of -Wundef
  > ok doug@ deraadt@ (jsg@)

libutil

  ~ imsg.c                                ~ imsg-buffer.c

  > bzero cmsgbuf before using it, silences valgrind warnings.
  > henning@ "sure" (brynet@)

== libexec =========================================================== 06/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec

ld.so

  ~ sparc/archdep.h                       

  > Correctly handle relative-type relocations; very old ld.so bug which got
  > fixed everywhere but on sparc for some unknown reason (and did not cause
  > any havoc in real life). (miod@)

== regress =========================================================== 07/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress

lib

  ~ libssl/Makefile                       ~ libssl/unit/cipher_list.c

  > Convert ssl_bytes_to_cipher_list to CBS.
  > Link in the new 'unit' regress and expand the invalid tests to include
  > some that would fail before the CBS conversion.
  > input + ok miod@ jsing@ (doug@)

  ~ libssl/unit/cipher_list.c             

  > specify the array initializer value
  > noted by kinichiro from github (bcook@)

sys

  ~ kern/extent/Makefile                  

  > Make this pass again on 32-bit platforms. (miod@)

usr.bin

  ~ ssh/unittests/Makefile.inc            

  > don't expect SSH v.1 in unittests (djm@)

  ~ ssh/cert-hostkey.sh                   ~ ssh/cert-userkey.sh
  ~ ssh/unittests/sshkey/test_sshkey.c    

  > legacy v00 certificates are gone; adapt and don't try to test them;
  > "sure" markus@ dtucker@ (djm@)

usr.sbin

  ~ syslogd/funcs.pl                      ~ syslogd/syslogd.pl
  + syslogd/args-block-prog-quick.pl      + syslogd/args-block-prog.pl

  > Add tests for the !prog and !!prog and !* keywords in syslog.conf. (bluhm@)

  ~ syslogd/args-client-udp.pl            ~ syslogd/args-client-udp4.pl
  ~ syslogd/args-client-udp6.pl           ~ syslogd/args-only4.pl
  ~ syslogd/args-only6.pl                 

  > Use fstat to check that the privsep parent of syslogd closes all
  > internet sockets also when invoked with -u. (bluhm@)

  + syslogd/args-selector.pl              

  > Test that selectors, which specify facility and severity level for
  > each logfile, work as documented in syslog.conf(5). (bluhm@)

  + syslogd/args-block-duplicate.pl       + syslogd/args-block-host-quick.pl
  + syslogd/args-block-host.pl            
  + syslogd/args-block-prog-host-quick.pl
  + syslogd/args-block-prog-host.pl       

  > Add test for blocks in syslog.conf constructed with the +host and
  > ++host and +* keyword. (bluhm@)

  + syslogd/args-client-bind-only4.pl     + syslogd/args-client-bind-only6.pl
  + syslogd/args-client-bind-port.pl      + syslogd/args-client-bind.pl
  + syslogd/args-client-bind4-port.pl     + syslogd/args-client-bind4.pl
  + syslogd/args-client-bind6-port.pl     + syslogd/args-client-bind6.pl

  > Add tests for syslog -U. (bluhm@)

  ~ syslogd/args-dropped-sighup-tls.pl    

  > Check the receive line count less strict to avoid false negatives. (bluhm@)

== sbin ============================================================== 08/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin

iked

  ~ parse.y                               

  > Terminate 'config' keyword array with a NULL element.
  > Reported by trondd at kagu-tsuchi ! com, thanks! (mikeb@)

== share ============================================================= 09/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share

man

  ~ man9/Makefile                         + man9/srp_enter.9

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

  ~ man9/Makefile                         

  > shuffle the list of files so tsleep.9 isnt in the middle of all the
  > mangpages starting with s. (dlg@)

  ~ man9/srp_enter.9                      

  > mikeb@ suggested making it clear that srp_enter and srp_leave pairs
  > have to be called in the same context. (dlg@)

  ~ man8/man8.octeon/MAKEDEV.8            

  > sync (deraadt@)

  ~ man4/rdomain.4                        

  > various improvements from remi locherer;
  > i've tweaked it a bit, based on feedback from claudio and phessler
  > ok phessler (jmc@)

  ~ man5/bsd.port.mk.5                    

  > document PKGPATHS, used together with PKGNAMES.
  > fix PKGNAMES description (only relates to actual BUILD_PACKAGES) (espie@)

  ~ man9/VOP_LOOKUP.9                     

  > Document the new 'fflag' argument to VOP_POLL().
  > From Martin Natano (millert@)

  ~ man9/km_alloc.9                       

  > Include missing 'const' references in man page and fix some parameter names
  > that didn't match the code. (mlarkin@)

mk

  ~ bsd.own.mk                            

  > Enable static pie on sparc; be sure to upgrade your compiler before your
  > next build (or wait for the snapshot to reach the mirrors) (miod@)

== sys =============================================================== 10/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys

arch/alpha/alpha

  ~ machdep.c                             

  > Correctly restore ipl in fpusave_proc() when we have to busy loop. (miod@)

arch/alpha/include

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

arch/amd64/amd64

  ~ db_trace.c                            ~ locore.S
  ~ spl.S                                 ~ trap.c
  ~ vector.S                              

  > Split AST handling from trap() into ast() and get rid of T_ASTFLT.
  > Don't skip the AST check when returning from *fork() in the child.
  > Make sure to count interrupts even when they're deferred or stray.
  > testing by krw@, and then many via snapshots (guenther@)

  ~ locore.S                              ~ machdep.c
  ~ process_machdep.c                     ~ vm_machdep.c

  > Force the return to userspace from execve to go through iretq to get all
  > registers.  This lets us kill the special handling of pid 1 in fork and
  > merge {proc,child}_trampoline(). Do the same if ptrace(PT_SETREGS) is used
  > to modify registers.
  > ok mlarkin@ kettenis@ (guenther@)

  ~ vector.S                              

  > Fix trap setup for double faults; error pointed out by Wei Liu a few months
  > ago and I forgot to commit this until now.
  > From Wei Liu <wei.liu2 at citrix.com>
  > ok mikeb@, guenther@, ratchov@ (mlarkin@)

  ~ pmap.c                                

  > Clean up a needless check in an if statement.
  > ok kettenis@ (mlarkin@)

arch/amd64/include

  ~ trap.h                                

  > Split AST handling from trap() into ast() and get rid of T_ASTFLT.
  > Don't skip the AST check when returning from *fork() in the child.
  > Make sure to count interrupts even when they're deferred or stray.
  > testing by krw@, and then many via snapshots (guenther@)

  ~ segments.h                            

  > LDT is gone and not coming back (guenther@)

  ~ cpu.h                                 

  > Force the return to userspace from execve to go through iretq to get all
  > registers.  This lets us kill the special handling of pid 1 in fork and
  > merge {proc,child}_trampoline(). Do the same if ptrace(PT_SETREGS) is used
  > to modify registers.
  > ok mlarkin@ kettenis@ (guenther@)

  ~ pmap.h                                

  > Remove some unused #defines
  > ok guenther@, millert@ (mlarkin@)

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

arch/arm/include

  ~ atomic.h                              

  > Implement membar_* for armv7 with the dmb instruction.  The previous
  > sys/sys/atomic.h default of __sync_synchronize() resulted in "dmb sy",
  > a full system barrier for all memory operations.  With this change
  > membar_producer() switches to "dmb st" (StoreStore).
  > earlier version ok rapha@ (jsg@)

arch/armv7/conf

  ~ GENERIC                               ~ RAMDISK

  > enable vexpress (jsg@)

arch/hppa/include

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

arch/i386/i386

  ~ apicvec.s                             ~ db_trace.c
  ~ kgdb_machdep.c                        ~ locore.s
  ~ trap.c                                ~ vector.s

  > Split AST handling from trap() into ast() and get rid of T_ASTFLT
  > testing by krw@, and then many via snapshots (guenther@)

  ~ pmap.c                                ~ pmapae.c

  > Make the i386 pmap (almost) mpsafe by protecting the pmap itself, the pv
  > lists and the apte with a mutex.  Rearrange some code to avoid
  > sleeping/spinning with one of these locks held.  This should make
  > pmap_enter(9), pmap_remove(9) and pmap_page_protect(9) safe to use without
  > holding the kernel lock.  Unfortunately there still seems to be an issue
  > that causes deadlocks under pressure.  That shouldn't be an issue as
  > long as uvm still calls the pmap functions with the kernel lock held.
  > Hopefully committed this will help finding the last bugs.
  > ok mlarkin@, deraadt@ (kettenis@)

arch/i386/include

  ~ trap.h                                

  > Split AST handling from trap() into ast() and get rid of T_ASTFLT
  > testing by krw@, and then many via snapshots (guenther@)

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

  ~ pmap.h                                

  > Make the i386 pmap (almost) mpsafe by protecting the pmap itself, the pv
  > lists and the apte with a mutex.  Rearrange some code to avoid
  > sleeping/spinning with one of these locks held.  This should make
  > pmap_enter(9), pmap_remove(9) and pmap_page_protect(9) safe to use without
  > holding the kernel lock.  Unfortunately there still seems to be an issue
  > that causes deadlocks under pressure.  That shouldn't be an issue as
  > long as uvm still calls the pmap functions with the kernel lock held.
  > Hopefully committed this will help finding the last bugs.
  > ok mlarkin@, deraadt@ (kettenis@)

  ~ mutex.h                               

  > tweak MUTEX_ASSERT_LOCKED and MUTEX_ASSERT_UNLOCKED to only look
  > at the owner. every other arch does it the same, so this is to
  > reduce differences between our platforms.
  > ok miod@ (dlg@)

arch/i386/isa

  ~ icu.s                                 

  > Split AST handling from trap() into ast() and get rid of T_ASTFLT
  > testing by krw@, and then many via snapshots (guenther@)

arch/m88k/include

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

  ~ mutex.h                               

  > copy MUTEX_ASSERT_LOCKED and MUTEX_ASSERT_UNLOCKED from alpha.
  > the previous asserts checked if the mutex was locked by any cpu or
  > not when they should have been checking if the current cpu has the
  > lock or not.
  > found by miod after i enabled pool_gc again.
  > ok miod@ (dlg@)

  ~ atomic.h                              

  > Fix cast in atomic_swap_ptr() (miod@)

  ~ mutex.h                               

  > Rename mtx_cpu to mtx_owner for consistency with the other platforms.
  > (miod@)

arch/m88k/m88k

  ~ genassym.cf                           ~ mutex.S

  > Rename mtx_cpu to mtx_owner for consistency with the other platforms.
  > (miod@)

arch/mips64/include

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

arch/octeon/conf

  ~ GENERIC                               ~ RAMDISK

  > enable octdwctwo and add umass (jmatthew@)

arch/octeon/dev

  ~ octdwctwo.c                           

  > Put the newline at the right place. (miod@)

arch/octeon/octeon

  ~ autoconf.c                            

  > Add "sd" to be specifiedit as "rootdev=" boot parameter.
  > ok jmatthew (yasuoka@)

arch/powerpc/include

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

arch/sparc64/include

  ~ cpu.h                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

arch/vax/if

  ~ if_qe.c                               

  > count outgoing packets like every other driver.
  > ok miod@ (dlg@)

  ~ if_de.c                               

  > Fix misleading indent (miod@)

arch/vax/mscp

  ~ mscp_subr.c                           ~ mscpvar.h

  > replace the manual buf list management with a fifo bufq. it simplifies
  > the code in some cases and makes it generally more readable.
  > this has been tested in simh, real hardware may or may not work anyway.
  > ok miod@ (dlg@)

  ~ mscp_subr.c                           

  > get rid of some if 0 code that refers to b_actf.
  > ok miod@ (dlg@)

arch/vax/vax

  ~ autoconf.c                            

  > replace the manual buf list management with a fifo bufq. it simplifies
  > the code in some cases and makes it generally more readable.
  > this has been tested in simh, real hardware may or may not work anyway.
  > ok miod@ (dlg@)

conf

  ~ files                                 

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

dev

  ~ softraid_crypto.c                     

  > fix a format specifier used in SR_DEBUG printfs.
  > from Karel Gardas (gardask at gmail.com) (mlarkin@)

dev/pci

  ~ drm/i915/intel_display.c              

  > Read the lower 16-bits of the GCFGC "double word".  Potentially fixes
  > issues
  > with some modes on machines with the 915GM chipset.
  > discussed with jsg@ (kettenis@)

  ~ if_oce.c                              

  > Hide ETHER_ALIGN mbuf adjustment under "#ifdef __STRICT_ALIGNMENT"
  > for now to get jumbo frames working.  oce(4) will need the same
  > treatment as ix(4) when sparc64 support will be implemented.
  > Tested by Pedro Caetano <pedrocaetano at binaryflows ! com>, thanks!
  > (mikeb@)

dev/pcmcia

  ~ if_xe.c                               

  > dont double count if_ibytes here, it gets done by something inside
  > if_input.
  > from and ok mpi@ (dlg@)

dev/usb

  ~ dwc2/dwc2.c                           ~ dwc2/dwc2.h
  ~ dwc2/dwc2_core.c                      ~ dwc2/dwc2_core.h
  ~ dwc2/dwc2_coreintr.c                  ~ dwc2/dwc2_hcd.c
  ~ dwc2/dwc2_hcd.h                       ~ dwc2/dwc2_hcdddma.c
  ~ dwc2/dwc2_hcdintr.c                   ~ dwc2/dwc2_hcdqueue.c

  > Convert list_head lists into TAILQs and LISTs and fix up header includes
  > so we can build dwc2 without extra stuff.
  > tested by several edgerouter lite owners, ok jasper@ (jmatthew@)

  ~ usb.h                                 

  > Add missing definition of "usb_interface_assoc_descriptor" needed to for
  > a tool parsing device descriptors.
  > Use the same name as DragonFly/FreeBSD since they export it to userland.
  > From Ludovic Coues. (mpi@)

  ~ uhub.c                                

  > Move the logic to handle a "connect status change" from uhub_explore()
  > into its own functions.
  > Needed for upcoming "port link state" change handling.
  > Tested by sobrado@ (mpi@)

  ~ xhci.c                                

  > Clear root hub's "port link state".
  > Allow to re-plug USB3 devices on the root hub withtout going through a
  > suspend/resume cycle (or rebooting) with Intel ICH7 xHCI as found the
  > hardway by sobrado@.
  > Debugging help from M.A.R. Osorio, tested by sobrado@ (mpi@)

  ~ if_upl.c                              

  > Rename if_output() into if_enqueue() to avoid confusion with comments
  > talking about (*ifp->if_output)().
  > ok claudio@, dlg@ (mpi@)

  ~ usbdevs                               

  > add id for TEMPerHUM sensor
  > ok mpi@ (jung@)

  ~ usbdevs.h                             ~ usbdevs_data.h

  > regen (jung@)

kern

  ~ uipc_mbuf2.c                          ~ uipc_socket.c
  ~ uipc_socket2.c                        ~ uipc_usrreq.c

  > Get rid of the undocumented & temporary* m_copy() macro added for
  > compatibility with 4.3BSD in September 1989.
  > *Pick your own definition for "temporary".
  > ok bluhm@, claudio@, dlg@ (mpi@)

  ~ init_main.c                           + kern_srp.c

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

net

  ~ if.c                                  ~ if_ethersubr.c
  ~ if_trunk.c                            ~ if_vlan.c

  > count if_ibytes in if_input like we do for if_ipackets.
  > tweaks and ok mpi@ (dlg@)

  ~ route.c                               

  > Never cache a RTF_GATEWAY route as next hop for a gateway route.
  > This prevents rtentry loops when rt->rt_gwroute points to rt leading
  > to an infamous "rtentry leak" panic, easily triggered by dhclient(8)
  > trying to remove a route after resuming a machine.
  > This bug is at least 20 years old!  4.4BSD-Lite2 had a fix for it in
  > its X.25 output routine but apparently it never made it into OpenBSD.
  > ok claudio@ (mpi@)

  ~ if_bridge.c                           

  > Move the specialized m_copym2() preserving the alignment of the payload
  > after the Ethernet header in its own function and use it in bridge_input().
  > This should fix alignment issues kettenis@ is seeing.
  > ok bluhm@, claudio@ (mpi@)

  ~ bridgestp.c                           ~ if.c
  ~ if_bridge.c                           ~ if_ethersubr.c
  ~ if_gif.c                              ~ if_mpe.c
  ~ if_pppx.c                             ~ if_spppsubr.c
  ~ if_trunk.c                            ~ if_tun.c
  ~ if_var.h                              ~ if_vlan.c
  ~ trunklacp.c                           

  > Rename if_output() into if_enqueue() to avoid confusion with comments
  > talking about (*ifp->if_output)().
  > ok claudio@, dlg@ (mpi@)

  ~ if_ethersubr.c                        ~ pf.c
  ~ raw_usrreq.c                          ~ rtsock.c

  > Get rid of the undocumented & temporary* m_copy() macro added for
  > compatibility with 4.3BSD in September 1989.
  > *Pick your own definition for "temporary".
  > ok bluhm@, claudio@, dlg@ (mpi@)

  ~ if.c                                  ~ if_bridge.c
  ~ if_bridge.h                           ~ if_ethersubr.c
  ~ if_trunk.c                            ~ if_var.h
  ~ if_vlan.c                             

  > By design if_input_process() needs to hold a reference on the receiving
  > ifp in order to access its ifih handlers.
  > So get rid of if_get() in the various ifih handlers we know the ifp is
  > live at this point.
  > ok dlg@ (mpi@)

  ~ if_bridge.c                           ~ if_trunk.c

  > Unify the check for up & running between all pseudo-drivers. (mpi@)

  ~ if.c                                  ~ if_ethersubr.c

  > Move back rdomain's check into ether_output() otherwise it triggers
  > if a pseudo-interface is on a different rdomain than its parent.
  > Sorry for the inconvenience, I hope you'll fly again with us.
  > Regression reported by and ok semarie@, ok phessler@ (mpi@)

  ~ if_ethersubr.c                        

  > most of the destinations for mbufs in ether_input are mpsafe except for
  > pipex and bridge. this puts KERNEL_LOCK/KERNEL_UNLOCK around the pipex
  > chunk till we can give it some mp love.
  > ok yasuoka@ mpi@ (dlg@)

net80211

  ~ ieee80211_input.c                     ~ ieee80211_output.c

  > Rename if_output() into if_enqueue() to avoid confusion with comments
  > talking about (*ifp->if_output)().
  > ok claudio@, dlg@ (mpi@)

netinet

  ~ ip_carp.c                             

  > count if_ibytes in if_input like we do for if_ipackets.
  > tweaks and ok mpi@ (dlg@)

  ~ ip_carp.c                             

  > Rename if_output() into if_enqueue() to avoid confusion with comments
  > talking about (*ifp->if_output)().
  > ok claudio@, dlg@ (mpi@)

  ~ ip_mroute.c                           ~ ip_output.c
  ~ raw_ip.c                              ~ tcp_output.c
  ~ udp_usrreq.c                          

  > Get rid of the undocumented & temporary* m_copy() macro added for
  > compatibility with 4.3BSD in September 1989.
  > *Pick your own definition for "temporary".
  > ok bluhm@, claudio@, dlg@ (mpi@)

  ~ ip_carp.c                             ~ ip_ether.c

  > By design if_input_process() needs to hold a reference on the receiving
  > ifp in order to access its ifih handlers.
  > So get rid of if_get() in the various ifih handlers we know the ifp is
  > live at this point.
  > ok dlg@ (mpi@)

netinet6

  ~ icmp6.c                               ~ ip6_forward.c
  ~ ip6_mroute.c                          ~ ip6_output.c
  ~ raw_ip6.c                             

  > Get rid of the undocumented & temporary* m_copy() macro added for
  > compatibility with 4.3BSD in September 1989.
  > *Pick your own definition for "temporary".
  > ok bluhm@, claudio@, dlg@ (mpi@)

sys

  ~ mbuf.h                                

  > Get rid of the undocumented & temporary* m_copy() macro added for
  > compatibility with 4.3BSD in September 1989.
  > *Pick your own definition for "temporary".
  > ok bluhm@, claudio@, dlg@ (mpi@)

  ~ param.h                               + srp.h

  > introduce srp, which according to the manpage i wrote is short for
  > "shared reference pointers".
  > srp allows concurrent access to a data structure by multiple cpus
  > while avoiding interlocking cpu opcodes. it manages its own reference
  > counts and the garbage collection of those data structure to avoid
  > use after frees.
  > internally srp is a twisted version of hazard pointers, which are
  > a relative of RCU.
  > jmatthew wrote the bulk of a hazard pointer implementation and
  > changed bpf to use it to allow mpsafe access to bpfilters. however,
  > at s2k15 we were trying to apply it to other data structures but
  > the memory overhead of every hazard pointer would have blown out
  > significantly in several uses cases. a bulk of our time at s2k15
  > was spent reworking hazard pointers into srp.
  > this diff adds the srp api and adds the necessary metadata to struct
  > cpuinfo on our MP architectures. srp on uniprocessor platforms has
  > alternate code that is optimised because it knows there'll be no
  > concurrent access to data by multiple cpus.
  > srp is made available to the system via param.h, so it should be
  > available everywhere in the kernel.
  > the docs likely need improvement cos im too close to the implementation.
  > ok mpi@ (dlg@)

== usr.bin =========================================================== 11/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin

usr.bin

  ~ Makefile                              

  > Sudo has moved to ports. (millert@)

calendar

  ~ calendars/calendar.computer           

  > vax-11/780 announced 1977, not 1978;
  > from john marshall, freebsd pr #200961
  > ok miod (jmc@)

lorder

  ~ lorder.sh                             

  > Switch to standard, non-historical sort(1) and join(1) usage.  ok millert@
  > (jca@)

openssl

  ~ speed.c                               

  > Repair algorithm name array after 1.6. (miod@)

ssh

  ~ sandbox-systrace.c                    

  > add getpid to sandbox, reachable by grace_alarm_handler
  > reported by Jakub Jelen; bz#2419 (djm@)

  ~ channels.c                            

  > Fix math error in remote window calculations that causes eventual stalls
  > for datagram channels. Reported by Georg Wicherski, ok markus@ (djm@)

  ~ channels.c                            

  > fatal() when a remote window update causes the window value to
  > overflow. Reported by Georg Wicherski, ok markus@ (djm@)

  ~ servconf.c                            

  > reset default PermitRootLogin to 'yes' (momentarily, for release) (djm@)

  ~ version.h                             

  > openssh-6.9 (djm@)

  ~ servconf.c                            

  > put back default PermitRootLogin=no (djm@)

  ~ channels.c                            ~ channels.h
  ~ clientloop.c                          

  > better refuse ForwardX11Trusted=no connections attempted after
  > ForwardX11Timeout expires; reported by Jann Horn (djm@)

  ~ servconf.c                            

  > twiddle; (this commit marks the openssh-6.9 release) (djm@)

  ~ servconf.c                            

  > twiddle PermitRootLogin back (djm@)

  ~ Makefile.inc                          

  > Compile-time disable SSH v.1 again (djm@)

  ~ auth-options.c                        ~ authfd.c
  ~ authfile.c                            ~ key.c
  ~ key.h                                 ~ krl.c
  ~ myproposal.h                          ~ ssh-add.c
  ~ ssh-keygen.c                          ~ sshd.c
  ~ sshkey.c                              ~ sshkey.h

  > delete support for legacy v00 certificates; "sure" markus@ dtucker@ (djm@)

  ~ myproposal.h                          ~ ssh_config.5
  ~ sshd.c                                

  > turn off 1024 bit diffie-hellman-group1-sha1 key exchange method
  > (already off in server, this turns it off in the client by default too)
  > ok dtucker@ (djm@)

  ~ ssh-keygen.1                          ~ ssh-keygen.c
  ~ ssh.h                                 ~ sshd.8
  ~ sshd.c                                ~ sshd_config.5

  > refuse to generate or accept RSA keys smaller than 1024 bits;
  > feedback and ok dtucker@ (djm@)

  ~ ssh-keysign.c                         

  > add an XXX reminder for getting correct key paths from sshd_config (djm@)

  ~ sshkey.h                              

  > another SSH_RSA_MINIMUM_MODULUS_SIZE that needed cranking (djm@)

sudo

  - ChangeLog                             - HISTORY
  - INSTALL                               - INSTALL.configure
  - LICENSE                               - Makefile
  - Makefile.in                           - Makefile.inc
  - PORTING                               - README
  - README.LDAP                           - TROUBLESHOOTING
  - UPGRADE                               - WHATSNEW
  - aclocal.m4                            - acsite.m4
  - alias.c                               - alloc.c
  - audit.c                               - check.c
  - compat.h                              - config.guess
  - config.h                              - config.h.in
  - config.sub                            - configure
  - configure.in                          - def_data.c
  - def_data.h                            - def_data.in
  - defaults.c                            - defaults.h
  - env.c                                 - error.c
  - error.h                               - fileops.c
  - find_path.c                           - getspwuid.c
  - gettime.c                             - goodpath.c
  - gram.y                                - indent.pro
  - ins_2001.h                            - ins_classic.h
  - ins_csops.h                           - ins_goons.h
  - install-sh                            - insults.h
  - interfaces.c                          - interfaces.h
  - lbuf.c                                - lbuf.h
  - ldap.c                                - list.c
  - list.h                                - logging.c
  - logging.h                             - ltmain.sh
  - match.c                               - mkdefaults
  - mkinstalldirs                         - nonunix.h
  - parse.c                               - parse.h
  - pathnames.h                           - pathnames.h.in
  - pwutil.c                              - redblack.c
  - redblack.h                            - sample.sudoers
  - schema.ActiveDirectory                - schema.OpenLDAP
  - schema.iPlanet                        - set_perms.c
  - sudo.c                                - sudo.h
  - sudo.mdoc.in                          - sudo_edit.c
  - sudo_noexec.c                         - sudo_nss.c
  - sudo_nss.h                            - sudo_usage.h
  - sudo_usage.h.in                       - sudoers
  - sudoers.ldap.mdoc.in                  - sudoers.mdoc.in
  - sudoers2ldif                          - term.c
  - testsudoers.c                         - tgetpass.c
  - toke.l                                - tsgetgrpw.c
  - varsub                                - vasgroups.c
  - visudo.c                              - visudo.mdoc.in
  - zero_bytes.c                          - auth/API
  - auth/afs.c                            - auth/aix_auth.c
  - auth/bsdauth.c                        - auth/dce.c
  - auth/fwtk.c                           - auth/kerb4.c
  - auth/kerb5.c                          - auth/pam.c
  - auth/passwd.c                         - auth/rfc1938.c
  - auth/secureware.c                     - auth/securid.c
  - auth/securid5.c                       - auth/sia.c
  - auth/sudo_auth.c                      - auth/sudo_auth.h
  - lib/Makefile                          - noexec/Makefile
  - noexec/shlib_version                  - sudo/Makefile
  - visudo/Makefile                       

  > Remove sudo, it is now in ports. (millert@)

units

  ~ units.lib                             

  > update currency exchange rates; (jmc@)

== usr.sbin ========================================================== 12/12 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin

httpd

  ~ patterns.7                            

  > Add a small paragraph about some difference with Lua implementation.
  > Suggestion from Theo Buehler.
  > OK jmc@ reyk@ (semarie@)

  ~ patterns.7                            

  > new sentence, new line;
  > my apologies to semarie for not pointing this out when he asked for an
  > ok... (jmc@)

pkg_add

  ~ OpenBSD/PkgAdd.pm                     

  > cosmetic comma is not really necessary, better to have a raw list of
  > packages. Pointed out by theo. (espie@)

syslogd

  ~ syslog.conf.5                         ~ syslogd.c

  > Add the possiblity to store all syslog messages received from a
  > specific host into a single log file.  For programs this is already
  > implemented for !prog blocks.  So do the same with +host for
  > hostnames.
  > Based on a diff from Gregory Edigarov;  OK jung@ sthen@ (bluhm@)

  ~ privsep.c                             ~ syslogd.8
  ~ syslogd.c                             ~ syslogd.h

  > Add a -U command line switch for syslogd to specify an explict bind
  > address to receive UDP packets.  One advantge over -u and the *
  > sockets is that you can bind to localhost and divert the packets
  > with pf.  It is also possible to use a non standard port.
  > OK jung@ jmc@ (bluhm@)

  ~ syslogd.c                             

  > Sort the syslogd getopt string and switch cases according to the
  > man page.  This makes it easier to check wether both are consistent.
  > OK jung@ (bluhm@)

  ~ syslogd.c                             

  > To avoid copying the socket creation code for upcoming TCP listen
  > again, move it to the common function socket_bind().
  > OK millert@ (bluhm@)

  ~ syslogd.c                             

  > Let syslogd run with non-blocking sockets.  Replace the existing
  > fcntl(O_NONBLOCK) with the simpler SOCK_NONBLOCK and add this flag
  > to the UDP sockets.  React to EWOULDBLOCK although it should not
  > happen.
  > OK benno@ (bluhm@)

===============================================================================
_______________________________________________
owc mailing list
[email protected]
http://www.squish.net/mailman/listinfo/owc

Reply via email to