OpenBSD cvs log

created 2019-02-07T03:00:25Z
begin 2019-01-17T00:00:00Z
end 2019-01-24T00:00:00Z
path src/sys
commits 85

date 2019-01-17T01:27:59Z
author mlarkin
files src/sys/arch/amd64/conf/RAMDISK_CD log diff annotate
src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Enable bwfm(4) in RAMDISK_CD

ok deraadt

date 2019-01-17T01:52:27Z
author mlarkin
files src/sys/arch/amd64/amd64/pmap.c log diff annotate
message Remove some empty lines

date 2019-01-17T03:26:19Z
author beck
files src/sys/kern/kern_unveil.c log diff annotate
src/sys/sys/namei.h log diff annotate
message Unveil fixes:

1) Correctly notice covering unveil when using .. - fix crash noticed by visa@
2) Notice when v_mount is NULL to not crash when unveil vnodes are on a
forcibly unmounted filesystem, noticed by yasuoka@
3) Add a flag to ni_data so that failures from unveil flag mismatches in covering
unveils return the correct EACCESS instead of ENOENT (noticed by brynet@)
ok deraadt@

date 2019-01-17T13:29:44Z
author patrick
files src/sys/dev/fdt/ssdfb.c log diff annotate
message Add support for the SSD1306 as seen on the NanoPi NEO2 with
a NanoHat OLED.

date 2019-01-17T13:33:51Z
author patrick
files src/sys/dev/fdt/ssdfb.c log diff annotate
message No need to free the Command/Data GPIO in the I2C detach path since it is
only allocated and used for the SPI backend.

From Tobias Nygren

date 2019-01-17T16:07:42Z
author mpi
files src/sys/net/if_bridge.c log diff annotate
src/sys/net/if_bridge.h log diff annotate
message Convert interface lists from TAILQ to SLIST in preparation for fine
grained locking.

ok visa@, florian@

date 2019-01-18T01:34:50Z
author pd
files src/sys/arch/i386/conf/GENERIC log diff annotate
src/sys/arch/i386/conf/Makefile.i386 log diff annotate
src/sys/arch/i386/conf/files.i386 log diff annotate
src/sys/arch/i386/i386/conf.c log diff annotate
src/sys/arch/i386/i386/cpu.c log diff annotate
src/sys/arch/i386/i386/ipifuncs.c log diff annotate
src/sys/arch/i386/i386/machdep.c log diff annotate
src/sys/arch/i386/i386/mainbus.c log diff annotate
src/sys/arch/i386/i386/pmap.c log diff annotate
src/sys/arch/i386/i386/pmapae.c log diff annotate
src/sys/arch/i386/i386/Attic/vmm.c log diff annotate
src/sys/arch/i386/i386/Attic/vmm_support.S log diff annotate
src/sys/arch/i386/include/conf.h log diff annotate
src/sys/arch/i386/include/cpu.h log diff annotate
src/sys/arch/i386/include/intrdefs.h log diff annotate
src/sys/arch/i386/include/pmap.h log diff annotate
src/sys/arch/i386/include/pte.h log diff annotate
src/sys/arch/i386/include/specialreg.h log diff annotate
src/sys/arch/i386/include/vmmvar.h log diff annotate
src/sys/kern/kern_pledge.c log diff annotate
message delete vmm(4) in i386

We will still be able to run i386 guests on amd64 vmm.

Reasons to delete i386 vmm:

- Been broken for a while, almost no one complained.
- Had been falling out of sync from amd64 while it worked.
- If your machine has vmx, you most probably can run amd64, so why not run that?

ok deraadt@ mlarkin@

date 2019-01-18T02:10:40Z
author claudio
files src/sys/netinet/ip_output.c log diff annotate
message Revert Rev 1.351, the change is not quite right yet.

date 2019-01-18T05:03:42Z
author cheloha
files src/sys/kern/kern_time.c log diff annotate
message adjtime(2), settimeofday(2), clock_settime(2): validate input

Add documentation for the new EINVAL cases for adjtime(2) and
settimeofday(2).

