OpenBSD src changes summary for 2017-05-14 to 2017-05-21 inclusive
==================================================================

distrib/miniroot                        distrib/sets
etc/etc.loongson/MAKEDEV                etc/etc.loongson/MAKEDEV.md
games/adventure                         lib/libc
lib/libtls                              regress/lib
regress/sys                             regress/usr.bin
sbin/disklabel                          sbin/iked
sbin/pfctl                              share/man
sys/arch/amd64/amd64                    sys/arch/amd64/include
sys/arch/amd64/stand/efiboot            sys/arch/arm/armv7
sys/arch/arm/include                    sys/arch/arm64/arm64
sys/arch/arm64/conf                     sys/arch/armv7/conf
sys/arch/armv7/exynos                   sys/arch/hppa/hppa
sys/arch/hppa/include                   sys/arch/i386/conf
sys/arch/i386/i386                      sys/arch/loongson/conf
sys/arch/loongson/dev                   sys/arch/loongson/include
sys/arch/loongson/loongson              sys/arch/mips64/conf
sys/arch/mips64/include                 sys/arch/mips64/mips64
sys/arch/powerpc/powerpc                sys/arch/sh/include
sys/arch/sh/sh                          sys/arch/sparc64/sparc64
sys/conf                                sys/crypto
sys/dev                                 sys/dev/fdt
sys/dev/ic                              sys/dev/pci
sys/dev/pv                              sys/dev/rasops
sys/dev/usb                             sys/kern
sys/lib/libkern                         sys/net
sys/netinet                             sys/netinet6
sys/nfs                                 sys/scsi
sys/sys                                 sys/uvm
usr.bin/mandoc                          usr.bin/netstat
usr.bin/openssl                         usr.bin/ssh
usr.bin/systat                          usr.bin/tmux
usr.bin/tsort                           usr.sbin/httpd
usr.sbin/ikectl                         usr.sbin/pcidump
usr.sbin/pkg_add                        usr.sbin/radiusd
usr.sbin/sasyncd                        usr.sbin/smtpd
usr.sbin/syspatch                       usr.sbin/trpt

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

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

miniroot

  ~ install.sub                           

  > - Move the dmesg listener code into it's own start_dmesg_listener()
  > function.
  > - Add -f option to rm in unlock() to be able to use it in the new function.
  > OK halex@, krw@, tb@ (rpe@)

  ~ install.sub                           

  > - move NIFS into the block of global variables
  > - sort global variable block alphabetically (rpe@)

  ~ install.sub                           

  > - export EDITOR and COLUMNS on assignment
  > - move EDITOR into the block of global variables and export
  > - break long line in COLUMNS assignment (rpe@)

  ~ install.sub                           

  > Ensure a clean initial state (e.g. in case of an installer restart)
  > by moving setting ulimit, unmounting all filesystems and cleaning up
  > the dhcp state upwards to before sourcing install.md.
  > OK tb@
  > While here, 1>/dev/null -> >/dev/null. (rpe@)

sets

  ~ lists/comp/mi                         

  > sync (deraadt@)

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

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

etc.loongson/MAKEDEV

  ~ etc.loongson/MAKEDEV                  

  > regen (visa@)

etc.loongson/MAKEDEV.md

  ~ etc.loongson/MAKEDEV.md               

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

== games ============================================================= 03/10 ==

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

adventure

  ~ hdr.h                                 ~ init.c

  > Silence a whole slew of clang warnings by doing a no-op in the crazy
  > internal obfuscation scheme the other way around, thereby avoiding a
  > signed underflow.
  > ok mestre (tb@)

== lib =============================================================== 04/10 ==

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

libc

  ~ stdlib/malloc.3                       

  > Typo: freezeo -> freezero
  > From "fenderq" on freenode via tj@ (tb@)

  ~ stdlib/qsort.c                        

  > The BSD qsort() performs tail recursion elimination on the second
  > side of the array being partitioned to save on stack space.  Greater
  > savings can be gained by choosing recursion for the smaller side
  > of the partition and eliminating recursion for the larger side.
  > This also results in a small but measurable performance gain.
  > OK otto@ schwarze@ (millert@)

  ~ hidden/stdlib.h                       ~ stdlib/heapsort.c
  ~ stdlib/qsort.c                        

  > Use David Musser's introsort algorithm to fall back to heapsort(3)
  > when the recursion depth reaches 2*lg(n + 1).  This avoids quicksort's
  > quadratic behavior for pathological input without appreciably
  > changing the average run time. (millert@)

  ~ stdlib/qsort.3                        

  > Document that qsort falls back to heapsort() if the recursion depth
  > exceeds 2 lg N and add a reference to the introsort paper. (millert@)

libtls

  ~ tls_ocsp.c                            

  > Plug a memory leak. The main_cert needs to be X509_free()ed since
  > SSL_get_peer_certificate() increases the ref count whereas extra_certs
  > do not because SSL_get_peer_cert_chain() won't increase ref counts.
  > OK beck@ (claudio@)

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

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

