OpenBSD src changes summary for 2016-08-07 to 2016-08-14 inclusive ==================================================================
Makefile.cross bin/csh bin/dd bin/df bin/ksh bin/ln bin/ls bin/pax distrib distrib/armish distrib/notes distrib/sets distrib/special etc/Makefile etc/csh.cshrc etc/csh.login etc/csh.logout etc/etc.armish/MAKEDEV etc/etc.armish/MAKEDEV.md etc/etc.armish/Makefile etc/etc.armish/Makefile.inc etc/etc.armish/disktab etc/etc.armish/fbtab etc/etc.armish/login.conf etc/etc.armish/sysctl.conf etc/etc.armish/ttys etc/moduli etc/mtree/4.4BSD.dist etc/mtree/special games/factor gnu/usr.bin/binutils-2.17 lib/csu lib/libarch lib/libc lib/libcrypto lib/libtls lib/libutil libexec/ftpd libexec/ld.so regress/etc regress/lib regress/sys regress/usr.bin sbin/disklabel sbin/fsirand sbin/sysctl share/man sys sys/arch sys/arch/arm/arm sys/arch/arm/armv7 sys/arch/arm/conf sys/arch/arm/cortex sys/arch/arm/include sys/arch/arm/xscale sys/arch/armish/armish sys/arch/armish/conf sys/arch/armish/dev sys/arch/armish/include sys/arch/armish/stand sys/arch/armish/stand/boot sys/arch/armv7/armv7 sys/arch/armv7/broadcom sys/arch/armv7/conf sys/arch/armv7/imx sys/arch/armv7/omap sys/arch/armv7/sunxi sys/arch/mips64/include sys/arch/mips64/mips64 sys/arch/octeon/dev sys/arch/octeon/octeon sys/arch/zaurus/zaurus sys/conf sys/dev sys/dev/ic sys/dev/microcode sys/dev/ofw sys/dev/pci sys/dev/pv sys/dev/usb sys/isofs/cd9660 sys/isofs/udf sys/kern sys/miscfs/fuse sys/msdosfs sys/net sys/netinet6 sys/nfs sys/ntfs sys/sys sys/ufs/ext2fs sys/ufs/ffs sys/ufs/ufs sys/uvm usr.bin/cmp usr.bin/ftp usr.bin/jot usr.bin/mandoc usr.bin/nc usr.bin/netstat usr.bin/openssl usr.bin/pkg-config usr.bin/ssh usr.bin/vi usr.bin/vmstat usr.sbin/bgpd usr.sbin/eigrpd usr.sbin/hotplugd usr.sbin/installboot usr.sbin/ldpd usr.sbin/memconfig usr.sbin/mtree usr.sbin/pcidump usr.sbin/pkg_add usr.sbin/pstat usr.sbin/pwd_mkdb usr.sbin/relayd usr.sbin/rmt usr.sbin/route6d usr.sbin/sa usr.sbin/switchd usr.sbin/user usr.sbin/vipw == Makefile.cross ==================================================== 01/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/Makefile.cross Makefile.cross > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) == bin =============================================================== 02/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin csh ~ misc.c > Don't call sysconf() in a loop conditional when the loop won't affect it > ok natano@ tedu@ (guenther@) ~ func.c > Don't reinvent rlim_t; when printing it use %llu and cast to > unsigned long long > ok natano@ tedu@ (guenther@) dd ~ args.c > replace strtoq with strtoll. ok openbsd (tedu@) ~ misc.c > %qd -> %lld for an off_t already being cast to (long long)! (krw@) df ~ df.1 > fix HISTORY; from Sevan Janiyan <venture37 at geeklan dot co dot uk>; > checked with http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/man/man1 > (schwarze@) ~ df.c > Another %qd -> %lld + (long long) for off_t's. (krw@) ksh ~ emacs.c > In emacs incremental search mode (^R), > make commands starting with the escape key (^[) work as documented. > Long-standing bug, this time reported by Dave minus Cohen dot com. > OK natano@ halex@ (schwarze@) ~ sh.1 > rework initial text a little, to read better; (jmc@) ln ~ ln.1 > fix HISTORY; from Sevan Janiyan <venture37 at geeklan dot co dot uk>; > checked with http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/man/man1 > (schwarze@) ls ~ ls.1 > fix HISTORY; from Sevan Janiyan <venture37 at geeklan dot co dot uk>; > checked with http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/man/man1 > (schwarze@) pax ~ cpio.c ~ extern.h ~ gen_subs.c ~ options.c ~ tar.c > Replace u_quad_t with unsigned long long and replace "uqd" with "ull" in > function names to match. Pull some tangled assignments out of conditions > and use >>= where possible. > ok millert@ (guenther@) ~ ar_io.c ~ buf_subs.c ~ cpio.c ~ file_subs.c ~ tables.c ~ tar.c > Remove many unnecessary casts. Verified by comparing generated code on > both ILP32 and LP64. > ok millert@ (guenther@) == distrib =========================================================== 03/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib distrib ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) armish - Makefile - ramdisk/Makefile - ramdisk/Makefile.inc - ramdisk/install.md - ramdisk/list > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) notes - armish/contents - armish/features - armish/hardware - armish/install - armish/prep - armish/upgrade - armish/whatis - armish/xfer ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) sets ~ lists/etc/mi > sync (deraadt@) - lists/base/md.armish - lists/comp/md.armish - lists/etc/md.armish - lists/game/md.armish - lists/man/md.armish ~ lists/comp/mi ~ lists/man/mi > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) ~ lists/base/mi > sync (deraadt@) ~ lists/base/md.alpha ~ lists/base/md.amd64 ~ lists/base/md.armv7 ~ lists/base/md.hppa ~ lists/base/md.i386 ~ lists/base/md.landisk ~ lists/base/md.loongson ~ lists/base/md.luna88k ~ lists/base/md.macppc ~ lists/base/md.octeon ~ lists/base/md.sgi ~ lists/base/md.socppc ~ lists/base/md.sparc ~ lists/base/md.sparc64 ~ lists/base/md.zaurus ~ lists/comp/mi > sync (deraadt@) ~ lists/base/md.alpha ~ lists/base/md.amd64 ~ lists/base/md.armv7 ~ lists/base/md.hppa ~ lists/base/md.i386 ~ lists/base/md.landisk ~ lists/base/md.loongson ~ lists/base/md.luna88k ~ lists/base/md.macppc ~ lists/base/md.octeon ~ lists/base/md.sgi ~ lists/base/md.socppc ~ lists/base/md.sparc ~ lists/base/md.sparc64 ~ lists/base/md.zaurus ~ lists/comp/mi ~ lists/man/mi > sync (deraadt@) special ~ disklabel/Makefile ~ installboot/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) == etc =============================================================== 04/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc Makefile ~ Makefile > remove pointless csh placeholder files from /etc > ok jung@ (some time ago) phessler@ (halex@) ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) csh.cshrc - csh.cshrc > remove pointless csh placeholder files from /etc > ok jung@ (some time ago) phessler@ (halex@) csh.login - csh.login > remove pointless csh placeholder files from /etc > ok jung@ (some time ago) phessler@ (halex@) csh.logout - csh.logout > remove pointless csh placeholder files from /etc > ok jung@ (some time ago) phessler@ (halex@) etc.armish/MAKEDEV - etc.armish/MAKEDEV > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/MAKEDEV.md - etc.armish/MAKEDEV.md > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/Makefile - etc.armish/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/Makefile.inc - etc.armish/Makefile.inc > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/disktab - etc.armish/disktab > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/fbtab - etc.armish/fbtab > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/login.conf - etc.armish/login.conf > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/sysctl.conf - etc.armish/sysctl.conf > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) etc.armish/ttys - etc.armish/ttys > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) moduli ~ moduli > Update moduli file. (dtucker@) mtree/4.4BSD.dist ~ mtree/4.4BSD.dist > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) mtree/special ~ mtree/special > remove pointless csh placeholder files from /etc > ok jung@ (some time ago) phessler@ (halex@) == games ============================================================= 05/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/games factor ~ factor.c > Convert remaining calls to strtoq/strtouq in base with strtoll/strtoull. > Fix a type mismatch in ftp's "page" command and could make transfers > restart > at the wrong position. > ok and a ull->ll tweak from natano@, ok tedu@ (guenther@) == gnu =============================================================== 06/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu usr.bin/binutils-2.17 ~ ld/ldlang.c > If an output section is skipped because of a constraint, then skip it > when generating the link map output (-M) too > ok kettenis@ (guenther@) ~ ld/genscripts.sh ~ ld/emultempl/elf32.em > Since we have kbind(2), we don't need -znow to use -zrelro > ok kettenis@ (guenther@) ~ ld/ldmain.c ~ ld/emulparams/armelf_obsd.sh ~ ld/emulparams/elf32ppc_obsd.sh ~ ld/emulparams/elf64btsmip_obsd.sh ~ ld/emulparams/elf64ltsmip_obsd.sh ~ ld/emulparams/hppaobsd.sh ~ ld/emulparams/shelf_obsd.sh ~ ld/scripttempl/elf.sc > Cover your kid's remaining eye and lock up the pets for the great old ones > have been disturbed: rework the linker script and then enable RELRO support > on all but mips64 (something something padding) and m88k (untested). > This extends the RO coverage from just .got and .cdtors to also include > .openbsd.randomdata, .jcr, .dynamic, and .data.rel.ro., and moves more > segments from the text section to the rodata section. Depends on the > previous csu and ld.so work; reinstall those *before* rebuilding ld, or > just get a snapshot. > clues from kettenis > assistance testing and ok deraadt@ (guenther@) ~ bfd/elf.c ~ binutils/readelf.c ~ include/elf/common.h ~ ld/ldgram.y > Teach readelf and objdump about the PT_OPENBSD_BOOTDATA section value. > Teach ld to access that and PT_GNU_RELRO in linker scripts. > ok deraadt@ (guenther@) ~ ld/ldmain.c ~ ld/emulparams/elf64btsmip_obsd.sh ~ ld/emulparams/elf64ltsmip_obsd.sh > auto-dope-slap: mips64 has 16K pages, not 4K. With that fixed, enable > RELRO > Per feedback from kettenis@, Miod, and deraadt@, the padding between > text and rodata will be retained for consistency with other archs, > to minimize reliance on the R4000 EOP bug workaround, and to enable > possible future work. > ok deraadt@ (guenther@) ~ ld/scripttempl/elf.sc > Turning off relro shouldn't insert padding into the middle of the relro > section; remove the PAD_GOT0 use that I should have deleted before. This > caused ld.so crashes on arm when building binutils. > critical debugging observations by kettenis@ (guenther@) == lib =============================================================== 07/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib csu ~ boot.h > Flip the #ifdef logic: amd64, i386, and mips64 were the only static PIE > archs using the #else case (guenther@) ~ boot.h > Psych: amd64 has been passing &_DYNAMIC to _dl_boot_bind() for 19 months > (guenther@) ~ i386/md_init.h ~ boot.h > Teach i386 to pass &_DYNAMIC to _dl_boot_bind() (guenther@) ~ boot.h ~ alpha/md_init.h > alpha already calculates &_DYNAMIC for the _reloc_alpha_got() call, so > save that and pass it to _dl_boot_bind() too (guenther@) ~ mips64/md_init.h ~ boot.h > Teach mips64 to pass &_DYNAMIC to _dl_boot_bind(). > mips64be testing by deraadt@ (guenther@) ~ boot.h > Look for a PT_GNU_RELRO section and, if present, mprotect that range > instead of the [__got_start, __got_end) range. > Also, instead of mprotecting the [__plt_start, __plt_end) range, > just scan for sections which are both writable and executable and > mprotect them to read-only. (This part was stolen from kettenis@) > ok kettenis@ (guenther@) libarch ~ arm/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) libc ~ arch/arm/gen/_setjmp.S ~ arch/arm/gen/setjmp.S > Add XOR cookies for lr and sp. Stop saving/restoring r12 to/from the > jmpbuf. > Switch from calling obsolete sig{block,setmask} to directly using the > sigprocmask syscall. > ok deraadt@ kettenis@ (guenther@) ~ sys/connect.2 > Document that connect goes async when interrupted by signal. (millert@) ~ sys/connect.2 > Expand the asynchronous connect information and move it out of > ERRORS and into a new second paragraph. Adapted from NetBSD. > OK deraadt@ jmc@ (millert@) ~ Symbols.list ~ arch/m88k/Symbols.list > Between relro and previous RWX work, the __{got,plt}_{start,end} symbols > are no longer needed by ld.so. Move them to the m88k-specific list, as > it hasn't made the jump. > ok deraadt@ (guenther@) ~ sys/kqueue.2 > modern interfaces should use modern speelings, so spell quad_t as int64_t. > (tedu@) ~ gen/getpwent.3 ~ gen/getpwnam.3 > Refer to /etc/passwd consistently as the "legacy password file" and > remove some references to differences between versions 6 and 7. > ok jmc, millert, tedu (tb@) - stdlib/qabs.3 - stdlib/qabs.c - stdlib/qdiv.3 - stdlib/qdiv.c ~ hidden/stdlib.h ~ stdlib/Makefile.inc ~ stdlib/div.3 ~ stdlib/imaxdiv.3 ~ stdlib/labs.3 ~ stdlib/ldiv.3 ~ stdlib/llabs.c ~ stdlib/lldiv.3 ~ stdlib/lldiv.c > Reduce qabs() and qdiv() to aliases of llabs() and lldiv(). > Merge the manual pages and call them deprecated there. > ok and manpage tweak jmc@, ok natano@ (guenther@) libcrypto ~ crypto/getentropy_aix.c ~ crypto/getentropy_freebsd.c ~ crypto/getentropy_hpux.c ~ crypto/getentropy_linux.c ~ crypto/getentropy_netbsd.c ~ crypto/getentropy_osx.c ~ crypto/getentropy_solaris.c ~ crypto/getentropy_win.c > Update the link for the getentropy(2) manual to man.openbsd.org/ > ok deraadt@ (tb@) libtls ~ tls.c ~ tls.h ~ tls_config.c ~ tls_conninfo.c ~ tls_init.3 ~ tls_internal.h ~ tls_server.c > Add ALPN support to libtls. > ok beck@ doug@ (jsing@) ~ shlib_version > Bump libtls minor due to symbol additions. (jsing@) ~ tls.c ~ tls_config.c ~ tls_internal.h > Load CA, certificate and key files into memory when the appropriate > tls_config_set_*_file() function is called. This allows us to immediately > propagate useful error messages, play more nicely with privsep/pledge and > have a single code path. Instead of always loading the default CA when > tls_config_new() is called, defer and only load the default CA when > tls_configure() is invoked, if a CA has not already been specified. > ok beck@ bluhm@ (jsing@) ~ tls_config.c > Avoid leaking memory if tls_config_set_alpn() is called multiple times > (this was in the original commit, but got reverted in the recommit). > (jsing@) libutil ~ pw_init.3 ~ pw_lock.3 > Refer to /etc/passwd consistently as the "legacy password file" and > remove some references to differences between versions 6 and 7. > ok jmc, millert, tedu (tb@) == libexec =========================================================== 08/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec ftpd ~ ftpcmd.y ~ ftpd.c > Convert %q to %ll with long long casts for printf() > Delete pointless casts to off_t, void*, and uid_t > ok krw@ (guenther@) ~ logutmp.c > When upcasting to off_t for multiplication, the cast needs to be *before* > the multiplication to avoid truncation/overflow > ok krw@ (guenther@) ld.so ~ boot.c > Flip the #ifdef logic: amd64, arm, i386, and mips64 are the only archs > using the #else case (guenther@) ~ boot.c > hahahah: amd64 has been passing &_DYNAMIC to _dl_boot_bind() for > *149 months* (guenther@) ~ mips64/ldasm.S ~ boot.c > Teach mips64 to pass &_DYNAMIC to _dl_boot_bind() > mips64be testing by deraadt@ (guenther@) ~ boot.c ~ i386/ldasm.S > Teach i386 to pass &_DYNAMIC to _dl_boot_bind() (guenther@) ~ boot.c ~ alpha/ldasm.S > As with csu, alpha passes &_DYNAMIC to _reloc_alpha_got(), so just > save that and pass it to _dl_boot_bind() too (guenther@) ~ library.c ~ library_mquery.c ~ loader.c ~ resolve.c ~ resolve.h > Look for a PT_GNU_RELRO section per object and, if present, mprotect that > range instead of the [__got_start, __got_end) range. > On many archs this will cover _DYNAMIC too, so move up the DT_DEBUG > handling > to before relocations and the mprotect are done. > ok kettenis@ (guenther@) ~ arm/ldasm.S ~ boot.c > Teach arm to pass &_DYNAMIC to _dl_boot_bind(); can optimize later in tree > (guenther@) ~ library.c ~ library_mquery.c ~ loader.c ~ malloc.c ~ util.c ~ util.h > the slimmed down random functions inside ld.so are strict clones of the > libc arc4random API, so call them _dl_{arc4random,arcrandombuf} > ok tedu guenther (deraadt@) ~ boot.c > Passing in &_DYNAMIC appears to have stuck, so eliminate the extra > variable (guenther@) ~ loader.c > Mark the relro/got section as read-only before setting up the environment > to minimize the amount of code run without it RO. (guenther@) ~ arm/Makefile.inc > Drop -z nocombreloc. That's a rev 1.1 commit so not clear why it was > needed > then; perhaps fixed by the bump in binutils? Anyway, builds seem good > without > it and that enables the full relro layout for ld.so. > ok kettenis@ (guenther@) == regress =========================================================== 09/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress etc ~ MAKEDEV/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) lib ~ libpthread/restart/connect/connect.c > When interrupted, connect() should leave the socket connecting in the > background, similar to a non-blocking socket. Return EALREADY whenever > already connecting, not just for non-blocking sockets. Fix from > {Free,Net}BSD > Prompted by a report from Michael Reed (m.reed (at) mykolab.com) > ok millert@ (guenther@) ~ libutil/fmt_scaled/fmt_test.c > Convert quad_t to long long (guenther@) sys ~ arch/sparc64/emul-popc/reg/reg.c > Convert %q to %ll (guenther@) usr.bin ~ mandoc/mdoc/Bl/emptyitem.in ~ mandoc/mdoc/Bl/emptyitem.out_ascii ~ mandoc/mdoc/Bl/emptyitem.out_lint ~ mandoc/mdoc/Bl/notype.in ~ mandoc/mdoc/Bl/notype.out_ascii ~ mandoc/mdoc/Bl/notype.out_lint > regression tests for mdoc_validate.c revisions 1.219 and 1.220 (schwarze@) ~ mdoclint/mdoclint > no more armish; (jmc@) == sbin ============================================================== 10/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin disklabel ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) fsirand ~ fsirand.c > Convert %q to %ll. Cast off_t to long long for printf-style args. > Eliminate pointless casts to void* or off_t > ok krw@ (guenther@) sysctl ~ sysctl.c > Use int64_t and %ll for CTLTYPE_QUAD nodes. > Use memcpy() instead of up-casting from char* to long long* > ok krw@ (guenther@) == share ============================================================= 11/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man4/pci.4 > Xr vmx(4) > "go for it" jmc@ (czarkoff@) - man4/man4.armish/Makefile - man4/man4.armish/autoconf.4 - man4/man4.armish/intro.4 - man4/man4.armish/mem.4 - man8/man8.armish/MAKEDEV.8 - man8/man8.armish/Makefile ~ man4/Makefile ~ man4/com.4 ~ man4/iic.4 ~ man4/pci.4 ~ man8/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) ~ man7/mdoc.7 > no more armish; (jmc@) ~ man4/man4.armv7/omap.4 ~ man4/man4.armv7/omgpio.4 > Dynamically attach omgpio(4) using the FDT. > am335x has a compatible string of "ti,omap4-gpio" and has the same > offsets as omap4, so combine the omap4 and am335x cases when setting up > function pointers. (jsg@) ~ man3/intro.3 > no more libarm; (jmc@) ~ man4/Makefile + man4/dwge.4 > dwge(4) (kettenis@) ~ man4/dwge.4 > use -nosplit for AUTHORS: looks much better, to the point where i wonder > why we don;t just enforce this... (jmc@) ~ man4/man4.armv7/Makefile + man4/man4.armv7/imxtemp.4 > imxtemp(4) (kettenis@) ~ man4/man4.armv7/imxtemp.4 > tweak previous; (jmc@) == sys =============================================================== 12/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys sys ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch - armish/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/arm/arm ~ pmap7.c > ARMv7 data caches are "effectively" PIPT. This means there is in general > no need to clean and/or invalidate cached pages. So remove most of the > cache cleaning and invalidation from the pmap. We still need to > synchronize > the instruction cache with the data cache in various places though. And we > also need to make sure that we clean and invalidate when we make a page > non-cachable. > Tested by Daniel Bolgheroni, mglocker@ and jsg@. on Cortex-A8 and myself on > Cortex-A9. > ok visa@ (kettenis@) ~ pmap7.c > Mapping non-cachable memory as cachable and subsequently changing the > mapping > to non-cachable is retarded. Fix this by introducing PMAP_NOCACHE and > PMAP_DEVICE flags that can be or'ed into the physical address passed to > pmap_kenter(9), like we have on many of our other architectures. This way > we > can also properly distinguish between device memory and normal > (non-cachable) > memory. > ok visa@ (kettenis@) ~ arm32_machdep.c > Move the cpu_setup() call to the end of initarm(). On Cortex-A53 > processors > atomic instructions don't work unless the data cache is enabled. This > happens > in cpu_setup(), but that gets currently called from cpu_startup() which > runs > after a number of kernel subsystems have been initialized. Since some of > these subsystems use locks, which need atomic instructions, we fault on > Cortex-A53. Since at the end of initarm() we're done setting up the pmap > and initializing other low-level sense, calling cpu_setup() here makes much > more sense. > Remove setting up proc0paddr as well from cpu_startup(), since that already > happens in initarm(). > Tested on zaurus by deraadt@. > ok jsg@, patrick@ (kettenis@) ~ pmap7.c > The page tables are cached now, and given the significant speedup, I > don't think we'll ever go back. So let's ditch the code that tries to > check and patch up incorrect memory attributes. > Also realize that pmap_clean_page(pg, FALSE) doesn't do anything > anymore so remove those calls and drop the 2nd argument from > pmap_clean_page(pg, TRUE) calls. > Last but not least, get rid of pmap_pte_init_generic() here. The only > useful thing it did was setting pmap_copy_page_func() and > pmap_zero_page_func(). > This diff should not introduce any change in behaviour. > ok visa@ (kettenis@) ~ cpuswitch7.S > On armv7 we put the vector page up high and never have to bother switching > it. > Remove the code to do so from cpuswitch(). > ok guenther@ (kettenis@) ~ cpufunc.c > Shuffle armv7 access permission bits around to something that is compatible > with setting the Access Flag Enable bit in the System Control Register. > The new settings mean that read-only userland pages are no longer writable > by the kernel, which is a good thing. Set the Access Flag Enable bit. > ok patrick@ (kettenis@) ~ pmap7.c > The ARMv7 ARM says that the TLB may hold translation table entries at any > level of the translation table, including entries that point to further > levels of the tables. This means that we have to do a TLB flush whenever > we invalidate an L1 slot too. Doing so fixes the pmap_fault_fixup > issue on Cortex-A7 processors. (kettenis@) ~ bus_dma.c > Allow a bus_dmamap_sync() of length zero. > ok tedu@ (kettenis@) ~ cpufunc.c > Fix setting the SMP bit in the Auxiliary Control Register. The old code > was > toggling the bit, clearing it when already set. On Cortex-A7 setting the > SMP > bit is essential since without it the CPU doesn't actually use its caches. > The SMP bit supposed to be set before turning on the caches and the MMU, so > move the setting of the Auxiliary Control Register before setting the > System Control Register. > ok jsg@ (kettenis@) ~ cpu.c ~ cpufunc.c > Remove code for Intel 80219/80321 xscale processors used by armish. > Generic xscale support and support for pxa2x0 used by zaurus remains. > (jsg@) arch/arm/armv7 ~ armv7_space.c > Mapping non-cachable memory as cachable and subsequently changing the > mapping > to non-cachable is retarded. Fix this by introducing PMAP_NOCACHE and > PMAP_DEVICE flags that can be or'ed into the physical address passed to > pmap_kenter(9), like we have on many of our other architectures. This way > we > can also properly distinguish between device memory and normal > (non-cachable) > memory. > ok visa@ (kettenis@) arch/arm/conf ~ files.arm > Remove code for Intel 80219/80321 xscale processors used by armish. > Generic xscale support and support for pxa2x0 used by zaurus remains. > (jsg@) arch/arm/cortex ~ agtimer.c ~ files.cortex > Dynamically attach agtimer(4). Since agtimer(4) also provides the delay() > function for platforms that have it, rework the code a bit such that it can > be used before agtimer(4) attaches. Introduce a new agtimer_init() > function that checks whether the CPU implements the Generic Timer feature > and switches to agtimer_delay() if that feature is present. Call this > function from the generic platform initialization code. > ok jsg@ (kettenis@) arch/arm/include ~ setjmp.h > Add XOR cookies for lr and sp. Stop saving/restoring r12 to/from the > jmpbuf. > Switch from calling obsolete sig{block,setmask} to directly using the > sigprocmask syscall. > ok deraadt@ kettenis@ (guenther@) ~ pmap.h > Mapping non-cachable memory as cachable and subsequently changing the > mapping > to non-cachable is retarded. Fix this by introducing PMAP_NOCACHE and > PMAP_DEVICE flags that can be or'ed into the physical address passed to > pmap_kenter(9), like we have on many of our other architectures. This way > we > can also properly distinguish between device memory and normal > (non-cachable) > memory. > ok visa@ (kettenis@) ~ pmap.h ~ pte.h > Shuffle armv7 access permission bits around to something that is compatible > with setting the Access Flag Enable bit in the System Control Register. > The new settings mean that read-only userland pages are no longer writable > by the kernel, which is a good thing. Set the Access Flag Enable bit. > ok patrick@ (kettenis@) ~ pte.h > Add defines for the Access Flag as found on armv7. Fix definition of the > non Global bit Small page desciptions. iConsistently name the S-bit > Sharable in comments. (kettenis@) ~ armreg.h > Fix setting the SMP bit in the Auxiliary Control Register. The old code > was > toggling the bit, clearing it when already set. On Cortex-A7 setting the > SMP > bit is essential since without it the CPU doesn't actually use its caches. > The SMP bit supposed to be set before turning on the caches and the MMU, so > move the setting of the Auxiliary Control Register before setting the > System Control Register. > ok jsg@ (kettenis@) ~ armreg.h ~ cpuconf.h ~ cpufunc.h > Remove code for Intel 80219/80321 xscale processors used by armish. > Generic xscale support and support for pxa2x0 used by zaurus remains. > (jsg@) arch/arm/xscale - files.i80321 - i80321.c - i80321_clock.c - i80321_i2c.c - i80321_intr.c - i80321_mcu.c - i80321_mutex.c - i80321_pci.c - i80321_space.c - i80321reg.h - i80321var.h - iopi2c.c - iopi2creg.h - iopi2cvar.h - xscalereg.h > Remove code for Intel 80219/80321 xscale processors used by armish. > Generic xscale support and support for pxa2x0 used by zaurus remains. > (jsg@) arch/armish/armish ~ armish_machdep.c > Move the cpu_setup() call to the end of initarm(). On Cortex-A53 > processors > atomic instructions don't work unless the data cache is enabled. This > happens > in cpu_setup(), but that gets currently called from cpu_startup() which > runs > after a number of kernel subsystems have been initialized. Since some of > these subsystems use locks, which need atomic instructions, we fault on > Cortex-A53. Since at the end of initarm() we're done setting up the pmap > and initializing other low-level sense, calling cpu_setup() here makes much > more sense. > Remove setting up proc0paddr as well from cpu_startup(), since that already > happens in initarm(). > Tested on zaurus by deraadt@. > ok jsg@, patrick@ (kettenis@) - armish_machdep.c - armish_start.S - autoconf.c - genassym.cf > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/armish/conf - GENERIC - Makefile.armish - RAMDISK - files.armish > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/armish/dev - com_obio.c - i80321_mainbus.c - iq80321_pci.c - iq80321reg.h - iq80321var.h - obio.c - obio_space.c - obiovar.h - pci_addr_fixup.c - pciide_machdep.c > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/armish/include - _float.h - _types.h - apmvar.h - armish_intr.h - asm.h - atomic.h - bootconfig.h - bus.h - cdefs.h - conf.h - cpu.h - db_machdep.h - disklabel.h - endian.h - exec.h - fenv.h - fp.h - frame.h - ieee.h - ieeefp.h - intr.h - limits.h - loadfile_machdep.h - lock.h - mutex.h - param.h - pcb.h - pci_machdep.h - pio.h - pmap.h - proc.h - profile.h - ptrace.h - reg.h - reloc.h - setjmp.h - signal.h - spinlock.h - stdarg.h - sysarch.h - tcb.h - trap.h - vmparam.h > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/armish/stand - Makefile - Makefile.inc > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/armish/stand/boot - Makefile - boot.8 - clock.c - conf.c - dev_armish.c - devopen.c - exec.c - ldscript - libsa.h - machdep.c - ns16550.c - pciide.c - start.S - time.c - wd.c - wdc.c - wdvar.h > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) arch/armv7/armv7 ~ platform.c > Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, > I > just cleaned things up a bit. Any bugs introduced in that process are > entirely mine. > This doesn't work yet. But when it does, you'll need recent firmware from > the Raspberry Pi Foundation git repository at > https://github.com/raspberrypi/firmware > The device tree for the Raspberry Pi is somewhat in flux as bits and pieces > to support the Raspberry Pi 2 and 3 are committed to the mainline Linux > kernel. (kettenis@) ~ armv7_machdep.c > Move the cpu_setup() call to the end of initarm(). On Cortex-A53 > processors > atomic instructions don't work unless the data cache is enabled. This > happens > in cpu_setup(), but that gets currently called from cpu_startup() which > runs > after a number of kernel subsystems have been initialized. Since some of > these subsystems use locks, which need atomic instructions, we fault on > Cortex-A53. Since at the end of initarm() we're done setting up the pmap > and initializing other low-level sense, calling cpu_setup() here makes much > more sense. > Remove setting up proc0paddr as well from cpu_startup(), since that already > happens in initarm(). > Tested on zaurus by deraadt@. > ok jsg@, patrick@ (kettenis@) ~ platform.c > Dynamically attach agtimer(4). Since agtimer(4) also provides the delay() > function for platforms that have it, rework the code a bit such that it can > be used before agtimer(4) attaches. Introduce a new agtimer_init() > function that checks whether the CPU implements the Generic Timer feature > and switches to agtimer_delay() if that feature is present. Call this > function from the generic platform initialization code. > ok jsg@ (kettenis@) arch/armv7/broadcom + bcm2835_dwctwo.c + bcm2835_muart.c + bcm2836_intr.c + files.broadcom > Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, > I > just cleaned things up a bit. Any bugs introduced in that process are > entirely mine. > This doesn't work yet. But when it does, you'll need recent firmware from > the Raspberry Pi Foundation git repository at > https://github.com/raspberrypi/firmware > The device tree for the Raspberry Pi is somewhat in flux as bits and pieces > to support the Raspberry Pi 2 and 3 are committed to the mainline Linux > kernel. (kettenis@) ~ bcm2836_intr.c > Use the device tree to lookup the address of the ARM control logic and > remove > some debug crap that I accidentally committed. (kettenis@) arch/armv7/conf ~ GENERIC ~ files.armv7 > Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, > I > just cleaned things up a bit. Any bugs introduced in that process are > entirely mine. > This doesn't work yet. But when it does, you'll need recent firmware from > the Raspberry Pi Foundation git repository at > https://github.com/raspberrypi/firmware > The device tree for the Raspberry Pi is somewhat in flux as bits and pieces > to support the Raspberry Pi 2 and 3 are committed to the mainline Linux > kernel. (kettenis@) ~ RAMDISK > Add the Raspberry Pi 2/3 devices here as well. > Spotted by patrick@ (kettenis@) ~ GENERIC > Dynamically attach agtimer(4). Since agtimer(4) also provides the delay() > function for platforms that have it, rework the code a bit such that it can > be used before agtimer(4) attaches. Introduce a new agtimer_init() > function that checks whether the CPU implements the Generic Timer feature > and switches to agtimer_delay() if that feature is present. Call this > function from the generic platform initialization code. > ok jsg@ (kettenis@) ~ RAMDISK > attach agtimer with fdt on RAMDISK as well (jsg@) ~ GENERIC ~ RAMDISK > Dynamically attach omehci using the FDT. > ok kettenis@ patrick@ (jsg@) ~ GENERIC ~ RAMDISK > Dynamically attach omgpio(4) using the FDT. > am335x has a compatible string of "ti,omap4-gpio" and has the same > offsets as omap4, so combine the omap4 and am335x cases when setting up > function pointers. (jsg@) ~ files.armv7 > Build ofw_regulator.o. (kettenis@) ~ GENERIC ~ RAMDISK > Add the shim to make dwge(4) attach to simplebus(4). This brings us > working gigabit on the Allwinner A20. Probably won't work yet on other > Allwinner SoCs due to differences in how the clocks get set up. > Based on an earlier diff from patrick@. (kettenis@) ~ GENERIC > Add imxtemp(4), a temperature sensor for the i.MX6 SoC. Based on code > written > by patrick@. > ok deraadt@ (kettenis@) arch/armv7/imx ~ imxesdhc.c > Implement mmc power sequencing; makes the sdo interface on the cubox-i work > and see the BCM4330 wireless (for which we don't have a driver yet). > ok jsg@ (kettenis@) ~ imxehci.c ~ imxesdhc.c > Use regulalator API instead of private functions. (kettenis@) ~ files.imx ~ imxocotp.c ~ imxocotpvar.h + imxtemp.c > Add imxtemp(4), a temperature sensor for the i.MX6 SoC. Based on code > written > by patrick@. > ok deraadt@ (kettenis@) arch/armv7/omap ~ files.omap ~ omap.c ~ omehci.c > Dynamically attach omehci using the FDT. > ok kettenis@ patrick@ (jsg@) ~ files.omap ~ omap.c ~ omgpio.c > Dynamically attach omgpio(4) using the FDT. > am335x has a compatible string of "ti,omap4-gpio" and has the same > offsets as omap4, so combine the omap4 and am335x cases when setting up > function pointers. (jsg@) ~ if_cpsw.c ~ omap_com.c ~ omgpio.c ~ ommmc.c ~ sitara_cm.c ~ sitara_cm.h ~ ti_iic.c > Switch omap to the generic ofw pinctrl framework. > ok kettenis@ (jsg@) arch/armv7/sunxi ~ sxiuart.c > Just re-set the line speed when required. This fixes a serial console > hang seen on the allwinner,sun5i-r8. > ok kettenis (mglocker@) ~ sxipio.c ~ sxipiovar.h + sxipio_pins.h > Hook up sxipio(4) to the generic pinctrl code. The device binding is > pretty > retarded, requiring tables to map text strings to the apropriate numbers. > These tables were generated automatically from data extracted from the > Linux kernel and are kept in a separate file. This should make it easy > to add support for more SoCs from the same family. > ok deraadt@, millert@ (kettenis@) ~ sxiuart.c > Call pinctrl_byname() such that ports left unconfiguraed by u-boot will > work > as well. > ok deraadt@, millert@ (kettenis@) ~ sxipio.c > Hook up sxipio(4) to the generic gpio code. (kettenis@) ~ sun4i.c ~ sun7i.c > Remove entries that are no longer needed. (kettenis@) ~ sxiccmu.c ~ sxiccmuvar.h > Add GMAC clock support. Based on an earlier diff from patrick@. > (kettenis@) ~ files.sunxi + if_dwge_fdt.c > Add the shim to make dwge(4) attach to simplebus(4). This brings us > working gigabit on the Allwinner A20. Probably won't work yet on other > Allwinner SoCs due to differences in how the clocks get set up. > Based on an earlier diff from patrick@. (kettenis@) arch/mips64/include ~ cpu.h ~ mips_cpu.h ~ pte.h > Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs > that support the Execute-Inhibit exception. This makes user space W^X > effective on Octeon Plus and later Octeon versions. > Feedback from miod@, thanks! > No objection from deraadt@ (visa@) arch/mips64/mips64 ~ context.S ~ db_machdep.c ~ mips64r2.S ~ pmap.c ~ tlbhandler.S ~ trap.c > Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs > that support the Execute-Inhibit exception. This makes user space W^X > effective on Octeon Plus and later Octeon versions. > Feedback from miod@, thanks! > No objection from deraadt@ (visa@) arch/octeon/dev ~ if_cnmac.c > Remove some annoying debug printfs to get rid of u_quad_t in cnmac. (visa@) arch/octeon/octeon ~ locore.S ~ machdep.c > Utilize the TLB Execute-Inhibit bit with non-executable mappings on CPUs > that support the Execute-Inhibit exception. This makes user space W^X > effective on Octeon Plus and later Octeon versions. > Feedback from miod@, thanks! > No objection from deraadt@ (visa@) arch/zaurus/zaurus ~ zaurus_machdep.c > Move the cpu_setup() call to the end of initarm(). On Cortex-A53 > processors > atomic instructions don't work unless the data cache is enabled. This > happens > in cpu_setup(), but that gets currently called from cpu_startup() which > runs > after a number of kernel subsystems have been initialized. Since some of > these subsystems use locks, which need atomic instructions, we fault on > Cortex-A53. Since at the end of initarm() we're done setting up the pmap > and initializing other low-level sense, calling cpu_setup() here makes much > more sense. > Remove setting up proc0paddr as well from cpu_startup(), since that already > happens in initarm(). > Tested on zaurus by deraadt@. > ok jsg@, patrick@ (kettenis@) ~ zaurus_machdep.c > remove uneeded sa1111_reg.h include > ok kettenis@ (jsg@) conf ~ files > fuse requires ufs_ihash.c > ok mpi (natano@) ~ files > Add the core of the code for dwge(4), a driver for the Synopsis Designware > GMAC core which is used on the Allwinner A20 SoCs and later SoCs in the > Allwinner family. Since this core is very likely to show up the base of > other devices, it gets to live here in dev/ic. > Ported from NetBSD (where it is named awge(4)) by patrick@. Some further > fixes by me. > ok deraadt@ (kettenis@) dev ~ biovar.h > change some types in bio from u_quad_t to uint64_t, and fix casts in > drivers that fill that field in too. > quad types are going away. (dlg@) dev/ic ~ re.c > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) + dwc_gmac.c + dwc_gmac_reg.h + dwc_gmac_var.h > Add the core of the code for dwge(4), a driver for the Synopsis Designware > GMAC core which is used on the Allwinner A20 SoCs and later SoCs in the > Allwinner family. Since this core is very likely to show up the base of > other devices, it gets to live here in dev/ic. > Ported from NetBSD (where it is named awge(4)) by patrick@. Some further > fixes by me. > ok deraadt@ (kettenis@) ~ mfireg.h > replace u_quad_t with uint64_t. > guenther is proposing the removal of u_quad_t. uint64_t is more portable. > tested on a perc5 and perc6, no functional change. (dlg@) ~ ami.c ~ ciss.c ~ mfireg.h ~ mpi.c > change some types in bio from u_quad_t to uint64_t, and fix casts in > drivers that fill that field in too. > quad types are going away. (dlg@) dev/microcode ~ atmel/Makefile ~ kue/Makefile ~ ral/Makefile ~ rum/Makefile ~ tusb3410/Makefile ~ udl/Makefile ~ zydas/Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) dev/ofw + ofw_regulator.c + ofw_regulator.h > Add a minimal regulator "framework". > ok jsg@, patrick@ (kettenis@) dev/pci ~ if_iwm.c > Make iwm(4) automagically recover from fatal firmware errors by leaving the > interface marked UP and scheduling the init task. Matches iwn(4) behaviour. > (stsp@) ~ mpii.c > Check xs->status for SCSI_CHECK even in underrun situations. > Lets Bacula find the end of medium on LTO5 drive. > Reported & fix tested by Kor son of Rynar. > ok mikeb@ deraadt@ (krw@) ~ ips.c > change some types in bio from u_quad_t to uint64_t, and fix casts in > drivers that fill that field in too. > quad types are going away. (dlg@) ~ if_devar.h > u_quad_t -> uint64_t > de is amazing(tm). it really should be cut back and simplified a bit. > (dlg@) dev/pv ~ hyperv.c > Fixup incorrect format specification bugs spotted by jsg@ (mikeb@) dev/usb ~ if_ure.c ~ if_urereg.h > add $OpenBSD$ tags (jmatthew@) isofs/cd9660 ~ cd9660_vfsops.c > Eliminate pointless casts to qaddr_t of a value being assigned to a void* > ok kettenis@ krw@ natano@ dlg@ espie@ (guenther@) isofs/udf ~ udf_vfsops.c > Eliminate pointless casts to qaddr_t of a value being assigned to a void* > ok kettenis@ krw@ natano@ dlg@ espie@ (guenther@) kern ~ uipc_syscalls.c > When interrupted, connect() should leave the socket connecting in the > background, similar to a non-blocking socket. Return EALREADY whenever > already connecting, not just for non-blocking sockets. Fix from > {Free,Net}BSD > Prompted by a report from Michael Reed (m.reed (at) mykolab.com) > ok millert@ (guenther@) ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) ~ kern_task.c > shuffle some code to make it more symmetrical. > no functional change. (dlg@) miscfs/fuse ~ fuse_lookup.c ~ fuse_vfsops.c ~ fuse_vnops.c ~ fusefs_node.h > Dedup vnode type information. Fuse stores the vnode type in two places: > vtype in struct fusefs_node and v_type in struct vnode. Given the fact, > that fusefs_node structs are never allocated without an associated vnode > and those two fields are always in sync, one of those locations is > superfluous. > While there remove the unused nlookup field. > ok mpi (natano@) ~ fuse_vfsops.c > Kill FUSE_ROOT_ID and use FUSE_ROOTINO instead. Also, remove one (ino_t) > cast from FUSE_ROOTINO, as it is already included in the #define. > ok kettenis (natano@) msdosfs ~ msdosfs_vfsops.c > Eliminate pointless casts to qaddr_t of a value being assigned to a void* > ok kettenis@ krw@ natano@ dlg@ espie@ (guenther@) net ~ if_vxlan.c ~ if_vxlan.h > Define VXLAN_VNI_UNSET and VXLAN_VNI_MAX instead of using magic numbers. > No functional change. (reyk@) ~ if_vxlan.c > whitespace (reyk@) ~ if.c > take TASKQ_CANTSLEEP way from the softnet taskq. > the big reason for this is to let us use rw locks in the network > stack, which is how at least two major efforts outside the tree > have approached making pf mpsafe. > this was discussed at length at n2k16. there was general agreement > that this is necessary for us to move smp work forward in the stack. (dlg@) netinet6 ~ in6.c > Execute address hooks in the update case. > This matches what IPv4 is doing and unbreak carp(4) when the same > address is set twice, for example when running netstart(8) multiple > times. > Issue reported by and fix from Simon Mages. (mpi@) nfs ~ nfs_vfsops.c > Eliminate pointless casts to qaddr_t of a value being assigned to a void* > ok kettenis@ krw@ natano@ dlg@ espie@ (guenther@) ntfs ~ ntfs_ihash.h > Kill stale prototypes. > ok deraadt millert stefan (natano@) ~ ntfs_vfsops.c > Eliminate pointless casts to qaddr_t of a value being assigned to a void* > ok kettenis@ krw@ natano@ dlg@ espie@ (guenther@) sys ~ fusebuf.h > Kill FUSE_ROOT_ID and use FUSE_ROOTINO instead. Also, remove one (ino_t) > cast from FUSE_ROOTINO, as it is already included in the #define. > ok kettenis (natano@) ~ event.h > modern interfaces should use modern speelings, so spell quad_t as int64_t. > (tedu@) ufs/ext2fs ~ ext2fs_extern.h ~ ext2fs_subr.c ~ ext2fs_vfsops.c > ext2fs only has one set of specops/fifoops > ok mpi tedu (natano@) ~ ext2fs_vfsops.c > Missed a couple qaddr_t casts (guenther@) ufs/ffs ~ ffs_extern.h ~ ffs_subr.c ~ ffs_vfsops.c > ufs_vinit() should really be called ffs_vinit(); it's only called from > ffs code. > ok mpi tedu (natano@) ~ ffs_subr.c > fix previous; ffs_vinit() requires #ifdef _KERNEL to not break the > sbin/fsck_ffs build. bad natano! > reported by naddy (natano@) ~ ffs_vfsops.c > Missed a couple qaddr_t casts (guenther@) ufs/ufs ~ ufs_extern.h ~ ufs_vnops.c > ufs_vinit() should really be called ffs_vinit(); it's only called from > ffs code. > ok mpi tedu (natano@) uvm ~ uvm_mmap.c > W^X violations are only permitted for binaries marked "wxneeded" on > "wxallowed" filesystems. mmap(2) & mprotect(2) now return ENOTSUP. > (To diagnose buggy programs, consider using sysctl kern.wxabort=1 and > looking at the coredumps) > ok kettenis tedu naddy (deraadt@) ~ uvm.h ~ uvm_map.c ~ uvm_map.h > replace abuse of the static map entries RB_ENTRY pointers with an SLIST > free static entries are kept in a simple linked list, so use SLIST > to make this obvious. the RB_PARENT manipulations are ugly and > confusing. > ok kettenis@ (dlg@) ~ uvm_unix.c > Include map entries that have an amap associated with them in the coredump. > This fixes coredumps of processes that use relro to make part of their > writable address space read-only. > ok guenther@ (kettenis@) == usr.bin =========================================================== 13/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin cmp ~ cmp.c > Convert remaining calls to strtoq/strtouq in base with strtoll/strtoull. > Fix a type mismatch in ftp's "page" command and could make transfers > restart > at the wrong position. > ok and a ull->ll tweak from natano@, ok tedu@ (guenther@) ftp ~ ftp.c > When connect(2) is interrupted by a signal it continues asynchronously > and you need to do the same poll(2) dance as if the socket was > non-blocking. Fixes a crash when the window is resized while > connecting. OK deraadt@ (millert@) ~ main.c > Split out the SSL options handling into a separate function, which makes > for more readable code and reduces line wrapping. Also improve error > messages by adding tls_config_error() to errx() where appropriate. > ok jca@ (jsing@) ~ cmds.c ~ util.c > Convert remaining calls to strtoq/strtouq in base with strtoll/strtoull. > Fix a type mismatch in ftp's "page" command and could make transfers > restart > at the wrong position. > ok and a ull->ll tweak from natano@, ok tedu@ (guenther@) jot ~ jot.c > The last four argumens of jot (reps, begin, end, step) can all be > specified or omitted, yielding 16 possible combinations, plus > a few special cases. > Instead of hardcoded values, use names to make the bit patterns > that indicate which values were specified human readable. Decide > once and for all what to do in a single switch statement. Don't > enter said switch when random output is requested since that > simply makes no sense at all. > While there, make the error messages a bit more meaningful and > fix a bogus value assigned to begin for jot -r x - y z that has > been there since -r1.1. All regression tests now pass. > Inspired by David Laight (dsl)'s r1.21 of NetBSD's jot. > "move fast and break stuff" tedu > agreement from deraadt (tb@) ~ jot.c > usage() is __dead (tb@) ~ jot.1 > Rewrite the paragraphs that describe how the last four arguments are > handled to make them easier to read and understand. > with help from jmc (tb@) ~ jot.c > Simplify getprec() by using strchr(3) and strspn(3). > Part of NetBSD's jot r1.20 by dsl. > ok jca (tb@) mandoc ~ main.c ~ mdoc_validate.c > fix printf("%s", NULL); > found while investigating an unrelated bug report from jsg@ (schwarze@) ~ term.c ~ term_ps.c > Fix assertion failures caused by whitespace inside \o'' (overstrike) > sequences that jsg@ found with afl(1): > * Avoid writing \t\b in term.c. > * Handle trailing \b in term_ps.c. (schwarze@) ~ mdoc_validate.c > When validating a .Bl list that defaults to -item for want of a type, > don't let a subsequent -width access mdoc_argnames[] out of bounds. > Found by tb@ with afl(1). (schwarze@) ~ mdoc_validate.c > Don't printf("%s", NULL) if .It has a macro as an argument > in a list of a type where items don't takes arguments. > Issue found by tb@ with afl(1). (schwarze@) ~ cgi.c > move armish and hppa64 down in the dropdown box; reminded by jmc@ > (schwarze@) ~ mdoc_validate.c > Don't deref NULL if the only child of the first .Sh is an empty > in-line macro, and don't printf("%s", NULL) if the first child > of the first .Sh is a macro; again found by tb@ with afl(1). > (No, you should never use macros in any .Sh at all, please.) (schwarze@) ~ mdoc_validate.c > If a .Bd display is on the one hand doomed to be deleted because > it has no type, but is on the other hand breaking another block, > delete its end marker as well, or the end marker may remain behind > as an orphan, triggering an assertion in the terminal formatter. > Problem found by tb@ with afl(1). (schwarze@) ~ mdoc_validate.c > oops, fix stupid typo in previous (schwarze@) ~ mdoc_macro.c > Even after switching from a pending head to the body, we have to > continue scanning upwards, because the enclosing block might already > be pending as well, e.g. .Bl .Bl .It Bo .El .It. > Tree corruption leading to a later NULL deref found by tb@ with afl(1). > (schwarze@) nc ~ netcat.c > Let libtls load the CA, certificate and key files for nc(1), now that it > does this at the time the tls_config_set_*_file() function is called. > ok bluhm@ (jsing@) netstat ~ inet.c > As the relevant struct's (e.g. tcpstat) use [u_]int64_t types, the > proper printf() format is %ll[ud], not the antediluvian %q[ud]. > Reminded by guenther@'s proposed retirement of quad types. > ok tedu@ (krw@) ~ inet.c > %lld -> %llu for u_int64_t struct fields. (krw@) openssl ~ openssl.1 > trim the dsaparam section; ok guenther (jmc@) ~ openssl.1 > trim the ec text; (jmc@) ~ openssl.1 > shorten ecparam; (jmc@) ~ openssl.1 > shorten openssl enc, with help from jsing; > ok jsing beck (jmc@) ~ openssl.1 > trim errstr, and zap gendh (deprecated) entirely; (jmc@) ~ openssl.1 > shorten gendsa; (jmc@) ~ openssl.1 > shorten genpkey; ok guenther (jmc@) pkg-config ~ pkg-config > Update online manual path to man.openbsd.org. > ok espie (tb@) ssh ~ mux.c > Improve error message for overlong ControlPath. ok markus@ djm@ (dtucker@) ~ moduli-gen/moduli.2048 ~ moduli-gen/moduli.3072 ~ moduli-gen/moduli.4096 ~ moduli-gen/moduli.6144 ~ moduli-gen/moduli.7680 ~ moduli-gen/moduli.8192 > Update moduli file. (dtucker@) ~ sshd_config.5 > Use 2001:db8::/32, the official IPv6 subnet for configuration examples. > This makes the IPv6 example consistent with IPv4, and removes a dubious > mention of a 6bone subnet. > ok sthen@ millert@ (jca@) - auth-chall.c - auth-rh-rsa.c - auth-rsa.c - auth1.c ~ auth-rhosts.c ~ auth.c ~ auth.h ~ monitor.c ~ monitor_wrap.c ~ monitor_wrap.h ~ serverloop.c ~ serverloop.h ~ session.c ~ session.h ~ sshd.c ~ sshd/Makefile > remove ssh1 server code; ok djm@ (markus@) vi ~ build/recover ~ docs/help ~ docs/USD.doc/vi.man/vi.1 ~ docs/USD.doc/vi.ref/set.opt.roff ~ docs/USD.doc/vi.ref/vi.ref > /tmp and /var/tmp are the same, consistently use the former in both > build/recover and documentation. > ok millert@, tb@, martijn@ and schwarze@ (sobrado@) ~ common/search.c > Kill '#if defined(DEBUG) && 0' blocks that used %q > ok bentley@ on principle (guenther@) vmstat ~ vmstat.c > Convert %q to %ll and cast opaque system values to long long. > Use uint64_t for the KERN_INTRCNT_CNT sysctl() > ok krw@ (guenther@) == usr.sbin ========================================================== 14/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin bgpd ~ log.c ~ rde.c ~ session.c > Use exit(3) instead of _exit(2) in the child processes. > Since recently the child processes call exec() after fork(), so they > should stop using _exit(2) and use exit(3) instead when shutting down. > Ok claudio@ (renato@) eigrpd ~ eigrpe.c ~ log.c ~ rde.c > rde and eigrpe should use exit(3) instead of _exit(2) > Since recently these processes call exec() after fork(), so they should > stop using _exit(2) and use exit(3) instead when shutting down. > ok claudio@ (renato@) ~ eigrpd.c ~ eigrpd.h > Simplify shutdown process > On shutdown, there's no need to use kill(2) to kill the child > processes. Just closing the IPC sockets will make the children receive > an EOF, break out from the event loop and then exit. > This "pipe teardown" removes a PID reuse race condition, makes the code > simpler and allow us to remove "proc" from pledge. > OK and tweaks from claudio@ (renato@) hotplugd ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) installboot ~ Makefile > Merge identical amd64 and i386 stanzas. > Requested & ok jsing@ (krw@) ldpd ~ labelmapping.c ~ lde.c ~ log.c > Normalize the received prefixes. > We need to use ldp_applymask() to normalize the received > prefixes. Example: 10.1.1.0/16 -> 10.1.0.0/16. > Additionally, stop using IANA's AF numbers in map->fec.prefix.af and use > AF_INET/AF_INET6 instead. This makes the code much simpler, use AF_IPV[46] > only when necessary (decoding/encoding prefixes). > ok claudio@ (renato@) ~ lde.c ~ ldpe.c ~ log.c > Use exit(3) instead of _exit(2) in the child processes. > Since recently the child processes call exec() after fork(), so they should > stop using _exit(2) and use exit(3) instead when shutting down. > Ok claudio@ (renato@) memconfig ~ memconfig.c > Convert remaining calls to strtoq/strtouq in base with strtoll/strtoull. > Fix a type mismatch in ftp's "page" command and could make transfers > restart > at the wrong position. > ok and a ull->ll tweak from natano@, ok tedu@ (guenther@) mtree ~ spec.c > Convert remaining calls to strtoq/strtouq in base with strtoll/strtoull. > Fix a type mismatch in ftp's "page" command and could make transfers > restart > at the wrong position. > ok and a ull->ll tweak from natano@, ok tedu@ (guenther@) ~ compare.c ~ create.c > %qd -> %lld + (long long) for off_t's. > ok guenther@ natano@ (krw@) pcidump ~ Makefile > armish handled some early-gen arm machines, which required tons of > workarounds. Some of them will soon stand in the way of armv7. > Off to the attic you go. (deraadt@) pkg_add ~ OpenBSD/Add.pm > band-aid for a nasty bug. tieto + space constraints don't interact well. > there are better fixes (such as computing tieto first, computing the size > better, and doing two passes deletes), but at least this one doesn't fuck > things up. (espie@) pstat ~ pstat.c > Convert %q to %ll and cast opaque system values to long long. > Use uint64_t for the KERN_INTRCNT_CNT sysctl() > ok krw@ (guenther@) pwd_mkdb ~ pwd_mkdb.8 > Refer to /etc/passwd consistently as the "legacy password file" and > remove some references to differences between versions 6 and 7. > ok jmc, millert, tedu (tb@) relayd ~ relay_http.c ~ relayd.c ~ relayd.h TAGGED OPENBSD_6_0 > Improve parsing of the Host-header by following RFC 7230 Section 5.4 more > strictly. MFC relay_http.c v 1.57, relayd.c v 1.154, relayd.h v 1.224 > (benno@) ~ relay_http.c ~ relayd.c ~ relayd.h TAGGED OPENBSD_5_9 > Improve parsing of the Host-header by following RFC 7230 Section 5.4 more > strictly. MFC relay_http.c v 1.57, relayd.c v 1.154, relayd.h v 1.224 > (benno@) ~ relay_http.c ~ relayd.c ~ relayd.h TAGGED OPENBSD_5_8 > Improve parsing of the Host-header by following RFC 7230 Section 5.4 more > strictly. MFC relay_http.c v 1.57, relayd.c v 1.154, relayd.h v 1.224 > (benno@) rmt ~ rmt.c > Convert remaining calls to strtoq/strtouq in base with strtoll/strtoull. > Fix a type mismatch in ftp's "page" command and could make transfers > restart > at the wrong position. > ok and a ull->ll tweak from natano@, ok tedu@ (guenther@) route6d ~ route6d.8 > 6bone -> documentation range (jca@) sa ~ extern.h ~ main.c ~ pdb.c ~ usrdb.c > Flip 'u_quad_t' fields & variables to uint64_t, and %qu to %llu. > ok guenther@ (krw@) switchd ~ ofcconn.c > Split ofcconn into switch part and connection part to make the switch > part be able to have multiple connections. > ok reyk. (yasuoka@) ~ ofcconn.c > Fix previous. Obvously the condition is reversed. (yasuoka@) ~ control.c > Handle imsg_read() EAGAIN like the man page code example. > ok reyk@ (rzalamena@) ~ switchd.c > Create socket with SOCK_NONBLOCK instead of using fcntl() without the > proper flag handling. > ok reyk@ (rzalamena@) user ~ user.c > Remove the encrypted password length check. The admin should be > able to put whatever they like in the encrypted password field, > regardless of whether it can be matched or not. Having this check > just makes it harder to add new encrypted password functions. > This also fixes "usermode -Z" which was the impetus for the change. > OK benno@ (millert@) ~ useradd.8 > Xr encrypt(1) in the explanation of the -p option. > ok jmc (tb@) vipw ~ vipw.8 > Refer to /etc/passwd consistently as the "legacy password file" and > remove some references to differences between versions 6 and 7. > ok jmc, millert, tedu (tb@) =============================================================================== _______________________________________________ owc mailing list [email protected] http://www.squish.net/mailman/listinfo/owc