adjtime.2 docs ok schwarze@,
settimeofday(2)/clock_settime(2) stuff ok tedu@,
"stop waiting" deraadt@

date 2019-01-18T05:06:38Z
author cheloha
files src/sys/kern/sys_futex.c log diff annotate
message futex(2): validate relative timeout before sleeping.

Linux does validation.

Document this new failure case as an EINVAL, like Linux.

"stop waiting" deraadt

date 2019-01-18T08:26:55Z
author mlarkin
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
message remove a debugging printf that has outlived its usefulness

date 2019-01-18T08:32:59Z
author phessler
files src/sys/net/bfd.c log diff annotate
message chase sounlock() api change, make bfd(4) build again

"go ahead" deraadt@

date 2019-01-18T09:36:47Z
author cheloha
files src/sys/sys/time.h log diff annotate
message sys/time.h: new macros: timerisvalid() and timespecisvalid().

Make it less likely you miss a zero when typing out 100000 or 100000000.
Document them in getitimer.2 for the masses. These may be of use in
library code as well as the kernel.

Comparable inline functions exist in Linux but are not available to
userspace like these.

"OK." deraadt@

date 2019-01-18T13:40:34Z
author bluhm
files src/sys/nfs/nfs_vnops.c log diff annotate
message Check for negative length integers in NFS client. A malicious
server could confuse the client file system code.
OK beck@

date 2019-01-18T13:56:38Z
author bluhm
files src/sys/nfs/nfs_serv.c log diff annotate
message Check for negative length integers in NFS server. A malicious
client could crash the server.
OK tedu@

date 2019-01-18T13:59:18Z
author bluhm
files src/sys/nfs/nfsm_subs.h log diff annotate
message Check for negative length in NFS strings. This affects both, the
client and server.
OK beck@

date 2019-01-18T20:24:59Z
author phessler
files src/sys/net80211/ieee80211_ioctl.c log diff annotate
src/sys/net80211/ieee80211_ioctl.h log diff annotate
src/sys/net80211/ieee80211_node.c log diff annotate
message let users automatically use join to connect to any open wifi network.
if a known network is visible, always prefer that instead.

requested by many, OK stsp@

date 2019-01-18T20:28:40Z
author phessler
files src/sys/net80211/ieee80211_ioctl.c log diff annotate
src/sys/net80211/ieee80211_node.c log diff annotate
src/sys/net80211/ieee80211_var.h log diff annotate
message add a len field when we delete an essid from the joinlist. this will have
us properly match, instead of hoping we got lucky when selecting it.

OK stsp@

date 2019-01-18T20:40:00Z
author phessler
files src/sys/net80211/ieee80211_ioctl.c log diff annotate
message when removing the currently active network from the join list, disconnect
from it as well

OK stsp@

date 2019-01-18T20:46:03Z
author claudio
files src/sys/netinet/ip_output.c log diff annotate
message Bring back the ip_pcbopts() refactor. Pad the option buffer and therefor
the mbuf to the next word length as it is required by the standard. Also use
the correct offset from the input mbuf.
OK visa@, input & OK bluhm@

date 2019-01-18T20:55:19Z
author cheloha
files src/sys/kern/kern_time.c log diff annotate
message no need to KERNEL_LOCK before calling ktrstruct() anymore; ok mpi@ visa@

date 2019-01-18T23:14:44Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message pack hmc bits in the right order

ok dlg@

date 2019-01-19T00:08:10Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message actually set CAUSE_ENA on the rx and tx queues, and re-enable interrupts
at the start of the interrupt handler. now it works well enough to commit
over.

ok dlg@

date 2019-01-19T01:53:44Z
author cheloha
files src/sys/kern/init_main.c log diff annotate
src/sys/kern/kern_sysctl.c log diff annotate
src/sys/kern/kern_tc.c log diff annotate
src/sys/nfs/nfs_serv.c log diff annotate
src/sys/sys/kernel.h log diff annotate
src/sys/sys/time.h log diff annotate
message Move boottime into the timehands.