lib

  ~ libc/Makefile                         + libc/qsort/Makefile
  + libc/qsort/qsort_test.c               

  > Add qsort(3) regress based on Bentley & McIlroy's "Engineering a Sort
  > Function" (millert@)

  ~ libc/qsort/qsort_test.c               

  > There's no need to track the number of errors (and the counter might
  > wrap), make it a flag instead.  Pointed out by schwarze@ (millert@)

  ~ libc/qsort/qsort_test.c               

  > Add "killer" input from "algorithmic complexity attacks and libc
  > qsort()".  This causes quadratic behavior with the 4.4BSD qsort's
  > "switch to insertion sort" optimization when the input appears to
  > be mostly sorted.  That optimization was removed in qsort.c r1.12
  > but it is worth having in the regress test too. (millert@)

  ~ libc/qsort/Makefile                   ~ libc/qsort/qsort_test.c

  > Approximate nlgn instead of using libm.  The same approximation may
  > be used in qsort.c in a later commit. (millert@)

  ~ libc/qsort/qsort_test.c               

  > Add "median of three" killer, as seen in "Introspective Sorting and
  > Selection Algorithms" by David R  Musser. (millert@)

  ~ libc/qsort/qsort_test.c               

  > Avoid running the "killer" tests multiple times with the same
  > parameters. (millert@)

  ~ libc/qsort/qsort_test.c               

  > use mergesort instead of heapsort when comparing results (millert@)

  ~ libc/qsort/qsort_test.c               

  > Add input targeted at the Bentley and McIrlroy quicksort generated
  > by McIlroy's "A Killer Adversary for Quicksort".  This results in
  > quadratic behavior and the test aborts before completion. (millert@)

  ~ libc/qsort/qsort_test.c               

  > correct a return value test
  > ok millert@ (jsg@)

sys

  ~ net/pf_forward/Makefile               

  > Use netcat options -n, -W, -w to simplify test.  Wrap long lines. (bluhm@)

  ~ netinet/ipsec/Makefile                

  > Try to work around a race in the daily test run.  Before killing
  > tcpdump, sleep a while to collect all data. (bluhm@)

  ~ crypto/aesxts/Makefile                ~ crypto/aesxts/aes_xts.c

  > Revert MI AES-XTS code back to T-tables amid poor performance
  > Suffered by many, the revert tested by stsp@. (mikeb@)

usr.bin

  ~ mdoclint/mdoclint                     ~ mdoclint/mdoclint.1

  > remove the -s option, it is fully covered by mandoc -Tlint;
  > OK jmc@ (schwarze@)

  ~ mdoclint/mdoclint                     ~ mdoclint/mdoclint.1

  > delete the -a option, it's now fully covered by mandoc -Tlint;
  > OK jmc@ wiz@ (schwarze@)

  ~ mdoclint/mdoclint                     

  > Delete the obsolete 9-argument-check for .Sh.
  > Delete the section ordering check covered by mandoc.
  > Some simplifications and forgotten -a cleanup.
  > OK jmc@ wiz@ (schwarze@)

  ~ mdoclint/mdoclint                     ~ mdoclint/mdoclint.1

  > Delete the -H option.
  > What it did was nothing but bad advice nowadays.
  > OK jmc@ wiz@ (schwarze@)

  ~ mandoc/db/out/all.derr                ~ mandoc/db/out/padfmagic.dout
  ~ mandoc/db/out/padimacro.dout          ~ mandoc/db/out/padmmacro.dout
  ~ mandoc/db/run/Makefile                

  > Stop testing the creation and the properties of empty databases.
  > They are about to be deprecated.
  > For the tests built on top of them,
  > use a database containing a single page instead. (schwarze@)

  ~ mandoc/db/run/Makefile                

  > *Add* a test checking that no empty databases get created,
  > by *removing* one line from the Makefile.  Neat, isn't it? (schwarze@)

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

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

disklabel

  ~ disklabel.8                           ~ editor.c

  > tweak partition sizes for auto-alloction to better suit 8G disks
  > ok kr@ aja@ (otto@)

iked

  ~ dh.c                                  

  > A few more freezero() uses
  > ok yasuoka mikeb (deraadt@)

pfctl

  ~ parse.y                               ~ pfctl.c
  ~ pfctl_parser.c                        ~ pfctl_queue.c

  > Hook up FQ-CoDel to the tree and enable configuration in the pfctl(8)
  > OK sthen, visa (mikeb@)

  ~ pfctl_queue.c                         

  > Put the closing parenthesis in the right spot and fix std-dev calculation
  > (mikeb@)

  ~ pfctl_parser.c                        

  > Fixup printing of queue bandwidth specifications
  > Reported by Carl Mascott, thanks!  OK sthen (mikeb@)

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

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

man

  ~ man5/printcap.5                       

  > Default lpd spool directory is /var/spool/output/lpd.
  > reported by martin at martinbrandenburg dot com
  > ok tb@ (ajacoutot@)

  ~ man5/pf.conf.5                        

  > Document the new flow queue specification
  > With input and OK sthen (mikeb@)

  ~ man5/pf.conf.5                        

  > tweak previous; ok mikeb (jmc@)

  ~ man5/pf.conf.5                        

  > tweak the bandwidth description; help/ok mikeb (jmc@)

  ~ man7/mandoc_char.7                    

  > Delete the -T xhtml command line option.
  > It has been obsolete for more than two years.
  > Use -T html. (schwarze@)

  ~ man5/pf.conf.5                        

  > better describe "!";
  > from michal mazurek, tweaked a bit by myself (jmc@)

  ~ man9/mbuf.9                           

  > header updates from kevlo; (jmc@)

  ~ man5/pf.conf.5                        

  > replace tabs with spaces, for consistency, in the BNF display;
  > from michal mazurek (jmc@)

  ~ man5/installurl.5                     

  > Clarify that /etc/installurl is only created when using the http method.
  > Xr pkg_add while there.
  > ok jmc (tb@)

  ~ man4/uslcom.4                         

  > Mention that not all varaints support baud rates up to 2 Mbps. (kettenis@)

  ~ man4/uslcom.4                         

  > spelling; (jmc@)

  ~ man8/man8.loongson/MAKEDEV.8          

  > regen (visa@)

  ~ man4/route.4                          

  > Fix copy/paste in comment. (jca@)

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

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

