OpenBSD src changes summary for 2016-05-15 to 2016-05-22 inclusive
==================================================================

distrib/armv7                           distrib/miniroot
distrib/sets                            etc/MAKEDEV.common
etc/etc.alpha/MAKEDEV                   etc/etc.amd64/MAKEDEV
etc/etc.armish/MAKEDEV                  etc/etc.armv7/MAKEDEV
etc/etc.armv7/MAKEDEV.md                etc/etc.armv7/disktab
etc/etc.hppa/MAKEDEV                    etc/etc.i386/MAKEDEV
etc/etc.landisk/MAKEDEV                 etc/etc.loongson/MAKEDEV
etc/etc.macppc/MAKEDEV                  etc/etc.octeon/MAKEDEV
etc/etc.sgi/MAKEDEV                     etc/etc.socppc/MAKEDEV
etc/etc.sparc64/MAKEDEV                 etc/etc.zaurus/MAKEDEV
etc/rc                                  lib/libc
lib/libedit                             lib/libexpat
lib/libfuse                             lib/libkvm
lib/librthread                          lib/libssl
lib/libutil                             libexec/ld.so
libexec/spamd                           regress/lib
regress/sys                             sbin/mount
sbin/mount_msdos                        sbin/sysctl
share/man                               share/mk
sys/arch/alpha/alpha                    sys/arch/alpha/include
sys/arch/amd64/amd64                    sys/arch/amd64/stand/efiboot
sys/arch/arm/arm                        sys/arch/arm/include
sys/arch/arm/mainbus                    sys/arch/arm/simplebus
sys/arch/armv7/armv7                    sys/arch/armv7/conf
sys/arch/armv7/exynos                   sys/arch/armv7/imx
sys/arch/armv7/include                  sys/arch/armv7/omap
sys/arch/armv7/stand/efiboot            sys/arch/armv7/sunxi
sys/arch/armv7/vexpress                 sys/arch/hppa/hppa
sys/arch/i386/i386                      sys/arch/i386/include
sys/arch/m88k/m88k                      sys/arch/macppc/conf
sys/arch/macppc/dev                     sys/arch/macppc/macppc
sys/arch/mips64/mips64                  sys/arch/octeon/dev
sys/arch/octeon/octeon                  sys/arch/sh/include
sys/arch/sh/sh                          sys/arch/socppc/socppc
sys/arch/sparc/sparc                    sys/arch/sparc64/dev
sys/arch/sparc64/sparc64                sys/ddb
sys/dev                                 sys/dev/hid
sys/dev/i2c                             sys/dev/ic
sys/dev/ofw                             sys/dev/pci
sys/dev/pckbc                           sys/dev/sdmmc
sys/dev/usb                             sys/isofs/cd9660
sys/isofs/udf                           sys/kern
sys/msdosfs                             sys/net
sys/net80211                            sys/netinet
sys/netinet6                            sys/ntfs
sys/sys                                 sys/ufs/ext2fs
sys/ufs/ffs                             sys/uvm
usr.bin/kdump                           usr.bin/sendbug
usr.bin/skeyinit                        usr.bin/ssh
usr.sbin/crunchgen                      usr.sbin/eeprom
usr.sbin/httpd                          usr.sbin/ntpd
usr.sbin/pkg_add                        usr.sbin/pppd
usr.sbin/smtpd                          

== distrib =========================================================== 01/10 ==

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

armv7

  ~ miniroot/Makefile.inc                 ~ ramdisk/Makefile
  ~ ramdisk/install.md                    

  > Copy dtb files to miniroots and install disk.  Increase the ramdisk size
  > and force long filenames on the first mount of fat 16 filesystems so
  > this works.
  > U-boot scripts have not yet been changed to load these files.
  > ok kettenis@ (jsg@)

  ~ miniroot/Makefile.inc                 + miniroot/boot.cmd

  > use a simple u-boot script for all the miniroots that loads with fdt
  > ok patrick@ kettenis@ (jsg@)

  ~ miniroot/am335x/Makefile              ~ miniroot/beagle/Makefile
  ~ miniroot/cubie/Makefile               ~ miniroot/cubox/Makefile
  ~ miniroot/nitrogen/Makefile            ~ miniroot/panda/Makefile
  ~ miniroot/wandboard/Makefile           

  > Remove LOADADDR definitions, the default ${loadaddr} set by u-boot is
  > now used. (jsg@)

  ~ ramdisk/install.md                    

  > use a common simple u-boot script that loads with fdt (jsg@)

  ~ ramdisk/install.md                    

  > force long filenames on the initial fat16 mount here as well
  > dtb filenames are longer than 8.3 (jsg@)

miniroot

  ~ install.sub                           

  > Move code to create unique filenames and to prepare a file
  > to be sent to root on reboot into separate functions.
  > positive feedback deraadt
  > OK krw, sthen, halex (rpe@)

  ~ install.sub                           

  > Log questions and answers during install/upgrade in a format that can be
  > used as a response file for autoinstall(8). The result is emailed to the
  > root user on next boot. Passwords are not logged.
  > positive feedback deraadt, jung
  > OK krw, halex, sthen (rpe@)

  ~ install.sub                           

  > Rename variable $action (which is actually global) to AI_MODE.
  > While there, (re)set AI_MODE and AI_SERVER at the start of the
  > installer script.
  > OK krw@ (rpe@)

sets

  ~ lists/base/md.zaurus                  ~ lists/comp/md.zaurus

  > sync (deraadt@)

  ~ lists/man/mi                          

  > sync (deraadt@)

== etc =============================================================== 02/10 ==

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

MAKEDEV.common

  ~ MAKEDEV.common                        

  > Default /dev/video node to root.wheel 600 because this should not be
  > available wide open.  there should be some access model either via a
  > group or fbtab.  This will cause a decision to be made.
  > ok millert (deraadt@)

etc.alpha/MAKEDEV

  ~ etc.alpha/MAKEDEV                     

  > sync (deraadt@)

  ~ etc.alpha/MAKEDEV                     

  > sync (deraadt@)

etc.amd64/MAKEDEV

  ~ etc.amd64/MAKEDEV                     

  > sync (deraadt@)

  ~ etc.amd64/MAKEDEV                     

  > sync (deraadt@)

etc.armish/MAKEDEV

  ~ etc.armish/MAKEDEV                    

  > sync (deraadt@)

  ~ etc.armish/MAKEDEV                    

  > sync (deraadt@)

etc.armv7/MAKEDEV

  ~ etc.armv7/MAKEDEV                     

  > sync (deraadt@)

  ~ etc.armv7/MAKEDEV                     

  > sync (deraadt@)

  ~ etc.armv7/MAKEDEV                     

  > regen (kettenis@)

etc.armv7/MAKEDEV.md

  ~ etc.armv7/MAKEDEV.md                  

  > Add /dev/openprom. (kettenis@)