To protect the timehands we first need to protect the basis for all UTC
time in the kernel: the boottime.

Because the boottime can be changed at any time it needs to be versioned
along with the other members of the timehands to enable safe lockless reads
when using it for anything. So the global boottime timespec goes away and
the static boottimebin becomes a member of the timehands. Instead of reading
the global boottime you use one of two interfaces: binboottime(9) or
microboottime(9). nanoboottime(9) can trivially be added later, though there
are no consumers for it at the moment.

This introduces one small change in behavior. We used to advance the
reported boottime just before launching kernel threads from main().
This makes it look to userland like we "booted" moments before those
threads were launched. Because there is no longer a boottime global we
can no longer trivially do this from main(), so the boottime we report
to userspace via e.g. kern.boottime will now reflect whatever the time
was when we bootstrapped the timehands via inittodr(9). This is usually
no more than a minute before the kernel threads are launched from main().
The prior behavior can be restored by adding a new interface to the
timecounter layer in a future commit.

Based on FreeBSD r303387.

Discussed with mpi@ and visa@.

ok visa@

date 2019-01-19T03:24:18Z
author jmatthew
files src/sys/arch/amd64/conf/GENERIC log diff annotate
src/sys/arch/amd64/conf/RAMDISK_CD log diff annotate
message now that it works, enable ixl(4) on amd64

date 2019-01-19T04:07:12Z
author mlarkin
files src/sys/arch/amd64/amd64/pmap.c log diff annotate
src/sys/arch/amd64/include/pmap.h log diff annotate
message Finish randominzing remaining layers of pmap_kernel