arch/amd64/amd64

  ~ machdep.c                             

  > Since copyin(9) already doeas access 32-bit quantities atomically, we can
  > add copyin32(9) as a simple C wrapper around it.  These wrappers do check
  > alignment and return EFAULT if the userland pointer is misaligned.  This is
  > enough to guarantee that the access doesn't cross a cache line boundary
  > which
  > could make the access non-atomic.
  > ok mpi@, visa@, tedu@ (kettenis@)

  ~ vmm.c                                 

  > return EIO to vmd if the guest HLTs with interrupts disabled (mlarkin@)

  ~ identcpu.c                            ~ vmm.c

  > Respect max VPID/ASID limits. VMX VPIDs are capped at 4095, for now.
  > (mlarkin@)

arch/amd64/include

  ~ vmmvar.h                              

  > Respect max VPID/ASID limits. VMX VPIDs are capped at 4095, for now.
  > (mlarkin@)

arch/amd64/stand/efiboot

  ~ efiboot.c                             

  > Compare device pathes properly to find the booted disk.
  > Work with and test by Michele Curti. (yasuoka@)

  ~ efidev.c                              

  > Tweak previous, s/int/unsigned/, since the format character is %u.
  > (yasuoka@)

arch/arm/armv7

  ~ armv7_mutex.c                         

  > Fix kernel build on armv7 and sh.
  > Pointed out by deraadt@ (visa@)

arch/arm/include

  ~ mutex.h                               

  > Fix kernel build on armv7 and sh.
  > Pointed out by deraadt@ (visa@)

arch/arm64/arm64

  ~ locore.S                              

  > AAPCS64 requires 16 byte stack alignment.  Set the bits in the system
  > control register to enable alignment fault exceptions if the stack
  > pointer is not correctly aligned when used as a base address in load or
  > store instructions.
  > drahn@ pointed out that FreeBSD made this change in svn rev 295270 and
  > believes we should do the same. (jsg@)

  ~ pmap.c                                

  > Give the vp pool its own allocator.  Avoiding the logic that creates large
  > pool pages that fit at least 8 pool items reduces the kva pressure.
  > Unfortunately this doesn't completely eliminate the problems sthen@ is
  > seeing.
  > ok drahn@ (kettenis@)

arch/arm64/conf

  ~ GENERIC                               ~ RAMDISK

  > Add dwmmc(4), a driver for the Synopsis Designware SD/MMC controller as
  > found
  > on various Rockchip SoCs.
  > This is still WIP.  Next steps will be to get rid of various busy-wait
  > loops
  > and add DMA support. (kettenis@)

arch/armv7/conf

  ~ GENERIC                               ~ RAMDISK

  > Add support for the SD/MMC controller found on Samsuung Exynos5.
  > (kettenis@)

arch/armv7/exynos

  - exesdhc.c                             ~ files.exynos

  > Remove exesdhc(4).  This driver was never finished and has been replaced
  > by dwmmc(4). (kettenis@)

  ~ exclock.c                             

  > Add clocks for SD/MCC controller on Exynos 5420/5800. (kettenis@)

arch/hppa/hppa

  ~ locore.S                              ~ machdep.c

  > Implement copyin32(9).
  > "your chicken scratches look fine to me" deraadt@ (kettenis@)

arch/hppa/include

  ~ cpu.h                                 

  > Implement copyin32(9).
  > "your chicken scratches look fine to me" deraadt@ (kettenis@)

  ~ intr.h                                

  > tweak the spllower asm so it is more straightforward.
  > this properly identifies the registers used as input and output
  > operands to the code running in the trap handler, and passes them
  > to the asm statement as such. this means we dont have to do an extra
  > copy in the asm, or an extra clobber to keep the compiler away from
  > the registers. it also lets gcc set up and use the input register
  > nicely before it reaches the asm.
  > ok kettenis@ (dlg@)

arch/i386/conf

  ~ GENERIC                               

  > enable acpisbs on i386 for old MacBooks
  > tested by Jan Stary (jcs@)

arch/i386/i386

  ~ machdep.c                             

  > Since copyin(9) already doeas access 32-bit quantities atomically, we can
  > add copyin32(9) as a simple C wrapper around it.  These wrappers do check
  > alignment and return EFAULT if the userland pointer is misaligned.  This is
  > enough to guarantee that the access doesn't cross a cache line boundary
  > which
  > could make the access non-atomic.
  > ok mpi@, visa@, tedu@ (kettenis@)

arch/loongson/conf

  ~ GENERIC                               

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

arch/loongson/dev

  ~ bonito.c                              ~ voyager.c

  > Make IPL_MPSAFE effective on loongson.
  > Testing help from fcambus@ (visa@)

arch/loongson/include

  ~ intr.h                                

  > Make IPL_MPSAFE effective on loongson.
  > Testing help from fcambus@ (visa@)

  ~ autoconf.h                            ~ pmon.h
  ~ vmparam.h                             

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

arch/loongson/loongson

  ~ conf.c                                ~ generic3a_machdep.c
  ~ machdep.c                             ~ pmon.c

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

  ~ pmon.c                                

  > Tweak style. (visa@)

arch/mips64/conf

  ~ files.mips64                          

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

