OpenBSD cvs log

created 2019-01-30T18:03:12Z
begin 2019-01-23T00:00:00Z
end 2019-01-24T00:00:00Z
path src/sys
commits 16

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