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