etc.armv7/disktab

  ~ etc.armv7/disktab                     

  > Copy dtb files to miniroots and install disk.  Increase the ramdisk size
  > and force long filenames on the first mount of fat 16 filesystems so
  > this works.
  > U-boot scripts have not yet been changed to load these files.
  > ok kettenis@ (jsg@)

etc.hppa/MAKEDEV

  ~ etc.hppa/MAKEDEV                      

  > sync (deraadt@)

  ~ etc.hppa/MAKEDEV                      

  > sync (deraadt@)

etc.i386/MAKEDEV

  ~ etc.i386/MAKEDEV                      

  > sync (deraadt@)

  ~ etc.i386/MAKEDEV                      

  > sync (deraadt@)

etc.landisk/MAKEDEV

  ~ etc.landisk/MAKEDEV                   

  > sync (deraadt@)

  ~ etc.landisk/MAKEDEV                   

  > sync (deraadt@)

etc.loongson/MAKEDEV

  ~ etc.loongson/MAKEDEV                  

  > sync (deraadt@)

  ~ etc.loongson/MAKEDEV                  

  > sync (deraadt@)

etc.macppc/MAKEDEV

  ~ etc.macppc/MAKEDEV                    

  > sync (deraadt@)

  ~ etc.macppc/MAKEDEV                    

  > sync (deraadt@)

etc.octeon/MAKEDEV

  ~ etc.octeon/MAKEDEV                    

  > sync (deraadt@)

  ~ etc.octeon/MAKEDEV                    

  > sync (deraadt@)

etc.sgi/MAKEDEV

  ~ etc.sgi/MAKEDEV                       

  > sync (deraadt@)

  ~ etc.sgi/MAKEDEV                       

  > sync (deraadt@)

etc.socppc/MAKEDEV

  ~ etc.socppc/MAKEDEV                    

  > sync (deraadt@)

  ~ etc.socppc/MAKEDEV                    

  > sync (deraadt@)

etc.sparc64/MAKEDEV

  ~ etc.sparc64/MAKEDEV                   

  > sync (deraadt@)

  ~ etc.sparc64/MAKEDEV                   

  > sync (deraadt@)

etc.zaurus/MAKEDEV

  ~ etc.zaurus/MAKEDEV                    

  > sync (deraadt@)

  ~ etc.zaurus/MAKEDEV                    

  > sync (deraadt@)

rc

  ~ rc                                    

  > Use the -F flag of install(1) to ensure the file's content is flushed to
  > disk.
  > OK deraadt (rpe@)

== lib =============================================================== 03/10 ==

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

libc

  ~ arch/powerpc/Makefile.inc             ~ arch/powerpc/SYS.h
  ~ arch/powerpc/sys/brk.S                ~ arch/powerpc/sys/sbrk.S
  ~ arch/powerpc/sys/sigprocmask.S        ~ arch/powerpc/sys/tfork_thread.S

  > TIB conversion is complete, so set errno in the syscall stub and eliminate
  > __cerror
  > ok ketternis@ (guenther@)

  ~ arch/powerpc/gen/setjmp.S             ~ arch/powerpc/gen/sigsetjmp.S

  > Add END() to match ENTRY() macros
  > ok kettenis@ (guenther@)

  - arch/alpha/sys/cerror.S               ~ arch/alpha/Makefile.inc
  ~ arch/alpha/SYS.h                      

  > Eliminate cerror: use PAL_rdunique to get the TCB address directly
  > ok deraadt@ kettenis@ (guenther@)

  ~ arch/alpha/SYS.h                      

  > ...and delete the GP setup.  Should have been in previous commit
  > (guenther@)

  ~ regex/engine.c                        

  > Fix a one-byte buffer underflow (read access only).
  > This change touches code that only runs when REG_BASIC is given and
  > the regular expression is anchored with ^ _and_ uses backreferences.
  > The segfault could only be triggered when the ^ anchor was inside
  > a leading () subexpression quantified with *.
  > OK martijn@
  > Patch also proofread by Pedro Giffuni <pfg at FreeBSD dot org>. (schwarze@)

  ~ 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@)

  ~ sys/Makefile.inc                      

  > Add ASM_NOERR for syscalls that never fail and thus don't need the errno
  > setting logic...which can significantly reduce the size of the stub on
  > some archs; 20 syscalls get a trim with this.
  > in snaps for a bit and ok deraadt@ (guenther@)

  ~ gen/sysctl.3                          

  > no more v6only; (jmc@)

  ~ Symbols.list                          

  > Delete the _SDA_BASE and _SDA2_BASE symbols: they're unnecessary in
  > shared libraries...and I misspelled them anyway (guenther@)

  - arch/powerpc/sys/cerror.S             

  > Oh right, actually delete this now that __cerror is unused (guenther@)

  ~ arch/powerpc/gen/setjmp.S             ~ arch/powerpc/gen/sigsetjmp.S

  > Add XOR cookies for r1 (stack) and lr.  Switch from calling obsolete
  > sig{block,setmask} to directly using the sigprocmask syscall.  Rewrite
  > sig{set,long}jmp based on {set,long}jmp to avoid the deprecated
  > store/load-multiple instructions.
  > in snaps; ok deraadt@ (guenther@)

libedit

  ~ el.c                                  ~ el.h
  ~ histedit.h                            ~ read.c
  ~ read.h                                

  > Move the declaration of the function pointer type el_rfunc_t
  > from the private header "read.h" to the public header <histedit.h>.
  > That's not an interface change, it was already used and documented
  > publicly, merely not properly declared.
  > Improve encapsulation: Make el_read a pointer to an opaque struct
  > in struct editline, such that "read.h" no longer needs to be included
  > from "el.h" but only from the two files using it, read.c and el.c.
  > Only pass the required el_read_t to el_read_{s,g}etfn(),
  > do not pass the full struct editline.
  > OK czarkoff@,
  > also proofread by Christian Heckendorf <mbie at ulmus dot me>. (schwarze@)

  ~ editline.3                            

  > Fix the prototype used by EL_GETCFN, mention the associated typedef name,
  > document the return values, expand the list of affected functions, warn
  > against using EL_GETCFN, and clarify some wording and notation. (schwarze@)

  ~ editline.3                            

  > Simple sync with NetBSD, mostly to avoid confusion of arguments and
  > return values. (schwarze@)

  ~ editline.3                            ~ editrc.5

  > Document el_wpush(3) and fix the description of el_push(3).
  > Improve precision in the description of the "bind" builtin command.
  > Tweak terminology to better match editline(7). (schwarze@)

  ~ chared.c                              ~ chared.h
  ~ common.c                              ~ el.c
  ~ read.c                                ~ read.h

  > Improve modularization at the chared/read boundary, no functional change.
  > Stop the read.c module from poking the el_chared.c_macro data
  > structure that used to belong to the chared.c module.  Given that
  > no other module, not even chared itself, is using that data, move it
  > into the read modules's own opaque data structure, struct el_read_t.
  > That gets rid of one struct, one #define, one struct member, and one
  > function argument in the chared.h interface.
  > OK czarkoff@ (schwarze@)