An earlier diff moved the top level page, this diff finishes the lower
layers. New pages are allocated for the existing hiererchy (which thus
benefit from random placement from pmemrange/etc). Existing managed
pages are returned to uvm (a small number of bootstrap pages are not
returned as they are allocated in locore0 and thus aren't managed).

ok deraadt

date 2019-01-19T04:10:30Z
author phessler
files src/sys/arch/amd64/conf/RAMDISK_CD log diff annotate
message enable myx(4) on the large ramdisk. has been enabled in GENERIC for a while.

date 2019-01-19T16:21:00Z
author sf
files src/sys/dev/pv/viomb.c log diff annotate
message viomb: tweak feature negotiation

VIRTIO_F_RING_INDIRECT_DESC is always negotiated by the transport
driver, no need to specify it explicitly.

VIRTIO_BALLOON_F_MUST_TELL_HOST is not offered but is handled in the
code. Offer it during negotiation, too.

date 2019-01-19T16:23:46Z
author sf
files src/sys/dev/fdt/virtio_mmio.c log diff annotate
src/sys/dev/pci/virtio_pci.c log diff annotate
src/sys/dev/pv/if_vio.c log diff annotate
src/sys/dev/pv/virtiovar.h log diff annotate
message virtio: Introduce defines for config(8) flags

date 2019-01-19T17:23:32Z
author anton
files src/sys/dev/kcov.c log diff annotate
message backout previous; syzkaller did not cope well with this change

date 2019-01-19T18:50:24Z
author uaa
files src/sys/dev/usb/ehci.c log diff annotate
message Change transfer schedule of split interrupt transfer,
to avoid confilicting with split isochronous transfer which use same TT.

ok mpi@

date 2019-01-19T20:45:06Z
author tedu
files src/sys/arch/amd64/amd64/machdep.c log diff annotate
src/sys/arch/amd64/include/cpu.h log diff annotate
src/sys/arch/arm64/arm64/acpi_machdep.c log diff annotate
src/sys/arch/i386/i386/machdep.c log diff annotate
src/sys/arch/loongson/loongson/machdep.c log diff annotate
src/sys/dev/acpi/acpi.c log diff annotate
src/sys/dev/acpi/acpibtn.c log diff annotate
message Add a pwraction sysctl that controls what the power button does on acpi.
By default, nothing changes -- shutdown is initiated. But allows turning
power button into a sleep button if desired.
(grudging) ok from a few parties

date 2019-01-20T00:19:50Z
author jsg
files src/sys/dev/acpi/acpi.c log diff annotate
message fix SMALL_KERNEL build after changes in rev 1.361
reported by naddy@ ok deraadt@

date 2019-01-20T00:53:08Z
author mlarkin
files src/sys/arch/amd64/amd64/locore.S log diff annotate
src/sys/arch/amd64/amd64/vector.S log diff annotate
src/sys/arch/amd64/include/cpufunc.h log diff annotate
message Implement rdmsr_safe

rdmsr_safe is used when reading potentially missing MSRs, to avoid
triggering #GPs in the kernel.

ok guenther

date 2019-01-20T01:07:16Z
author mlarkin
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
message Use rdmsr_safe in svm_handle_msr

Avoid reading possibly missing MSRs

ok guenther@

date 2019-01-20T01:13:03Z
author cheloha
files src/sys/kern/kern_tc.c log diff annotate
message Serialize tc_windup() calls and modification of some timehands members.

If a user thread from e.g. clock_settime(2) is in the midst of changing
the boottime or calling tc_windup() when it is interrupted by hardclock(9),
the timehands could be left in a damaged state.

So protect tc_windup() calls with a mutex, timecounter_mtx. hardclock(9)
merely attempts to enter the mutex instead of spinning because it cannot
afford to wait around. In practice hardclock(9) will skip tc_windup() very
rarely, and when it does skip there aren't any negative effects because the
skip indicates that a user thread is already calling, or about to call,
tc_windup() anyway.

Based on FreeBSD r303387 and NetBSD sys/kern/kern_tc.c,v1.30

Discussed with mpi@ and visa@. Tons of nice technical detail about
lockless reads from visa@.

OK visa@

date 2019-01-20T01:32:08Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message Handle link state change interrupts by issuing IXL_AQ_OP_PHY_LINK_STATUS
to the admin queue. We don't need to wait for or process the reply,
because the existing admin reply queue processing already does it.

ok dlg@

date 2019-01-20T02:45:44Z
author tedu
files src/sys/dev/acpi/acpibtn.c log diff annotate
message make this look more like other pwr_action code (small_kernel)

date 2019-01-20T03:28:19Z
author krw
files src/sys/scsi/cd.c log diff annotate
src/sys/scsi/sd.c log diff annotate
src/sys/scsi/st.c log diff annotate
message When retiring a SCSI request, sometimes the buf's b_error value is
forcibly set to a value. Make sure that in all those cases the B_ERROR
flag is cleared (if b_error is being set to 0) or set (if b_error is
being set to non-zero) appropriately.

ok dlg@ jmatthew@

date 2019-01-20T04:58:45Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message implement ixl_rxrinfo, dynamically allocating the buffer to prepare for
multiple receive rings at some point in the future.

ok dlg@

date 2019-01-20T09:47:31Z
author anton
files src/sys/dev/kcov.c log diff annotate
message Rework conditional for clarity, no functional change.

ok bluhm@ visa@ (as part of a larger diff)

date 2019-01-20T09:57:23Z
author anton
files src/sys/arch/amd64/conf/Makefile.amd64 log diff annotate
src/sys/arch/i386/conf/Makefile.i386 log diff annotate
src/sys/dev/kcov.c log diff annotate
src/sys/sys/kcov.h log diff annotate
message Add support for a new kcov trace mode called KCOV_MODE_TRACE_CMP where
comparison instructions and switch statements are being traced. This mode will
be used during fuzzing to generate even more coverage. The same mode is also
supported by FreeBSD and Linux.

Thanks to jmc@ for improving the manual bits.

ok bluhm@ visa@

date 2019-01-20T16:09:41Z
author anton
files src/sys/isofs/cd9660/cd9660_node.h log diff annotate
message remove unused i_lockf member from struct iso_node; ok tedu@ visa@

date 2019-01-20T20:28:37Z
author krw
files src/sys/scsi/cd.c log diff annotate
src/sys/scsi/ch.c log diff annotate
src/sys/scsi/sd.c log diff annotate
message No leading space(s) before labels.

Prodded by guenther@

date 2019-01-20T22:52:23Z
author phessler
files src/sys/net/bfd.c log diff annotate
message use the faster interface, since the precision is not necessary

date 2019-01-20T23:07:51Z
author guenther
files src/sys/arch/amd64/amd64/cpu.c log diff annotate
message Adjust punctuation in comment to align columns consistently

date 2019-01-20T23:43:13Z
author claudio
files src/sys/netinet/if_ether.c log diff annotate
message Refresh arp entries that are about to expire. Once their life time is less
then 1/8 of net.inet.ip.arptimeout the system will send out a arp request
about every 30 seconds until either the entry is updated or expired.
Not refreshing arp entries will result in packet drop every time a entry
expires which is not ideal for important gateway entries.
Came up with this after a discussion with deraadt@. OK benno@ deraadt@

date 2019-01-20T23:44:58Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message Replace the default mac filter with one that ignores vlans, and enable
promisc vlan mode so we can see vlan tagged traffic.

ok dlg@

date 2019-01-21T00:23:39Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message also add a mac filter that ignores vlans for the broadcast address, so we can
see arp requests on vlans, among other things.

ok dlg@

date 2019-01-21T01:40:35Z
author mlarkin
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
src/sys/arch/amd64/include/specialreg.h log diff annotate
message vmm: better handling of two SMM related MSRs

We currently ignore MSR_SMBASE and MSR_SMM_MONITOR_CTL, but the SDM says
accessing the former for read and latter for write while not in SMM mode
should produce a #GP. This change detects those operations and injects
a #GP as the documentation says. The previous behaviour was harmless, just
not correct.

ok pd

date 2019-01-21T05:40:11Z
author mlarkin
files src/sys/arch/amd64/amd64/pmap.c log diff annotate
message Don't add PG_u to the upper level PTEs in the meltdown case

There is no reason to have PG_u on the toplevel PTEs when entering
special page mappings. The lowest PTE was already set without PG_u, so
this change makes everything the same.

ok guenther

date 2019-01-21T05:44:40Z
author mlarkin
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
message vmm: better handling of CPUID[1].ECX[OSXSAVE] bit

This bit should reflect the current state of the guest's CR4.OSXSAVE
value, not whatever happened to be in the host's CPUID[1] when it
booted.

ok guenther

date 2019-01-21T06:18:37Z
author mlarkin
files src/sys/arch/amd64/amd64/machdep.c log diff annotate
src/sys/arch/amd64/amd64/pmap.c log diff annotate
src/sys/arch/amd64/include/pmap.h log diff annotate
message Support 2TB phys mem

This change expands the direct map to 4 slots (512GB each), to support
machines with up to 2TB physical memory. Should further expansion be
required, this change provides the means to do that with a single #define
change.

with help from and ok guenther

date 2019-01-21T11:24:05Z
author jsg
files src/sys/dev/fdt/sxirtc.c log diff annotate
message Adapt to allwinner device tree changes in linux >= 5.0-rc1
"allwinner,sun6i-a31-rtc" has been removed from h3/h5/r40/a64

ok kettenis@

date 2019-01-21T18:09:21Z
author anton
files src/sys/kern/vfs_lockf.c log diff annotate
src/sys/kern/vfs_subr.c log diff annotate
src/sys/msdosfs/denode.h log diff annotate
src/sys/nfs/nfsnode.h log diff annotate
src/sys/sys/fcntl.h log diff annotate
src/sys/sys/lockf.h log diff annotate
src/sys/sys/specdev.h log diff annotate
src/sys/tmpfs/tmpfs.h log diff annotate
src/sys/ufs/ufs/inode.h log diff annotate
message Introduce a dedicated entry point data structure for file locks. This new data
structure allows for better tracking of pending lock operations which is
essential in order to prevent a use-after-free once the underlying vnode is
gone.

Inspired by the lockf implementation in FreeBSD.

ok visa@

Reported-by: syzbot+d5540a236382f50f1dac@syzkaller.appspotmail.com

date 2019-01-21T20:09:37Z
author landry
files src/sys/kern/kern_pledge.c log diff annotate
src/sys/sys/pledge.h log diff annotate
message Add "video" promise.

Allows a subset of ioctls on video(4) devices, subset selected from
video(1) and firefox webrtc implementation.

ok semarie@ deraadt@

date 2019-01-21T20:46:52Z
author tedu
files src/sys/kern/kern_unveil.c log diff annotate
src/sys/kern/vfs_syscalls.c log diff annotate
message sometimes we don't call unveil_add, which means memory allocated by namei
doesn't get freed. move the free calls into the same function as namei.
fixed bug report from Dariusz Sendkowski
ok beck

date 2019-01-21T23:41:26Z
author cheloha
files src/sys/kern/sys_generic.c log diff annotate
message select(2), pselect(2), poll(2), ppoll(2): Support full timeout range.

Remove the arbitrary and undocumented 24hr limits for timeouts from these
interfaces. To do so, loop tsleep(9) to chip away at timeouts larger than
what tsleep(9) can handle in one call.

Use timerisvalid(3)/timespecisvalid() for input validation instead of
itimerfix()/timespecfix() to avoid the 100 million second upper bounds
those functions introduce.

POSIX requires support for timeouts of at least 31 days for select(2) and
pselect(2), so these changes make our implementation more compliant.

Other improvements here include better variable names for the time stuff
and more consolidated timeout logic with less backwards goto jumping, all
of which made dopselect() and doppoll() a bear to read.

Naming improvements prompted by tedu@ in a prior patch for nanosleep(2).
With input from deraadt@. Validation bug spotted by matthew@ in an earlier
version.

ok visa@

date 2019-01-22T00:59:31Z
author deraadt
files src/sys/kern/kern_pledge.c log diff annotate
message #ifdef video junk as required.

date 2019-01-22T01:48:55Z
author phessler
files src/sys/arch/amd64/include/apmvar.h log diff annotate
src/sys/arch/arm/include/apmvar.h log diff annotate
src/sys/arch/i386/include/apmvar.h log diff annotate
src/sys/arch/loongson/include/apmvar.h log diff annotate
src/sys/arch/macppc/include/apmvar.h log diff annotate
src/sys/arch/sparc64/include/apmvar.h log diff annotate
message remove trailing whitespace in the Laptop Package part of the license text.

no words or punctation were modified.

date 2019-01-22T01:57:03Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message Add and remove mac filters for multicast addresses.

ok dlg@

date 2019-01-22T02:03:03Z
author jmatthew
files src/sys/dev/pci/if_ixl.c log diff annotate
message Increase hardmtu to the maximum according to the datasheet and set the rx
packet size limit to match so jumbos actually work. Larger packets are
split across multiple buffers on the ring, so the buffers themselves stay
the same size.

ok dlg@

date 2019-01-22T02:04:30Z
author jmatthew
files src/sys/dev/pci/if_bnxt.c log diff annotate
message Increase max mtu to match the linux driver; tested against ixl, which can
go larger still.

date 2019-01-22T02:36:30Z
author phessler
files src/sys/arch/amd64/include/apmvar.h log diff annotate
src/sys/arch/arm/include/apmvar.h log diff annotate
src/sys/arch/i386/include/apmvar.h log diff annotate
src/sys/arch/loongson/include/apmvar.h log diff annotate
src/sys/arch/macppc/include/apmvar.h log diff annotate
src/sys/arch/sparc64/include/apmvar.h log diff annotate
message flense more trailing whitespace

date 2019-01-22T14:25:56Z
author mpi
files src/sys/dev/usb/usb_subr.c log diff annotate
message Remove unused variable.

date 2019-01-22T18:06:05Z
author mpi
files src/sys/dev/usb/if_urndis.c log diff annotate
message Do not leak received mbufs if the NDIS appended a zero-byte padding.

from aalm@

date 2019-01-22T20:39:51Z
author tedu
files src/sys/kern/vfs_syscalls.c log diff annotate
message namei can return a null dvp on success. check this before access.
ok beck

Reported-by: syzbot+cc59412ed8429450a1ae@syzkaller.appspotmail.com

date 2019-01-22T22:45:04Z
author bluhm
files src/sys/nfs/krpc_subr.c log diff annotate
message The kernel interpreted bogus lengths in RPC calls during NFS boot.
A malicious rpc.bootparamd could corrupt memory, but the kernel has
to trust the local network anyway in a diskless environment. Now
in case of an RPC error, the kernel will stop booting with a specific
panic.
OK claudio@ beck@

date 2019-01-22T23:23:18Z
author jsg
files src/sys/sys/exec_elf.h log diff annotate
message add some definitions used by elftoolchain's libelf
ok guenther@

date 2019-01-23T00:37:51Z
author cheloha
files src/sys/kern/vfs_syscalls.c log diff annotate
message futimens(2), futimes(2), utimensat(2), utimes(2): Validate input at copyin

Currently we validate time input for all four of these syscalls in the
workhorse function dovutimens(). This is bad because both futimes(2)
and utimes(2) have input as timevals that need to be converted to
timespecs. This multiplication can overflow to create a "valid"
input, e.g. if tv_usec is equal to 2^61 (invalid value) on a platform
with 64-bit longs, the resulting tv_nsec is equal to zero (valid value).

This is also a bit wasteful. We aquire a vnode and do other work
under KERNEL_LOCK only to release the vnode when the time input is
invalid.

So, duplicate a bit of code to validate the time inputs before we do
any conversions or real VFS work.

probably still ok tedu@ deraadt@

date 2019-01-23T08:23:18Z
author dlg
files src/sys/net/if.h log diff annotate
src/sys/sys/sockio.h log diff annotate
message add a SIOCGPWE3 ioctl for interfaces to advertise pwe3 capability

im going to turn mpw into an ethernet interface, which includes
changing its if_type to IFT_ETHER. currently ldpd looks for if_type
IFT_MPLSTUNNEL to decide if an interface is a pseudowire, ie, it's
going to break. the ioctl will let ldpd ask the interface if it is
pseudowire capable as an alternative.

ok claudio@

date 2019-01-23T09:57:36Z
author phessler
files src/sys/arch/arm64/arm64/acpiapm.c log diff annotate
src/sys/arch/arm64/arm64/conf.c log diff annotate
src/sys/arch/arm64/conf/files.arm64 log diff annotate
src/sys/arch/arm64/dev/apm.c log diff annotate
src/sys/arch/arm64/dev/mainbus.c log diff annotate
src/sys/arch/arm64/include/acpiapm.h log diff annotate
src/sys/arch/arm64/include/apmvar.h log diff annotate
src/sys/arch/arm64/include/conf.h log diff annotate
message Add the apm(4) subsystem to arm64.

NB: acpi(4) is not hooked up to this yet.

previous version OK deraadt@ patrick@
OK jsg@

date 2019-01-23T09:58:08Z
author phessler
files src/sys/arch/arm64/conf/GENERIC log diff annotate
message enable the apm(4) subsystem on arm64

previous version OK deraadt@ patrick@
OK jsg@

date 2019-01-23T10:08:48Z
author stsp
files src/sys/dev/pci/if_iwm.c log diff annotate
message Move 802.11n rateset definitions out of MiRA and make them available to
net80211 and drivers in general. Add ratesets for 'short guard interval'
(SGI) rates, and add SGI support to MiRA. SGI is currently only used by
iwm(4), and of course internally by bwfm(4) firmware.
Ratesets for 11n 40 MHz channels and 11ac will come later.
ok mpi@ phessler@

date 2019-01-23T10:08:49Z
author stsp
files src/sys/net80211/ieee80211.c log diff annotate
src/sys/net80211/ieee80211_mira.c log diff annotate
src/sys/net80211/ieee80211_mira.h log diff annotate
src/sys/net80211/ieee80211_node.c log diff annotate
src/sys/net80211/ieee80211_node.h log diff annotate
src/sys/net80211/ieee80211_proto.c log diff annotate
message Move 802.11n rateset definitions out of MiRA and make them available to
net80211 and drivers in general. Add ratesets for 'short guard interval'
(SGI) rates, and add SGI support to MiRA. SGI is currently only used by
iwm(4), and of course internally by bwfm(4) firmware.
Ratesets for 11n 40 MHz channels and 11ac will come later.
ok mpi@ phessler@

date 2019-01-23T15:26:18Z
author mpi
files src/sys/net/if_bridge.c log diff annotate
message Only copy packets for span ports if the bridge is UP.

ok claudio@, kn@, visa@

date 2019-01-23T15:27:08Z
author mpi
files src/sys/net/if_bridge.c log diff annotate
message Pass an `ifp' pointer to bridge_ourether().

ok kn@, claudio@, visa@

date 2019-01-23T15:27:44Z
author mpi
files src/sys/dev/usb/umidi.c log diff annotate
message Remove uneeded header.

date 2019-01-23T21:53:42Z
author cheloha
files src/sys/kern/kern_sig.c log diff annotate
src/sys/kern/kern_synch.c log diff annotate
src/sys/kern/kern_time.c log diff annotate
src/sys/kern/sys_futex.c log diff annotate
message Sprinkle a pinch of timerisvalid/timespecisvalid over the rest of sys/kern

date 2019-01-23T22:39:47Z
author tedu
files src/sys/kern/kern_exit.c log diff annotate
src/sys/sys/mutex.h log diff annotate
message eliminate a ?: in witness mtx initializer by pushing the default one
level up.
ok guenther mpi visa

date 2019-01-23T23:08:38Z
author dlg
files src/sys/net/if_mpw.c log diff annotate
message rework mpw to be an actual ethernet interface.

this will allow for a lot of special casing in places like vlan and
bridge to go away since mpw will do all the same things as any other
ethernet tunnel. another benefit is you can run stuff directly on
the mpw interface to interact with the pseudowire, rather than
requiring a bridge and vether interface. this is like what juniper
calls Pseudowire Service Interfaces.

the caveat is that the implicit vlan or svlan tagging that mpw did
in ethernet-tagged mode now has to be done by hand. however, there
is some indication that different vendors pick different types of
tags, ie, one uses vlan tags and another uses svlan, so being able
to configure the right one has value. it is also possible you would
want to bridge the entire tag stack to another site, so being able
to bridge mpw without it playing with the tags can be useful.

because the if_type on mpw changes from IFT_MPLSTUNNEL to IFT_ETHER,
the semantic used to handle incoming packets in mpls_input is
changed. instead of mpls_input pushing the packets into mpw based
on the if_type being IFT_MPLSTUNNEL, mpw now adds an RTF_LOCAL route
to the mpls table. mpls_input falls through to "outputting" the
packet to mpw_output, which then uses the RTF_LOCAL flag to decide
to input to mpw_input and then ether_input. this semantic will be
applied to mpe soon, which removes all the interface special casing
in mpls_input. the if_type change also means mpw implements the
SIOCGPWE3 ioctl so ldpd can still figure out that the interface is
a pseudowire.

ok claudio@

date 2019-01-23T23:17:25Z
author dlg
files src/sys/net/if_vlan.c log diff annotate
message remove special casing for IFT_MPLSTUNNEL now mpw is IFT_ETHER.

date 2019-01-23T23:51:58Z
author deraadt
files src/sys/arch/amd64/amd64/locore0.S log diff annotate
message using _C_LABEL() inside a macro which uses _C_LABEL() is silly and wrong

date 2019-01-23T23:52:32Z
author deraadt
files src/sys/arch/amd64/amd64/mptramp.S log diff annotate
message RELOC() is not performed here (remained from when locore was split up)

date 2019-01-24T00:00:00Z
author deraadt
files src/sys/arch/amd64/amd64/mptramp.S log diff annotate
message mptramp.S does not export gdt64, another historical locore.s splitup error