arch/mips64/include

  ~ atomic.h                              

  > Make atomic.h ready to be included in userland.
  > - keep setbits/clearbits inside _KERNEL
  > ok visa@ (mpi@)

  ~ lock.h                                

  > Replace __cpu_cas() with atomic_cas_ulong().
  > OK kettenis@ (visa@)

arch/mips64/mips64

  ~ lcore_access.S                        

  > Implement copyin32(9) for mips64.
  > OK kettenis@ (visa@)

  ~ lock_machdep.c                        

  > Replace __cpu_cas() with atomic_cas_ulong().
  > OK kettenis@ (visa@)

arch/powerpc/powerpc

  ~ pmap.c                                

  > Implement copyin32(9).
  > ok mpi@, visa@ (kettenis@)

arch/sh/include

  ~ mutex.h                               

  > Fix kernel build on armv7 and sh.
  > Pointed out by deraadt@ (visa@)

arch/sh/sh

  ~ mutex.c                               

  > Fix kernel build on armv7 and sh.
  > Pointed out by deraadt@ (visa@)

arch/sparc64/sparc64

  ~ locore.s                              

  > Implement copyin32(9).
  > ok mpi@, visa@ (kettenis@)

conf

  ~ files                                 

  > Hook up FQ-CoDel to the tree and enable configuration in the pfctl(8)
  > OK sthen, visa (mikeb@)

crypto

  ~ aes.h                                 ~ xform.c

  > Revert MI AES-XTS code back to T-tables amid poor performance
  > Suffered by many, the revert tested by stsp@. (mikeb@)

dev

  ~ audio.c                               

  > Remove references to /dev/soundN, which was removed last year.
  > From Jan Stary <hans at stare.cz>, thanks. (ratchov@)

dev/fdt

  ~ rkclock.c                             ~ rkclock_clocks.h

  > Add some SD/MMC controller-related clocks. (kettenis@)

  ~ rkclock.c                             ~ rkclock_clocks.h

  > More SD/MMC controller-related clocks. (kettenis@)

  ~ files.fdt                             + dwmmc.c

  > Add dwmmc(4), a driver for the Synopsis Designware SD/MMC controller as
  > found
  > on various Rockchip SoCs.
  > This is still WIP.  Next steps will be to get rid of various busy-wait
  > loops
  > and add DMA support. (kettenis@)

  ~ if_dwge_fdt.c                         

  > Rockchip SoCs needs some additional register twiddling when the link speed
  > changes to set the appropriate clock.  Add a sc_statchg callback in the
  > core softc that gets called when the link status changes. (kettenis@)

  ~ dwmmc.c                               

  > Actually wait on auto command done (ACD) as was the intention. (kettenis@)

  ~ dwmmc.c                               

  > Add support for the SD/MMC controller found on Samsuung Exynos5.
  > (kettenis@)

dev/ic

  ~ athn.c                                

  > Fix a uvm fault in athn_clock_rate():
  > Don't deref an IEEE80211_CHAN_ANYC channel pointer.
  > ok mpi@ (stsp@)

  ~ r92creg.h                             

  > Fix R92C_USTIME_TSF register definition.
  > According to Kevin Lo it was wrong (and is also wrong in the Linux driver).
  > FreeBSD made the same change in r282623.
  > Patch by Kevin Lo. (stsp@)

  ~ ar9003.c                              ~ ar9003reg.h
  ~ athnreg.h                             

  > Make monitor work with athn(4) on my 3T3R AR9380 device.
  > This card can now receive packets. Transmit is still broken and
  > Kevin Lo reports that his 2T2R AR9380 device cannot receive yet. (stsp@)

  ~ r92creg.h                             ~ rtwn.c

  > Repair rtwn(4) IQ calibration.
  > Restore behaviour from before the fix of the botched R92C_USTIME_TSF
  > register
  > definition. IQ cal code was referring to this register by name, but
  > actually
  > needs to use the old value. So add a register definition for the old value
  > under a new name (R92C_BCN_CTRL1) and use this name in the IQ cal code.
  > Discussed with Kevin Lo (stsp@)

  ~ dwc_gmac.c                            ~ dwc_gmac_var.h

  > Rockchip SoCs needs some additional register twiddling when the link speed
  > changes to set the appropriate clock.  Add a sc_statchg callback in the
  > core softc that gets called when the link status changes. (kettenis@)

dev/pci

  ~ pcidevs                               

  > add some devices from submitted dmesgs (jsg@)

  ~ pcidevs.h                             ~ pcidevs_data.h

  > regen (jsg@)

  ~ if_rtwn.c                             

  > Make rtwn(4) support fixed transmit rates set with ifconfig(8).
  > Useful for development and testing but not recommended for regular usage.
  > (stsp@)

  ~ if_rtwn.c                             

  > Make rtwn(4) add frames which failed to transmit to AMRR's transmit
  > counter.
  > More closely matches what other drivers are doing. (stsp@)

  ~ drm/radeon/radeon_bios.c              

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

dev/pv

  ~ vioscsi.c                             

  > Align vioscsi's bus_dma* dancing with vioblk. Eliminates
  > creating/destroying maps on each i/o.
  > ok sf@, "makes sense" dlg@ as part of larger diff. (krw@)

  ~ vioscsi.c                             

  > vioscsi: Fix allocation of segments
  > Port the logic to calculate the number of segments in virtqueue and
  > dmamaps from vioblk.
  > This fixes the virtqueue indirect descriptors being two entries too
  > small the dmamaps being much larger than necessary.
  > If the device does not support the required number of segments, refuse
  > to use it. (sf@)

dev/rasops

  ~ rasops.c                              

  > when allocating a new screen, only copy the current buffer contents
  > to it for visible screens (i.e., the console).  initialize other
  > virtual screens with just blank character cells.
  > ok mpi (jcs@)