libexpat

  ~ lib/xmlparse.c                        

  TAGGED OPENBSD_5_9
  > backport from -current:
  > revision 1.14
  > date: 2016/05/13 05:29:17;  author: rpointel;  state: Exp;  lines: +6 -6;
  > commitid: 1LXLCy8ctha0206G;
  > re-add the check we have in revision 1.12.
  > ok jca@ (thanks).
  > revision 1.13
  > date: 2016/05/09 19:32:01;  author: rpointel;  state: Exp;  lines: +19 -11;
  > commitid: i2Dv4qjzJTkY7kSK;
  > update libexpat to 2.1.1.
  > ok deraadt@ (thanks to sebastian[@]pipping[.]org for information).
  > (jasper@)

  ~ lib/xmlparse.c                        

  TAGGED OPENBSD_5_8
  > backport from -current:
  > revision 1.14
  > date: 2016/05/13 05:29:17;  author: rpointel;  state: Exp;  lines: +6 -6;
  > commitid: 1LXLCy8ctha0206G;
  > re-add the check we have in revision 1.12.
  > ok jca@ (thanks).
  > revision 1.13
  > date: 2016/05/09 19:32:01;  author: rpointel;  state: Exp;  lines: +19 -11;
  > commitid: i2Dv4qjzJTkY7kSK;
  > update libexpat to 2.1.1.
  > ok deraadt@ (thanks to sebastian[@]pipping[.]org for information).
  > revision 1.12
  > date: 2015/08/26 19:36:23;  author: miod;  state: Exp;  lines: +5 -1;
  > commitid: ortBpOgLQ63sWGUG;
  > More overflow checks in XML_GetBuffer(), adapted from FreeBSD security
  > advisory FreeBSD-SA-15:20. Most of them were already fixed by niallo@'s
  > work,
  > which unfortunately got removed in r1.10 /-:
  > With help from doug@
  > revision 1.11
  > date: 2015/08/26 19:33:17;  author: miod;  state: Exp;  lines: +12 -2;
  > commitid: wldaISldyE7ZDar6;
  > Put back local changes (revisions 1.2 to 1.4), which unfortunately got lost
  > in
  > the last upgrade.
  > ok deraadt@ (jasper@)

libfuse

  ~ fuse_main.3                           

  > update links; from ray (jmc@)

libkvm

  ~ kvm_proc.c                            

  > Make amaps use less kernel memory
  > This is achieved by grouping amap slots into chunks that are allocated
  > on-demand by pool(9). Endless "fltamapcopy" loops because of kmem
  > shortage should be solved now. The kmem savings are also important to later
  > enable vmm(4) to use larged shared memory mappings for guest VM RAM.
  > This adapts libkvm also because the amap structure layout has changed.
  > Testing and fix of libkvm glitch in initial diff by tb@
  > Feedback and "time to get this in" kettenis@ (stefan@)

  ~ kvm_proc.c                            

  > Revert previous: breaks i386 and powerpc, probably all non-PMAP_DIRECT
  > archs (guenther@)

librthread

  ~ Symbols.map                           

  > Delete the _SDA_BASE and _SDA2_BASE symbols: they're unnecessary in
  > shared libraries...and I misspelled them anyway (guenther@)

libssl

  ~ src/crypto/asn1/a_d2i_fp.c            

  > Fix a short-read bug in the previous version of asn1_d2i_read_bio
  > The outer while() loop is missing, so we only read up to chunk_max bytes.
  > (bcook@)

libutil

  ~ login_fbtab.3                         

  > Remove obsolete caveat.  OK deraadt@ (millert@)

== libexec =========================================================== 04/10 ==

  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@)

  ~ malloc.c                              

  > ld.so can now be entered by multiple threads via _dl_{allocate,free}_tib(),
  > so do locking in ld.so's malloc subsystem, (re)using the existing
  > _dl_thread_kern_{stop,go}() callbacks.
  > problem diagnosed by jsing@ in the 'go' port; fix tested there and by
  > semarie@ in the 'rust' port (guenther@)

  ~ tib.c                                 

  > Give the caller a chance to handle the failure if unable to allocate
  > the TIB for a new thread
  > ok jca@ millert@ deraadt@ (guenther@)

  ~ sparc64/rtld_machine.c                

  > Temporarily make the PLT writable when we're initializing the magic slots
  > or doing non-lazy relocation processing.
  > ok guenther@ (kettenis@)

  ~ sparc/rtld_machine.c                  

  > mul/div/rem replacement should happen without PROT_EXEC
  > ok guenther (deraadt@)

  ~ i386/rtld_machine.c                   

  > Ignore the listed protection (which may contain X) when making page
  > writeable temporary.
  > As pointed out by kettenis, discussed with guenther (deraadt@)

spamd

  ~ spamd.c                               

  > tyop (jca@)

== regress =========================================================== 05/10 ==

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

lib

  ~ libedit/read/glue.c                   ~ libedit/read/test_getcmd.c

  > cope with simplified chared/read interface (schwarze@)

sys

  ~ net/pf_forward/ping6_mtu.py           ~ net/pf_forward/ping_mtu.py
  ~ net/pf_fragment/frag.py               ~ net/pf_fragment/frag6.py
  ~ net/pf_fragment/frag6_cutnew.py       ~ net/pf_fragment/frag6_cutold.py
  ~ net/pf_fragment/frag6_dropnew.py      ~ net/pf_fragment/frag6_dropold.py
  ~ net/pf_fragment/frag6_ext.py          ~ net/pf_fragment/frag_cutnew.py
  ~ net/pf_fragment/frag_cutold.py        ~ net/pf_fragment/frag_dropnew.py
  ~ net/pf_fragment/frag_dropold.py       ~ net/pf_fragment/ping6_cksum.py
  ~ net/pf_fragment/ping6_mtu_1300.py     ~ net/pf_fragment/ping_cksum.py
  ~ net/pf_fragment/ping_mtu_1300.py      ~ net/pf_fragment/udp6_cksum.py
  ~ net/pf_fragment/udp_cksum.py          ~ netinet6/frag6/frag6.py
  ~ netinet6/frag6/frag6_ext.py           ~ netinet6/frag6/frag6_opt.py
  ~ netinet6/frag6/frag6_overatomic.py    ~ netinet6/frag6/frag6_overdrop.py
  ~ netinet6/frag6/frag6_overhead.py      ~ netinet6/frag6/frag6_overhead0.py
  ~ netinet6/frag6/frag6_overtail.py      ~ netinet6/frag6/frag6_padding.py
  ~ netinet6/frag6/frag6_permute.py       ~ netinet6/frag6/frag6_refrag.py
  ~ netinet6/frag6/frag6_shortatomic.py   ~ netinet6/frag6/frag6_timeout.py
  ~ netinet6/frag6/frag6_udpatomic.py     ~ netinet6/frag6/frag6_udpheader.py
  ~ netinet6/frag6/frag6_udppayload.py    ~ netinet6/frag6/frag6_zerofirst.py
  ~ netinet6/frag6/frag6_zerosecond.py    ~ netinet6/rh0/rh0_empty.py
  ~ netinet6/rh0/rh0_final.py             ~ netinet6/rh0/rh0_frag2.py
  ~ netinet6/rh0/rh0_frag_empty.py        ~ netinet6/rh0/rh0_frag_final.py
  ~ netinet6/rh0/rh0_frag_route.py        ~ netinet6/rh0/rh0_none.py
  ~ netinet6/rh0/rh0_route.py             

  > Fix tests:  Restrict getpid() to lower 16 bit so that it can still
  > be used as packet id.  Now scapy calls nexthopmtu with this name
  > explicitly in icmp structure. (bluhm@)

