OpenBSD cvs log

created 2019-05-08T02:52:38Z
begin 2017-11-13T00:00:00Z
end 2017-11-14T00:00:00Z
path src/sys
commits 10

date 2017-11-13T01:24:09Z
author dlg
files src/sys/net/pf.c log diff annotate
message remove the ability for pf_ouraddr to say that a packet is forwarded.

having pf_ouraddr say a packet is forwarded let's in_ouraddr avoid
doing a route lookup for the packet. however, because it is forwarded
we need to do a route lookup in ip_output anyway to know where it
goes.

in_ouraddr does a bunch of extra checks on the result of the route
lookup that ip_output does not do though, including special handling
of ip_directedbroadcast and M_BCAST. if you have directed broadcast
enabled and do not do these checks, the ethernet layer will loop a
copy of broadcast packets back into the stack recursively which
can blow the thread stack in the kernel.

discussed with jmatthew@, sashan@, and henning@
ok mpi@

diagnosing this led to the enabling of a guard page on amd64 kernel
stacks, which was necessary for correctly identifying this problem.

date 2017-11-13T07:16:35Z
author mpi
files src/sys/netinet6/frag6.c log diff annotate
message Remove 18 year old #if 0.

ok visa@, benno@

date 2017-11-13T09:24:59Z
author kettenis
files src/sys/dev/fdt/sxipio.c log diff annotate
message Newer Allwinner SoCs (H3/H4/A64) use an "unconfigured" default state.
Recognize this state and allow user configuration of the pin if the
pin is left into this state.

tested by Stephen Graf.

date 2017-11-13T11:30:11Z
author henning
files src/sys/net/pf.c log diff annotate
src/sys/net/pf_ioctl.c log diff annotate
src/sys/net/pfvar.h log diff annotate
message add a generic packet rate matching filter. allows things like
pass in proto icmp max-pkt-rate 100/10
all packets matching the rule in the direction the state was created are
taken into consideration (typically: requests, but not replies).
Just like with the other max-*, the rule stops matching if the maximum is
reached, so in typical scenarios the default block rule would kick in then.
with input from Holger Mikolon
ok mikeb

date 2017-11-13T14:41:46Z
author mpi
files src/sys/sys/systm.h log diff annotate
message Do not call splassert_fail() if splassert_ctl is <= 0.

This matches splassert(9)s behavior and prevent noise when a CPU
panic(9) and set splassert_ctl to 0.

Found the hardway by sthen@

date 2017-11-13T14:55:47Z
author mpi
files src/sys/net/if_gif.c log diff annotate
message Remove useless comment about if_ioctl() & reduce grep noise.

date 2017-11-13T17:00:14Z
author mpi
files src/sys/net/pfkeyv2.c log diff annotate
message Grab the KERNEL_LOCK() to iterate on the global list of PF_KEY sockets.

It isn't safe to manipulate PF_KEY sockets without KERNEL_LOCK() because
they aren't protected by the NET_LOCK().

I missed this in my previous audit and neither my tests, the regression
tests nor the IPsec performance tests exposed the problem. Hopefully I
added the right check to soassertlocked() a while back.

Found the hardway by and ok sthen@

date 2017-11-13T21:21:40Z
author kettenis
files src/sys/dev/fdt/sxiccmu_clocks.h log diff annotate
message Add i2c-related clocks for Allwinner H3/H5/A64.

From Artturi Alm. Tested by Stephen Graf.

date 2017-11-13T21:24:27Z
author kettenis
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/conf/RAMDISK log diff annotate
src/sys/dev/fdt/sxitwi.c log diff annotate
message Add support for the i2c controller variant found on the Allwinner A31 and
above and enable the driver on arm64.

From Artturi Alm. Tested by Stephen Graf.

date 2017-11-13T23:52:49Z
author dlg
files src/sys/kern/kern_task.c log diff annotate
src/sys/sys/task.h log diff annotate
message add taskq_barrier

taskq_barrier guarantees that any task that was running on the taskq
has finished by the time taskq_barrier returns. it is similar to
intr_barrier.

this is needed for use in ifq_barrier as part of an upcoming change.