dev/usb

  ~ ehci.c                                ~ ohci.c
  ~ uhci.c                                ~ usbdi.c
  ~ usbdi.h                               ~ dwc2/dwc2.c

  > Replace remaining SPLUSBCHECK by a splsoftassert(IPL_SOFTUSB).
  > USB is the last real user of IPL_SOFTNET. (mpi@)

  ~ usbdi.h                               

  > Use splraise() rather than splsoftnet() which is going away. (mpi@)

  ~ if_umb.c                              

  > Grab the netlock in umb_state_task() and umb_decode_ip_configuration()
  > when calling in_ioctl().  These ioctls modify the routing table,
  > which is global.  So they need the lock.
  > Found with Zaur Molotnikov's static lock analyzer.
  > OK gerhard@ mpi@ (bluhm@)

  ~ uslcom.c                              

  > Accept baud rates up to 2 Mbps as these are supported by CP2104 and later
  > variants.
  > ok jsg@, deraadt@ (kettenis@)

kern

  ~ uipc_socket.c                         ~ uipc_socket2.c

  > Enable the NET_LOCK(), take 3.
  > Recursions are still marked as XXXSMP.
  > ok deraadt@, bluhm@ (mpi@)

  ~ uipc_socket.c                         

  > so_splicelen needs to be protected by the socket lock.  We are now
  > safe since we're always holding the KERNEL_LOCK() but we want to move
  > away from that.
  > Suggested by and ok bluhm@ (mpi@)

  ~ kern_synch.c                          

  > Do not panic if we find ourself on the sleep queue while being SONPROC.
  > If the rwlock passed to rwsleep(9) is contented, the CPU will call wakeup()
  > between sleep_setup() and sleep_finish().  At this moment curproc is on the
  > sleep queue but marked as SONPROC.  Avoid panicing in this case.
  > Problem reported by sthen@
  > ok kettenis@, visa@ (mpi@)

  ~ exec_subr.c                           

  > Add a gap of 1MB between the stack and mmap spaces.
  > ok deraadt@, millert@, stefan@ (kettenis@)

  ~ exec_subr.c                           

  TAGGED OPENBSD_6_1
  > MFC: Add a gap of 1MB between the stack and mmap spaces. (tj@)

  ~ exec_subr.c                           

  TAGGED OPENBSD_6_0
  > MFC: Add a gap of 1MB between the stack and mmap spaces. (tj@)

  ~ kern_pledge.c                         

  TAGGED OPENBSD_6_0
  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

lib/libkern

  + arch/mips64/sync.S                    

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

net

  ~ pf_ioctl.c                            ~ pfvar.h

  > Hook up FQ-CoDel to the tree and enable configuration in the pfctl(8)
  > OK sthen, visa (mikeb@)

  ~ fq_codel.c                            

  > clang warns on unused static const variables.  Remove one such unused
  > variable so the kernel will build on arm64 again. (jsg@)

  ~ if.c                                  ~ if_pflow.c
  ~ pf.c                                  ~ pf_ioctl.c
  ~ pf_norm.c                             ~ pfvar.h

  > Enable the NET_LOCK(), take 3.
  > Recursions are still marked as XXXSMP.
  > ok deraadt@, bluhm@ (mpi@)

  ~ if_bridge.c                           

  > bridge_ioctl() doesn't need to call splnet().
  > All interface ioctl()s are executed with the NET_LOCK() held, which
  > protects all soft states of the network stack.  IPL_NET is only needed
  > in drivers dealing with hardware and by extension the wireless stack.
  > (mpi@)

  ~ if_mpw.c                              

  > if_input() doesn't need splnet().
  > ok rzalamena@ (mpi@)

  ~ if_gre.c                              

  > Protect the gloal list of gre(4) interfaces by the NET_LOCK().
  > ok bluhm@ (mpi@)

  ~ if_gre.c                              

  > Remove unused variable mobileip_softc_list.
  > OK mpi@ (bluhm@)

  ~ if_pflog.c                            

  > Kill unused global list and protect global array by the NET_LOCK().
  > ok bluhm@ (mpi@)

  ~ if_pflog.h                            

  > Remove list member now that the global list is gone. (mpi@)

  ~ bfd.c                                 ~ bridgestp.c
  ~ if.c                                  ~ if_bridge.c
  ~ if_pfsync.c                           ~ if_ppp.c
  ~ if_pppoe.c                            ~ pf.c
  ~ pf_if.c                               ~ pfkey.c
  ~ pfkeyv2.c                             ~ route.c

  > Replace remaining splsoftassert(IPL_SOFTNET) by NET_ASSERT_LOCKED().
  > ok visa@ (mpi@)

  ~ pf.c                                  

  > - percpu anchor stacks
  > we actually don't need to pre-allocate per_anchor_stack[], if we use
  > a 'natural' recursion, when doing anchor tree traversal.
  > O.K. mikeb@, mpi@ (sashan@)

  ~ if_gif.c                              

  > Protect the global list of interfaces with the NET_LOCK().
  > ok bluhm@ (mpi@)

  ~ if_gif.c                              

  > The function name ip4_input() is confusing as it also handles IPv6
  > packets.  This is the IP in IP protocol input function, so call it
  > ipip_input().  Rename the existing ipip_input() to ipip_input_gif()
  > as it is the input function used by the gif interface.  Pass the
  > address family to make it consistent with pr_input.  Use __func__
  > in debug print and panic messages.  Move all ipip prototypes to the
  > ip_ipip.h header file.
  > OK dhill@ mpi@ (bluhm@)

  ~ pf.c                                  

  > Change PF behavior to allow MLD Listener Report packets to be sent
  > without needing a previously created state by MLD Listener Query. It
  > wasn't working because: (1) you might not have a previous MLD Listener
  > Query and (2) the addresses of the Query and Report don't match.
  > ok mikeb@, sashan@ (rzalamena@)

  ~ pf.c                                  

  > - fixes regression found by pf_forward test
  > O.K. bluhm@ (sashan@)

  ~ route.h                               

  > Fix copy/paste in comment. (jca@)