== sbin ============================================================== 06/10 ==

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

mount

  ~ mount.c                               

  > Remove the -x flag from mount_msdos and always assume the execute bit
  > for readable directories, while making it subject to the mask option
  > (-m in mount_msdos), so it is still possible to mount with
  > non-executable directories, but with semantics that are easier to
  > comprehend.
  > This makes directory listings with default mount options work again.
  > ok deraadt@ (natano@)

mount_msdos

  ~ mount_msdos.8                         ~ mount_msdos.c

  > Remove the -x flag from mount_msdos and always assume the execute bit
  > for readable directories, while making it subject to the mask option
  > (-m in mount_msdos), so it is still possible to mount with
  > non-executable directories, but with semantics that are easier to
  > comprehend.
  > This makes directory listings with default mount options work again.
  > ok deraadt@ (natano@)

  ~ mount_msdos.8                         ~ mount_msdos.c

  > no more -x; (jmc@)

sysctl

  ~ sysctl.8                              

  > Remove sysctl net.inet6.ip6.v6only
  > This sysctl is a no-op, read-only since it was introduced.  There are no
  > plans to support IPv4-mapped addresses on OpenBSD, thus this sysctl is
  > meaningless.
  > Noticed by djm@, ok claudio@ mpi@ sthen@ henning@ (jca@)

== share ============================================================= 07/10 ==

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

man

  ~ man4/iic.4                            + man4/pcfrtc.4

  > pcfrtc(4) (kettenis@)

  ~ man4/fuse.4                           

  > i seemingly commented out an Xr in SEE ALSO in -r1.9 - correct
  > that now.
  > from ray (jmc@)

  ~ man9/fb_setup.9                       

  > uncomment the Xr for fuse_main(3); from ray (jmc@)

  ~ man5/bsd.port.mk.5                    

  > Deprecate PLIST_DB. Prefer PLIST_REPOSITORY (same semantics, except that
  > ARCH gets appended automatically) (espie@)

  ~ 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@)

  ~ man4/ip6.4                            

  > no more v6only; (jmc@)

  ~ man4/ip6.4                            

  > revert this part of my last commit: sthen points out that this text
  > concerns sockets, and is still present; (jmc@)

mk

  ~ bsd.lib.mk                            

  > make 'make clean' clean up the .ldadd file, in case LIBREBUILD was set
  > ok deraadt@ (guenther@)

== sys =============================================================== 08/10 ==

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

arch/alpha/alpha

  ~ cpu.c                                 ~ vm_machdep.c

  > Implement TCB_{GET,SET} using PAL_{rd,wr}unique.
  > Inline asm from NetBSD
  > testing deraadt@ (guenther@)

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/alpha/include

  ~ alpha_cpu.h                           ~ proc.h
  ~ tcb.h                                 

  > Implement TCB_{GET,SET} using PAL_{rd,wr}unique.
  > Inline asm from NetBSD
  > testing deraadt@ (guenther@)

arch/amd64/amd64

  ~ acpi_machdep.c                        ~ acpi_wakecode.S

  > Use int3 padding instead of nop in the ACPI resume trampoline, as it is
  > certain no intentional nop sled is required here.
  > ok deraadt@ (mlarkin@)

  ~ machdep.c                             

  > Pad end of code in the MP trampoline with int3 instead of 0x0 as it is
  > certain we don't want an intentional sled here either.
  > ok deraadt@ (mlarkin@)

  ~ vmm_support.S                         

  > place .globals further up, to reduce confusion (deraadt@)

  ~ mptramp.S                             

  > default to int3 padding if we ever introduce ENTRY/NENTRY pads here
  > ok deraadt@ (mlarkin@)

  ~ 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@)

  ~ spl.S                                 

  > Please int3 guards around unused debug splx versions so we can stop
  > paying attention to those specific aligns.
  > ok mlarkin (deraadt@)

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/amd64/stand/efiboot

  ~ efiboot.c                             

  > Give the 32-bit and 64-bit EFI boatloaders different names such that we can
  > tell which one we're using.
  > ok deraadt@, krw@ (kettenis@)

arch/arm/arm

  ~ bus_dma.c                             

  > POSTREAD needs to flush the D-cache since speculative loads might (and do)
  > bring back cache lines after a PREREAD.  Eliminates random data corruption
  > on my CuBox-i4Pro.
  > ok jsg@ (kettenis@)

  ~ sig_machdep.c                         

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

  ~ conf.c                                + openprom.c

  > Implement openprom(4) for armv7.
  > ok deraadt@ (kettenis@)

arch/arm/include

  ~ atomic.h                              

  > Implement membar(9) for armv5.  As there are no barrier instructions in
  > armv5 this is just a "memory" clobber hint to the compiler.
  > ok kettenis@ (jsg@)

  ~ conf.h                                + openpromio.h

  > Implement openprom(4) for armv7.
  > ok deraadt@ (kettenis@)

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/arm/simplebus

  ~ simplebus.c                           

  > Use OF_is_compatible(9) here.
  > 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@)

  ~ armv7var.h                            

  > Remove the PHYTEC phyFLEX support code, patrick says he no longer
  > has the hardware for the eval kit.
  > ok patrick@ (jsg@)

  ~ armv7_machdep.c                       

  > For FDT-based boots, look for a "openbsd,bootduid" property of the /chosen
  > node.  If it is present, copy its value into the bootduid variable for
  > DUID-based boot disk selection.
  > ok patrick@, jsg@ (kettenis@)

arch/armv7/conf

  ~ GENERIC                               

  > Enable the pcf8523 RTC on Hummingboard and CuBox-i.
  > ok patrick@ (kettenis@)

  ~ RAMDISK                               

  > Copy dtb files to miniroots and install disk.  Increase the ramdisk size
  > and force long filenames on the first mount of fat 16 filesystems so
  > this works.
  > U-boot scripts have not yet been changed to load these files.
  > ok kettenis@ (jsg@)

  ~ GENERIC                               ~ RAMDISK

  > Dynamically attach imxiic(4) and use the FDT to enumerate devices on i2c
  > busses.  Users of the CuBox-i and Hummingboard now need to boot with an FDT
  > to see the RTC.
  > ok jsg@, patrick@ (kettenis@)

  ~ files.armv7                           

  > Implement openprom(4) for armv7.
  > ok deraadt@ (kettenis@)

