OpenBSD src changes summary for 2017-05-17 ==========================================
lib/libc regress/lib regress/sys regress/usr.bin share/man sys/arch/loongson/dev sys/arch/loongson/include sys/crypto sys/dev/pci sys/net sys/netinet sys/netinet6 sys/nfs sys/uvm usr.bin/mandoc usr.bin/ssh usr.bin/tmux usr.sbin/smtpd usr.sbin/syspatch == lib =============================================================== 01/06 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ 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@) == regress =========================================================== 02/06 == 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@) sys ~ 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 ~ 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@) == share ============================================================= 03/06 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man7/mandoc_char.7 > Delete the -T xhtml command line option. > It has been obsolete for more than two years. > Use -T html. (schwarze@) == sys =============================================================== 04/06 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys 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@) 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/pci ~ pcidevs > add some devices from submitted dmesgs (jsg@) ~ pcidevs.h ~ pcidevs_data.h > regen (jsg@) net ~ if_gif.c > Protect the global list of interfaces with the NET_LOCK(). > ok bluhm@ (mpi@) netinet ~ 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@) netinet6 ~ 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@) 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@) uvm ~ 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@) == usr.bin =========================================================== 05/06 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin mandoc ~ 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@) ssh ~ 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@) tmux ~ cmd-command-prompt.c ~ cmd-confirm-before.c ~ status.c ~ tmux.h > Tidy command prompt callbacks and pass in the client. (nicm@) == usr.sbin ========================================================== 06/06 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin 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@) syspatch ~ syspatch.sh > Tweak remote fs check. (ajacoutot@) =============================================================================== _______________________________________________ odc mailing list [email protected] http://www.squish.net/mailman/listinfo/odc