netinet

  ~ ip_mroute.c                           

  > Call rtfree() after each use of routes and make sure the route is valid
  > when finding one. Since rtfree() is being called and rt_llinfo being
  > removed, add checks everywhere to make sure we are using a route that is
  > not being removed.
  > ok bluhm@ (rzalamena@)

  ~ ip_mroute.c                           

  > Let malloc() block when the caller of the add route function is
  > setsockopt(), otherwise use non-blocking malloc() for network stack
  > calls.
  > ok bluhm@ (rzalamena@)

  ~ igmp.c                                ~ in.c
  ~ ip_input.c                            ~ ip_ipsp.c
  ~ ip_mroute.c                           ~ ipsec_input.c
  ~ ipsec_output.c                        ~ tcp_timer.c
  ~ tcp_usrreq.c                          

  > Replace remaining splsoftassert(IPL_SOFTNET) by NET_ASSERT_LOCKED().
  > ok visa@ (mpi@)

  ~ ip_mroute.c                           

  > Make return values more meaningful by using errno instead of -1 or 1.
  > ok bluhm@ (rzalamena@)

  ~ ip_mroute.c                           

  > Sync three changes that were caught by IPv6 multicast routing review:
  > * use a variable to allow disabling debugs on run-time
  > * fix a potential memory leak on copyout() failure
  > * don't just blindly use the first address provided by ifalist
  > ok bluhm@ (rzalamena@)

  ~ in_proto.c                            

  > The large and nested GIF #ifdef in protosw made it hard to figure
  > out what is going on.  There were also some inconsistencies that
  > seem to be oversights.  Use more specific the #ifdefs.
  > OK mpi@ (bluhm@)

  ~ in_proto.c                            ~ ip_ipip.c
  ~ ip_ipip.h                             ~ ip_ipsp.c
  ~ ip_ipsp.h                             ~ ipsec_output.c

  > The function name ip4_input() is confusing as it also handles IPv6
  > packets.  This is the IP in IP protocol input function, so call it
  > ipip_input().  Rename the existing ipip_input() to ipip_input_gif()
  > as it is the input function used by the gif interface.  Pass the
  > address family to make it consistent with pr_input.  Use __func__
  > in debug print and panic messages.  Move all ipip prototypes to the
  > ip_ipip.h header file.
  > OK dhill@ mpi@ (bluhm@)

  - tcpip.h                               ~ tcp_debug.c
  ~ tcp_debug.h                           ~ tcp_input.c
  ~ tcp_output.c                          ~ tcp_subr.c
  ~ tcp_usrreq.c                          

  > Merge the content of <netinet/tcpip.h> and <netinet6/tcpipv6.h> in
  > <netinet/tcp_debug.h>.
  > The IPv6 variant was always included and the IPv4 version is not
  > present on all systems.
  > Most of the offending ports are already fixed, thanks to sthen@! (mpi@)

netinet6

  ~ ip6_mroute.c                          ~ ip6_mroute.h

  > Make the IPv6 multicast routing code use the OpenBSD routing table
  > instead of implementing its own. This makes the IPv6 multicast routing
  > code look more like the IPv4 version.
  > ok bluhm@, mpi@ (rzalamena@)

  ~ frag6.c                               ~ in6.c
  ~ in6_ifattach.c                        ~ ip6_mroute.c
  ~ mld6.c                                ~ nd6.c
  ~ nd6_nbr.c                             ~ nd6_rtr.c

  > Replace remaining splsoftassert(IPL_SOFTNET) by NET_ASSERT_LOCKED().
  > ok visa@ (mpi@)

  ~ ip6_mroute.c                          

  > Optimize multicast packet sending by using m_dup_pkt() instead of
  > m_copym() for cloning packets. m_dup_pkt() creates a new mbuf with the
  > whole packet content and also pre allocates the space for layer 2
  > headers (Ethernet/VLAN).
  > ok mikeb@ (rzalamena@)

  ~ in6_proto.c                           

  > The large and nested GIF #ifdef in protosw made it hard to figure
  > out what is going on.  There were also some inconsistencies that
  > seem to be oversights.  Use more specific the #ifdefs.
  > OK mpi@ (bluhm@)

  ~ in6_proto.c                           

  > The function name ip4_input() is confusing as it also handles IPv6
  > packets.  This is the IP in IP protocol input function, so call it
  > ipip_input().  Rename the existing ipip_input() to ipip_input_gif()
  > as it is the input function used by the gif interface.  Pass the
  > address family to make it consistent with pr_input.  Use __func__
  > in debug print and panic messages.  Move all ipip prototypes to the
  > ip_ipip.h header file.
  > OK dhill@ mpi@ (bluhm@)

  - tcpipv6.h                             

  > Merge the content of <netinet/tcpip.h> and <netinet6/tcpipv6.h> in
  > <netinet/tcp_debug.h>.
  > The IPv6 variant was always included and the IPv4 version is not
  > present on all systems.
  > Most of the offending ports are already fixed, thanks to sthen@! (mpi@)