arch/armv7/exynos

  ~ exynos_machdep.c                      

  > add init_mainbus() hooks for the other armv7 platforms (jsg@)

arch/armv7/imx

  ~ imxesdhc.c                            

  > Map the ADMA2 descriptor table use BUS_DMA_COHERENT and add a missing
  > bus_dmamap_sync(9).  Doesn't really fix anything, but adding the missing
  > sync makes the code more correct.  Using BUS_DMA_COHERENT avoids some
  > cache flushes. (kettenis@)

  ~ imxiic.c                              

  > Make this actually work.  This makes the following changes:
  > - Move most of the bus setup stuff to imxiic_i2c_acquire_bus()
  > - Move the teardown to imxiic_i2c_release_bus()
  > - Always clear the IIF flag
  > - Allow cmd and data for write operations.
  > Some i2c operations are still rejected, but this works well enough to use
  > pcfrtc(4).
  > ok patrick@ (kettenis@)

  ~ imx.c                                 ~ imxiic.c

  > Enable the pcf8523 RTC on Hummingboard and CuBox-i.
  > ok patrick@ (kettenis@)

  ~ 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@)

  ~ imx.c                                 ~ imx_machdep.c
  ~ imxehci.c                             ~ imxenet.c
  ~ imxesdhc.c                            

  > Remove the PHYTEC phyFLEX support code, patrick says he no longer
  > has the hardware for the eval kit.
  > ok patrick@ (jsg@)

  ~ imxiic.c                              

  > Change the identification string to "nxp,pcf8523" as this is what is stored
  > in the FDT. (kettenis@)

  ~ files.imx                             ~ imx.c
  ~ imxiic.c                              

  > Dynamically attach imxiic(4) and use the FDT to enumerate devices on i2c
  > busses.  Users of the CuBox-i and Hummingboard now need to boot with an FDT
  > to see the RTC.
  > ok jsg@, patrick@ (kettenis@)

arch/armv7/include

  + openpromio.h                          

  > Implement openprom(4) for armv7.
  > ok deraadt@ (kettenis@)

arch/armv7/omap

  ~ omap_machdep.c                        

  > add init_mainbus() hooks for the other armv7 platforms (jsg@)

  ~ ommmc.c                               

  > Add a workaround for software reset described in the TI docs where we
  > have to poll for software reset bits to be set after writing before
  > polling for them to clear.  This seems to resolve problems with ommmc
  > sometimes not attaching properly with recent u-boot versions.  Adapted
  > from FreeBSD svn rev 275950.
  > ok kettenis@ (jsg@)

arch/armv7/stand/efiboot

  ~ Makefile                              ~ efiboot.c
  ~ efiboot.h                             ~ exec.c
  + fdt.c                                 + fdt.h

  > Add support for passing an FDT.  The bootloader will update the "bootargs"
  > property of the "/chosen" node to pass arguments to the kernel. (kettenis@)

  ~ Makefile                              ~ efiboot.c
  ~ efiboot.h                             ~ exec.c
  ~ fdt.c                                 ~ fdt.h

  > Enable -Wall -Werror.  Fix warnings uncovered by this.
  > Set board IDs for i.IMX6 boards based on the "compatible" property of the
  > root node for now to ease the transition to full FDT support in the
  > kernel. (kettenis@)

  ~ exec.c                                ~ fdt.c
  ~ libsa.h                               ~ self_reloc.c

  > Fix a few more warnings such that this compiles again. (kettenis@)

  ~ efiboot.c                             

  > Match compatible strings for utilite which identifies as "cm-fx6" in
  > fdt/u-boot, and nitrogen6x which shares a board id with sabre lite but
  > has a different compatible string.
  > ok patrick@ kettenis@ (jsg@)

  ~ fdt.c                                 

  > Make fdt_node_add_property() behave like fdt_node_set_property() if the
  > property already exists. (kettenis@)

  ~ efiboot.c                             ~ efidev.c
  + disk.h                                

  > Set "openbsd.bootduid" property of "/chosen" to the DUID of the boot disk.
  > ok patrick@, jsg@ (kettenis@)

  ~ efiboot.c                             

  > Attempt to allocate 32MB at the lowest address that is aligned on a 256MB
  > border.  Our kernel currently relies on being loaded at the start of
  > physical
  > memory.  Hopefully this algorithm achieves that.  In the future I hope to
  > make it possible to load the kernel at any 256MB aligned border such that
  > the algorithm works even if the lowest 32MB are not available. (kettenis@)

  ~ efiboot.c                             

  > Add compatible string to board id mappings for almost all of the other
  > board ids we match on.
  > ok patrick@ (jsg@)

arch/armv7/sunxi

  ~ sunxi_machdep.c                       

  > add init_mainbus() hooks for the other armv7 platforms (jsg@)

arch/armv7/vexpress

  ~ vexpress_machdep.c                    

  > add init_mainbus() hooks for the other armv7 platforms (jsg@)

arch/hppa/hppa

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/i386/i386

  ~ acpi_wakecode.S                       

  > Use int3 padding instead of nop in the ACPI resume trampoline, as it is
  > certain no intentional nop sled is required here.
  > ok deraadt@ (mlarkin@)

  ~ autoconf.c                            

  > spaces -> tabs (mlarkin@)

  ~ autoconf.c                            

  > fix perms (previous cleanup commit introduced part of an unrelated change)
  > (mlarkin@)

  ~ 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@)

  ~ acpi_machdep.c                        ~ acpi_wakecode.S
  ~ hibernate_machdep.c                   ~ autoconf.c
  ~ machdep.c                             

  > split the ACPI resume trampoline into code and data pages, and protect
  > with proper permissions. Same treatment was done on amd64 last year, i386
  > is catching up.
  > This diff has been in snaps for a few days, no regressions reported.
  > ok deraadt@ (mlarkin@)

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar
  > (deraadt@)

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/m88k/m88k

  ~ sig_machdep.c                         

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/macppc/conf

  ~ files.macppc                          

  > Add a thermal management framework for macppc which controls the fan speed
  > based on the temperature sensor values.  A driver can register it fans or
  > temperature sensors there.  Ported from FreeBSD.
  > ok deraadt kettenis (mglocker@)

arch/macppc/dev

  + thermal.c                             + thermal.h

  > Add a thermal management framework for macppc which controls the fan speed
  > based on the temperature sensor values.  A driver can register it fans or
  > temperature sensors there.  Ported from FreeBSD.
  > ok deraadt kettenis (mglocker@)

  ~ smu.c                                 

  > Hook up smu(4) to the thermal management framework.
  > ok kettenis (mglocker@)

  ~ thermal.c                             

  > Ooops, fix the OpenBSD tag. (mglocker@)