nfs

  ~ nfs_socket.c                          ~ nfs_syscalls.c
  ~ nfs_vfsops.c                          

  > Remove useless splsoftnet().
  > Outside of USB, no code is executed in a softnet interrupt context.  So
  > what's protecting NFS data structures is the KERNEL_LOCK().
  > But more importantly, since r1.114 of nfs_socket.c, the 'softnet' thread
  > is no longer executing NFS code.
  > ok visa@ (mpi@)

scsi

  ~ scsiconf.h                            

  > Add some comments about the assumptions of the scsi mid layer
  > ok krw@ (sf@)

sys

  ~ systm.h                               

  > Enable the NET_LOCK(), take 3.
  > Recursions are still marked as XXXSMP.
  > ok deraadt@, bluhm@ (mpi@)

  ~ mutex.h                               

  > use _mtx_init instead of __mtx_init inside mtx_init on !WITNESS kernels
  > _mtx_init uses __MUTEX_IPL to wrap the ipl argument to __mtx_init.
  > without this, mutexes were initted below the mp floor, which allowed
  > deadlocks with the kernel lock to occur.
  > reported by hrvoje popovski and pinpointed by mikeb@
  > tweaks from phessler@
  > ok mpi@ visa@ (dlg@)

  ~ mbuf.h                                

  > Using __aligned(8) to tag 'struct m_hdr' triggers warnings on landisk:
  > /usr/src/sys/dev/ic/re.c:1602: warning: ignoring alignment for stack
  > allocated 'mh'
  > So instead add explicit padding on ILP32 systems.
  > ok deraadt@, mikeb@ (kettenis@)

  ~ systm.h                               

  > Add copyin32(9) prototype. (kettenis@)

uvm

  ~ uvm_vnode.c                           

  > Enable the NET_LOCK(), take 3.
  > Recursions are still marked as XXXSMP.
  > ok deraadt@, bluhm@ (mpi@)

  ~ uvm_map.c                             

  > Raise "uvm_map_entry_kmem_pool" IPL level to IPL_VM to prevent a deadlock.
  > A deadlock can occur when the uvm_km_thread(), running without
  > KERNEL_LOCK()
  > is interrupted by and non-MPSAFE handler while holding the pool's mutex. 
  > At
  > that moment if another CPU is holding the KERNEL_LOCK() and wants to grab
  > the
  > pool mutex, like in sys_kbind(), kaboom!
  > This is a temporaty solution, a more generate approach regarding mutexes
  > and
  > un-KERNEL_LOCK()ed threads is beeing discussed.
  > Deadlock reported by sthen@, ok kettenis@ (mpi@)

  ~ uvm_device.c                          

  > Enable radeondrm(4) on loongson to get accelerated graphics
  > with the RS780E chipset.
  > OK kettenis@, jsg@ (visa@)

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

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

mandoc

  ~ html.c                                

  > Tweak previous: tb@ noticed that some browser/font combinations
  > have so amazingly wide bold fonts (for the same nominal font size)
  > that adding 15% to the column width still isn't sufficient to make
  > text reliably fit, so go for 20%. (schwarze@)

  ~ mdoc_validate.c                       

  > warn about punctuation between .Xr and .Rs in SEE ALSO;
  > inspired by mdoclint (schwarze@)

  ~ main.c                                ~ mandoc.1
  ~ mandoc.h                              ~ read.c

  > Introduce a new mandoc(1) message level, -W style, below -W warning.
  > Switch -W all from meaning -W warning to meaning -W style.
  > The meaning of -T lint does *not* change, it still implies -W warning.
  > No messages on the new level yet, but they will come.
  > Usually, i do not lightly make the user interface larger.
  > But this has been planned for years, and EXIT STATUS 1
  > was reserved for it all the time.  The message system
  > is now stable enough to finally implement it.
  > jmc@ regarding the concept: "really good idea" (schwarze@)

  ~ mandoc.1                              

  > missing space between macro arg and punctuation; (jmc@)

  ~ mdoc_html.c                           

  > Delete pointless width calculation for SYNOPSIS .Nm block heads.
  > Just let HTML <table> do its work of selecting the needed width.
  > <Anton dot Lindqvist at gmail dot com> reported that the manually
  > calculated width was insufficient in some manual pages. (schwarze@)

  ~ mansearch.c                           

  > Do not warn if a database file does not exist
  > because that is simply equivalent to an empty database.
  > Suggested by ajacoutot@ (schwarze@)

  ~ makewhatis.8                          ~ mandocdb.c

  > Never create empty databases.
  > When pkg_add(1)ing packages installing manual pages into some directory,
  > the database in that directory automatically gets created or updated,
  > no change so far.  This patch causes the database file to be
  > automatically unlinked when pkg_delete(1)ing the last package having
  > manual pages in that directory, to leave less cruft behind.
  > Suggested by ajacoutot@. (schwarze@)

  ~ mandoc.1                              

  > Modernize an example showing antiquated syntax,
  > and delete an example showing the arcane -W stop option. (schwarze@)

  ~ man.1                                 

  > Fix documentation bug:
  > man(1) does not ignore manpath directories lacking mandoc.db(5) files;
  > instead, it uses filename lookup to find manuals in such directories.
  > (schwarze@)

  ~ main.c                                ~ mandoc.1

  > Delete the -T xhtml command line option.
  > It has been obsolete for more than two years.
  > Use -T html. (schwarze@)

netstat

  ~ inet.c                                

  > When printing a tcpcb with -P and -v, also show the inp in netstat
  > output.
  > OK mpi@ (bluhm@)