arch/macppc/macppc

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/mips64/mips64

  ~ sendsig.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/octeon/dev

  ~ cn30xxpip.c                           ~ cn30xxpipreg.h
  ~ if_cnmac.c                            

  > Disable dynamic short buffering to make all RX data land on buffers
  > taken from the packet data pool. (visa@)

  ~ if_cnmac.c                            

  > Fix the previous commit which made work queue entries get released too
  > early. octeon_eth_recv() will release them in case of packet drop. (visa@)

  ~ if_cnmac.c                            

  > panic() if an incoming packet does not consist of one buffer. This
  > makes the number of buffers visible. (visa@)

  ~ if_cnmac.c                            ~ if_cnmacvar.h

  > Make the TX path of cnmac(4) MP-safe and add some ifq oactive logic.
  > Feedback from dlg@, ok mpi@ (visa@)

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@)

  ~ sh_machdep.c                          

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/socppc/socppc

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/sparc/sparc

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar.
  > ok guenther kettenis (deraadt@)

arch/sparc64/dev

  ~ vpci.c                                

  > Use OF_is_compatible(9).  Simplifies the code and should make pci within
  > a guest domain on a Fujitsu M10 work. (kettenis@)

arch/sparc64/sparc64

  ~ openfirm.c                            

  > Implement OF_is_compatible(9). (kettenis@)

  ~ machdep.c                             

  > hand-massage sendsig() and sys_sigreturn() to be much more similar
  > (deraadt@)

ddb

  ~ db_structinfo.c                       

  > <sys/localedef.h> isn't needed for ddb structinfo
  > ok millert@ deraadt@ schwarze@ (guenther@)

dev

  ~ softraid_crypto.c                     

  > remove VOP_CLOSE and vput that will be handled in the epilogue.
  > part of a diff by bytevolcano. ok jung (tedu@)

  ~ rnd.c                                 ~ rndvar.h

  > Change the random event buffer from a queue to an endless ring. This way
  > we don't drop any events when the queue is full. They are instead mixed
  > into previous events.
  > The mixing function selected is addition instead of xor to reduce the
  > possibility that new values effectively erase existing ones.
  > Convert some types to u_int to ensure defined overflow.
  > ok deraadt djm (tedu@)

  ~ cons.c                                ~ cons.h

  > Allow sendsyslog(2) with LOG_CONS even when /dev/console has not
  > been opened during init(8).  Only log with cnwrite() if cn_devvp
  > exists, otherwise use cnputc() as fallback.  While there move extern
  > declarations to dev/cons.h.
  > input and OK deraadt@ (bluhm@)

  ~ softraid_crypto.c                     

  > Remove another erroneous VOP_CLOSE/vput, which was missed with the last
  > commit. While here, also be consistent with the goto labels used. (jsing@)

dev/hid

  ~ hidms.c                               

  > Use the new input functions of wsmouse in mouse and touchscreen drivers.
  > ok kettenis@ (bru@)

dev/i2c

  + pcf8523.c                             

  > Driver for the NXP PCF8523 Real Time Clock. (kettenis@)

  ~ files.i2c                             

  > Add pcfrtc(4). (kettenis@)

  ~ pcf8523.c                             

  > Attempt to clear the OS flag when we attach. (kettenis@)

  ~ pcf8523.c                             

  > Change the identification string to "nxp,pcf8523" as this is what is stored
  > in the FDT. (kettenis@)

dev/ic

  ~ nvme.c                                

  > check we allocated the cq, not the sq, after trying to allocate the cq
  > found by NONAKA Kimihiro while he was porting nvme to netbsd. (dlg@)

dev/ofw

  ~ fdt.c                                 ~ openfirm.h

  > Introduce OF_is_compatible(9), a convenience function to check the
  > "compatible"
  > property of an OFW/FDT node.
  > ok deraadt@, pactrick@ (kettenis@)

  ~ fdt.c                                 

  > Implement openprom(4) for armv7.
  > ok deraadt@ (kettenis@)

dev/pci

  ~ if_xge.c                              

  > enable reception and transmission of jumbo frames.
  > xge can go up to 9622 bytes in a frame. support for rx ring moderation
  > is coming.
  > from marisa emerson (dlg@)

  ~ 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@)

  ~ pcidevs                               

  > Add Xeon-D devices. Move one item that was out of order to the right place
  > and fix a typo in an earlier E5 device ID. (mlarkin@)

  ~ pcidevs_data.h                        ~ pcidevs.h

  > regen (mlarkin@)

  ~ pcidevs                               

  > Add ids found in x1 carbon 2016:
  > - GMM (intel skylake general mixture model)
  > - ISH (intel 100 series integrated sensor hub)
  > - RTS525A (realtek card reader, not supported by rtsx(4)) (reyk@)

  ~ pcidevs.h                             ~ pcidevs_data.h

  > sync (reyk@)

dev/pckbc

  ~ pms.c                                 

  > Use the new input functions of wsmouse in mouse and touchscreen drivers.
  > ok kettenis@ (bru@)

dev/sdmmc

  ~ sdhc.c                                

  > Sync with the ADMA2 implementation in imxesdhc(4):
  > Map the ADMA2 descriptor table use BUS_DMA_COHERENT and add a missing
  > bus_dmamap_sync(9).  Doesn't really fix anything, but adding the missing
  > sync makes the code more correct.  Using BUS_DMA_COHERENT avoids some
  > cache flushes on architectures that implement it. (kettenis@)

dev/usb

  ~ uvideo.c                              

  > Plug some gaping holes in the v4l2 ioctl interfaces that would leak kernel
  > memory to a local user.  Found by Patrick Keshisian.  Fix a potential
  > integer overflow issue in related code while I'm there.
  > ok mglocker@, deraadt@ (kettenis@)

  ~ uvideo.c                              

  TAGGED OPENBSD_5_9
  > Plug some gaping holes in the v4l2 ioctl interfaces that would leak kernel
  > memory to a local user.  Found by Patrick Keshisian.  Fix a potential
  > integer overflow issue in related code while I'm there.
  > ok mglocker@, deraadt@ (kettenis@)

  ~ uvideo.c                              

  TAGGED OPENBSD_5_8
  > Plug some gaping holes in the v4l2 ioctl interfaces that would leak kernel
  > memory to a local user.  Found by Patrick Keshisian.  Fix a potential
  > integer overflow issue in related code while I'm there.
  > ok mglocker@, deraadt@ (kettenis@)

  ~ usb.c                                 ~ usb_subr.c
  ~ usbdivar.h                            

  TAGGED OPENBSD_5_8
  > 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@)

  ~ usbdevs                               

  TAGGED OPENBSD_5_8
  > Hello LTE Airprime/Sierra Aircard 313U, Netgear/Sierra Aircard 770S
  > (chris@)

  ~ usbdevs.h                             ~ usbdevs_data.h

  TAGGED OPENBSD_5_8
  > resync (chris@)

  ~ uvideo.c                              

  TAGGED OPENBSD_5_8
  > Fix pasto; v4l2_buf.flags = V4L2_MEMORY_MMAP -> V4L2_BUF_FLAG_MAPPED.
  > From Patrick Keshishian, thanks! (mglocker@)

  ~ usb_subr.c                            

  TAGGED OPENBSD_5_8
  > Free the cache if the string cannot be retrieved.  This allows the
  > fallback method to actually do its work and look up the strings via
  > the vendor and product id.
  > Regression noticed and ok tb@, ok mpi@ (patrick@)

isofs/cd9660

  ~ cd9660_vfsops.c                       

  > When pulling an msdos formated umass stick during mount while the
  > usb stack was busy, the kernel could trigger an uvm fault.  There
  > is a race between vop_generic_revoke() and sys_mount() where vgonel()
  > could reset v_specinfo.  Then v_specmountpoint is no longer valid.
  > So after sleeping, msdosfs_mountfs() could crash in the error path.
  > The code in the different *_mountfs() functions was inconsistent,
  > implement the same check everywhere.
  > OK krw@ natano@ (bluhm@)

isofs/udf

  ~ udf_vfsops.c                          

  > When pulling an msdos formated umass stick during mount while the
  > usb stack was busy, the kernel could trigger an uvm fault.  There
  > is a race between vop_generic_revoke() and sys_mount() where vgonel()
  > could reset v_specinfo.  Then v_specmountpoint is no longer valid.
  > So after sleeping, msdosfs_mountfs() could crash in the error path.
  > The code in the different *_mountfs() functions was inconsistent,
  > implement the same check everywhere.
  > OK krw@ natano@ (bluhm@)

kern

  ~ kern_pledge.c                         ~ vfs_syscalls.c

  > remove chroot(2) from allowed syscalls under pledge(2).
  > please note that chrooted process are still possible with pledge(2), but
  > only
  > if the chroot(2) is done *before* calling pledge(2). Once pledged, no more
  > chroot(2) call are permitted. (semarie@)

  ~ syscalls.master                       

  > Document NOLOCK, from Michal Mazurek. (mpi@)

  ~ init_main.c                           ~ subr_log.c

  > Backout the previous fix for the sendsyslog(2) with LOG_CONS solution.
  > Permanently holding /dev/console open in the kernel works only until
  > init(8) calls revoke(2).  After that the console device vnode cannot
  > be used anymore.  It still resulted in a hanging init(8) if it tried
  > to syslog(3) something.  With the backout also dmesg -s works again.
  > (bluhm@)

  ~ subr_log.c                            ~ subr_prf.c
  ~ tty.c                                 

  > Allow sendsyslog(2) with LOG_CONS even when /dev/console has not
  > been opened during init(8).  Only log with cnwrite() if cn_devvp
  > exists, otherwise use cnputc() as fallback.  While there move extern
  > declarations to dev/cons.h.
  > input and OK deraadt@ (bluhm@)

  ~ 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@)

  ~ subr_log.c                            

  > All msg buf counters are long, so lmin(9) should be used for them.
  > OK deraadt@ natano@ (bluhm@)

  ~ subr_disk.c                           

  > Let setroot() pick the boot disk based on the DUID provided in bootduid if
  > a boot disk has not been selected by its caller.
  > ok jsing@, millert@ (kettenis@)

  ~ subr_disk.c                           

  > Remove dead assignment/unused variable. (jsing@)

  ~ subr_disk.c                           ~ kern_sysctl.c

  > Cleanup some of the DUID code and refactor for readability.
  > ok krw@ kettenis@ (jsing@)

  ~ subr_disk.c                           

  > Fix logic bug in DUID generation - we want to generate DUIDs until we have
  > one that is not a duplicate and not a zero DUID.
  > ok krw@ (jsing@)

msdosfs

  ~ msdosfs_vnops.c                       

  > by default, files were made executable.  that does not make sense today.
  > noone should be executing a binary from a msdos filesystem, considering
  > the mountpoint tracking permission mode model
  > ok natano krw (deraadt@)

  ~ msdosfs_vnops.c                       ~ msdosfsmount.h

  > Remove the -x flag from mount_msdos and always assume the execute bit
  > for readable directories, while making it subject to the mask option
  > (-m in mount_msdos), so it is still possible to mount with
  > non-executable directories, but with semantics that are easier to
  > comprehend.
  > This makes directory listings with default mount options work again.
  > ok deraadt@ (natano@)

  ~ msdosfs_vfsops.c                      

  > When pulling an msdos formated umass stick during mount while the
  > usb stack was busy, the kernel could trigger an uvm fault.  There
  > is a race between vop_generic_revoke() and sys_mount() where vgonel()
  > could reset v_specinfo.  Then v_specmountpoint is no longer valid.
  > So after sleeping, msdosfs_mountfs() could crash in the error path.
  > The code in the different *_mountfs() functions was inconsistent,
  > implement the same check everywhere.
  > OK krw@ natano@ (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@)

  ~ ieee80211_node.c                      ~ ieee80211_var.h

  > Add a wireless driver capability flag for devices which scan 2GHz and 5GHz
  > bands in a single scan offload request. This will be used by iwm(4) soon.
  > ok kettenis@, earlier version ok phessler@ (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@)

netinet6

  ~ nd6.c                                 

  > Completely skip link-layer address resolution and NUD on gif(4).
  > Tested by naddy@ (mpi@)

  ~ udp6_output.c                         

  > Do not check if source address is available when the UDP6 socket is bound
  > to [::]. We should be able to send from a socket bound to [::] while using
  > sockets bound to specified addresses for reception.
  > Spotted with regress/usr.sbin/syslogd/args-client-bind-only6.pl test case.
  > "makes sense to me" millert@, ok benno@, ok bluhm@ (vgross@)

  ~ in6.h                                 ~ in6_proto.c
  ~ ip6_input.c                           ~ ip6_output.c
  ~ ip6_var.h                             

  > Remove sysctl net.inet6.ip6.v6only
  > This sysctl is a no-op, read-only since it was introduced.  There are no
  > plans to support IPv4-mapped addresses on OpenBSD, thus this sysctl is
  > meaningless.
  > Noticed by djm@, ok claudio@ mpi@ sthen@ henning@ (jca@)

ntfs

  ~ ntfs_vfsops.c                         

  > When pulling an msdos formated umass stick during mount while the
  > usb stack was busy, the kernel could trigger an uvm fault.  There
  > is a race between vop_generic_revoke() and sys_mount() where vgonel()
  > could reset v_specinfo.  Then v_specmountpoint is no longer valid.
  > So after sleeping, msdosfs_mountfs() could crash in the error path.
  > The code in the different *_mountfs() functions was inconsistent,
  > implement the same check everywhere.
  > OK krw@ natano@ (bluhm@)

sys

  ~ systm.h                               

  > Backout the previous fix for the sendsyslog(2) with LOG_CONS solution.
  > Permanently holding /dev/console open in the kernel works only until
  > init(8) calls revoke(2).  After that the console device vnode cannot
  > be used anymore.  It still resulted in a hanging init(8) if it tried
  > to syslog(3) something.  With the backout also dmesg -s works again.
  > (bluhm@)

  ~ 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@)

  ~ disk.h                                

  > Cleanup some of the DUID code and refactor for readability.
  > ok krw@ kettenis@ (jsing@)

  ~ mount.h                               

  > Remove the -x flag from mount_msdos and always assume the execute bit
  > for readable directories, while making it subject to the mask option
  > (-m in mount_msdos), so it is still possible to mount with
  > non-executable directories, but with semantics that are easier to
  > comprehend.
  > This makes directory listings with default mount options work again.
  > ok deraadt@ (natano@)