openssl

  ~ openssl.1                             

  > typo: ket -> key.
  > from "fenderq" on freenode via tj (tb@)

ssh

  ~ PROTOCOL.certkeys                     

  > mention that Ed25519 keys are valid as CA keys; spotted by
  > Jakub Jelen (djm@)

  ~ kexgexc.c                             

  > remove duplicate check; spotted by Jakub Jelen (djm@)

  ~ auth.c                                ~ log.c
  ~ log.h                                 ~ monitor_wrap.c
  ~ servconf.c                            ~ sshd_config.5

  > allow LogLevel in sshd_config Match blocks; ok dtucker bz#2717 (djm@)

  ~ PROTOCOL.agent                        

  > Now that we no longer support SSHv1, replace the contents of this file
  > with a pointer to https://tools.ietf.org/html/draft-miller-ssh-agent-00
  > It's better edited, doesn't need to document stuff we no longer implement
  > and does document stuff that we do implement (RSA SHA256/512 signature
  > flags) (djm@)

  ~ readconf.c                            

  > there's no reason to artificially limit the key path here, just check
  > that it fits PATH_MAX; spotted by Matthew Patton (djm@)

systat

  ~ pftop.c                               

  > Improve the precision of displayed bandwidth values
  > Carl Mascott has reported the issue and helped with the fix.  OK tb
  > (mikeb@)

tmux

  ~ tmux.1                                ~ tmux.h
  ~ tty.c                                 

  > The Konsole SU bug means it can't clear the entire scroll region (it
  > ignores if >= size, not if > as I first thought). So we can't
  > effectively fix it in code - remove the workarounds which just cause
  > bugs on other terminals. (nicm@)

  ~ layout-set.c                          

  > Notify layout changed when choosing predefined layouts, from Joshua Brot.
  > (nicm@)

  ~ tmux.h                                ~ tty-acs.c
  ~ tty-term.c                            ~ tty.c

  > Check the terminfo(5) U8 capability and disable using UTF-8 for ACS if
  > it is present and zero. This is useful for users with terminals or fonts
  > that do not correctly support UTF-8 line drawing characters. GitHub
  > issue 927, reported by Hiroaki Yamazoe and Akinori Hattori. (nicm@)

  ~ grid.c                                ~ server-client.c

  > Line length and spaces to tabs. (nicm@)

  ~ cmd-command-prompt.c                  ~ cmd-confirm-before.c
  ~ status.c                              ~ tmux.h

  > Tidy command prompt callbacks and pass in the client. (nicm@)

tsort

  ~ tsort.c                               

  > reorg node struct so it's packed tighter (found by clang actually)
  > mark usage __dead
  > okay millert@ (espie@)

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

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

httpd

  ~ server_http.c                         

  > Avoid a crash servicing requests when a server is configured with
  > "block return 401".  Problem reported by Jurjen Oskam.
  > ok florian@ (jsg@)

ikectl

  ~ ikeca.c                               

  > A few more freezero() uses
  > ok yasuoka mikeb (deraadt@)

pcidump

  ~ pcidump.c                             

  > When an array of PCIe extended cability strings was added it missed
  > some offsets, leading to the wrong strings being used in some cases.
  > Add the missing strings.
  > ok mpi@ deraadt@ millert@ (jsg@)

pkg_add

  ~ OpenBSD/PackingElement.pm             

  > Properly register manual pages in non-English language directories.
  > Before this, pkg_add(1) neglected running makewhatis(8) in directories
  > like /usr/local/man/ru/.
  > OK espie@ (schwarze@)

  ~ OpenBSD/PackageLocator.pm             ~ OpenBSD/PackageRepository.pm

  > introduce new url "installpath" to mean "the contents of installurl"
  > use it to simplify logic.
  > have ./ always be silent, wherever it may come from.
  > zap NOINSTALLPATH since it's more intuitive to just define PKG_PATH=
  > (nothing) now. (espie@)

  ~ pkg_add.1                             

  > document installpath, explain PKG_PATH defaults in terms of it. (espie@)

radiusd

  ~ radiusd.c                             

  > A few more freezero() uses
  > ok yasuoka mikeb (deraadt@)

sasyncd

  ~ monitor.c                             

  > A few more freezero() uses
  > ok yasuoka mikeb (deraadt@)

smtpd

  ~ ca.c                                  ~ config.c
  ~ ioev.c                                ~ lka.c
  ~ mta_session.c                         ~ smtp_session.c
  ~ ssl.c                                 

  > Introduce more use of freezero().  Also, remove ptr conditionals before
  > many functions which are free(NULL)-compat
  > ok gilles (deraadt@)

  ~ smtpctl.c                             

  > - switch to recallocarray
  > - remove pre-allocation
  > - use a better growth pattern
  > ok gilles@ deraadt@ (eric@)

syspatch

  ~ syspatch.sh                           

  > Tweak remote fs check. (ajacoutot@)

  ~ syspatch.sh                           

  > Don't pass `-m' to ftp(1). Instead let isatty() decide whether we display
  > the
  > progress bar or not for better cron(1)/logger(1) output.
  > req. by henning@ (ajacoutot@)

trpt

  ~ trpt.c                                

  > Merge the content of <netinet/tcpip.h> and <netinet6/tcpipv6.h> in
  > <netinet/tcp_debug.h>.
  > The IPv6 variant was always included and the IPv4 version is not
  > present on all systems.
  > Most of the offending ports are already fixed, thanks to sthen@! (mpi@)

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

Reply via email to