ufs/ext2fs

  ~ ext2fs_vfsops.c                       

  > When pulling an msdos formated umass stick during mount while the
  > usb stack was busy, the kernel could trigger an uvm fault.  There
  > is a race between vop_generic_revoke() and sys_mount() where vgonel()
  > could reset v_specinfo.  Then v_specmountpoint is no longer valid.
  > So after sleeping, msdosfs_mountfs() could crash in the error path.
  > The code in the different *_mountfs() functions was inconsistent,
  > implement the same check everywhere.
  > OK krw@ natano@ (bluhm@)

ufs/ffs

  ~ ffs_vfsops.c                          

  > When pulling an msdos formated umass stick during mount while the
  > usb stack was busy, the kernel could trigger an uvm fault.  There
  > is a race between vop_generic_revoke() and sys_mount() where vgonel()
  > could reset v_specinfo.  Then v_specmountpoint is no longer valid.
  > So after sleeping, msdosfs_mountfs() could crash in the error path.
  > The code in the different *_mountfs() functions was inconsistent,
  > implement the same check everywhere.
  > OK krw@ natano@ (bluhm@)

uvm

  ~ uvm_amap.c                            ~ uvm_amap.h

  > Make amaps use less kernel memory
  > This is achieved by grouping amap slots into chunks that are allocated
  > on-demand by pool(9). Endless "fltamapcopy" loops because of kmem
  > shortage should be solved now. The kmem savings are also important to later
  > enable vmm(4) to use larged shared memory mappings for guest VM RAM.
  > This adapts libkvm also because the amap structure layout has changed.
  > Testing and fix of libkvm glitch in initial diff by tb@
  > Feedback and "time to get this in" kettenis@ (stefan@)

  ~ uvm_amap.c                            ~ uvm_amap.h

  > Revert previous: breaks i386 and powerpc, probably all non-PMAP_DIRECT
  > archs (guenther@)

== usr.bin =========================================================== 09/10 ==

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

kdump

  ~ ktrstruct.c                           

  > On hppa, function pointer comparison can require dereferencing them.
  > kdump can't do that for a sigaction sa_handler pointer from the trace,
  > so cast to void* to suppress it.
  > ok deraadt@ (guenther@)

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@)

skeyinit

  ~ skeyinit.c                            

  > Fix "skeyinit username" run as root.  Also reduce the pledge
  > promise when run as root since we don't need proc or exec as
  > root.  OK tb@, earlier version OK deraadt@ (millert@)

  ~ skeyinit.c                            

  > Move the code block that builds up a default seed further down in order
  > to reduce the noise in the next commit.  While there, fix the indent
  > level of a bit introduced in the previous commit.
  > ok millert@ (tb@)

  ~ skeyinit.c                            

  > Refactor the handling of pledge and the optional user string: The three
  > way pledge introduced by millert@ in -r1.70 is now a two way pledge, one
  > for non-root and one for root.  This also ensures that root drops the
  > id promise in all cases early on.
  > This disentangling of the bits for root and non-root simplifies the code
  > paths in all cases.
  > ok millert@ (tb@)

ssh

  ~ PROTOCOL.agent                        

  > fix type of ed25519 values (djm@)

== usr.sbin ========================================================== 10/10 ==

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

crunchgen

  ~ crunched_main.c                       

  > Restore support for 'instbin program args...'
  > problem noted by and ok deraadt@ (guenther@)

eeprom

  ~ optree.c                              

  > Zero op_name when we start enumerating properties such that we don't risk
  > skipping the properties of the root node when the lookup of random stack
  > garbage fails.
  > ok deraadt@ (kettenis@)

  ~ optree.c                              

  > Byteswap 32-bit "cells" on little-endian platforms before printing them.
  > OpenFirware/FDT is defined to be big-endian.  This makes eeprom -p print
  > sensible numbers on little-endian platforms.
  > ok deraadt@ (kettenis@)

  ~ Makefile                              

  > Build on armv7. (kettenis@)

httpd

  ~ server_file.c                         

  > Repair some file descriptor leaks.
  > ok beck krw millert (deraadt@)

  ~ httpd.c                               

  > fix unbalanced va_start and va_end macros
  > from Hiltjo Posthuma
  > "do." deraadt (jung@)

  ~ server_http.c                         

  > makes sure the value of the asprintf buffer is zeroed on error
  > from Hiltjo Posthuma
  > "do." deraadt (jung@)

ntpd

  ~ constraint.c                          

  > Harden TLS for ntpd constraints - stop disabling server name verification,
  > ensure that we load the CA certificates and use tls_connect_servername()
  > so that we can verify the server we are connecting to (even though we've
  > already resolved the hostname). Also add additional warnings for TLS
  > connect and TLS write failures so that we know what is happening and why.
  > Lack of server name verification also reported by Luis M. Merino
  > <luismiguelmerino at gmail dot com> - thanks!
  > ok deraadt@ reyk@ (jsing@)

pkg_add

  ~ OpenBSD/ProgressMeter/Term.pm         

  > set glitch correctly (espie@)

pppd

  ~ auth.c                                

  > remove pam and shadow code that's not used. ok deraadt jca (tedu@)

smtpd

  ~ util.c                                

  > replace hardcoded + with TAG_CHAR (gilles@)

  ~ filter.c                              ~ smtp_session.c

  > fix logic in error code path of smtp state machine that can lead to an
  > invalid state ending in fatal(), while at it plug a file pointer leak.
  > ok eric@, millert@ (gilles@)

  ~ filter.c                              ~ smtp_session.c

  TAGGED OPENBSD_5_9
  > fix logic in error code path of smtp state machine that can lead to invalid
  > state and result in fatal(), while at it plug file pointer leak.
  > errata 006
  > ok eric@, millert@ (gilles@)

  ~ ioev.c                                

  TAGGED OPENBSD_5_9
  > No need to store the return value of fcntl(fd, F_SETFL, flags).
  > OK jung@ (millert@)

  ~ smtpd.conf.5                          

  TAGGED OPENBSD_5_9
  > table formats are described in table(5) not makemap(8) (gilles@)

  ~ aliases.c                             

  TAGGED OPENBSD_5_9
  > replace hardcoded '+' with TAG_CHAR define
  > diff from obadz <[email protected]> (gilles@)

  ~ to.c                                  

  TAGGED OPENBSD_5_9
  > use temporary variables to store some struct tm values, no functional
  > change but reduces the changeset with portable version (gilles@)

  ~ mda.c                                 ~ mta.c
  ~ mta_session.c                         ~ smtp_session.c

  TAGGED OPENBSD_5_9
  > start work on improving the log format, this is work in progress but it'll
  > be better worked in tree
  > ok eric@, beck@ (gilles@)

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

Reply via email to