OpenBSD cvs log

created 2019-04-30T03:28:21Z
begin 2019-03-14T00:00:00Z
end 2019-03-21T00:00:00Z
path src/sys
commits 42

date 2019-03-14T04:28:10Z
author visa
files src/sys/dev/usb/dwc2/dwc2.c log diff annotate
message Use non-blocking allocation in dwc2_allocx() to make
the routine safe to use in soft interrupt context.

This fixes an assertwaitok() panic reported by
Abel Abraham Camarillo Ojeda.

OK mpi@

date 2019-03-14T16:01:02Z
author visa
files src/sys/arch/octeon/dev/octciu.c log diff annotate
message Fix the balancing of work queue interrupts.

The value of `ncpusfound' no longer reflects the number of cores that
will be utilized by the kernel; it can be larger if secondary cores
have not been enabled by the firmware. This can lead to incorrect
assignment of work queue interrupts, making certain cnmac(4) ports
unable to receive packets. This is a regression introduced in r1.108 of
octeon/machdep.c.

Correct the problem by using `ncpus' for the balancing. All secondary
cores have been attached and the value is final by the time work queue
interrupt handlers are set up.

Network issue reported by krw@

date 2019-03-14T19:25:43Z
author kettenis
files src/sys/arch/amd64/conf/RAMDISK_CD log diff annotate
message Add acpicmos(4).

ok mlarkin@

date 2019-03-15T05:42:38Z
author kevlo
files src/sys/arch/arm64/arm64/cpufunc_asm.S log diff annotate
src/sys/arch/arm64/arm64/exception.S log diff annotate
src/sys/arch/arm64/arm64/support.S log diff annotate
src/sys/arch/arm64/arm64/trap.c log diff annotate
src/sys/dev/pci/if_bnxt.c log diff annotate
src/sys/dev/pci/if_bnxtreg.h log diff annotate
src/sys/kern/subr_witness.c log diff annotate
src/sys/ufs/ufs/ufs_dirhash.c log diff annotate
message Remove FBSDID.

ok deraadt@

date 2019-03-15T06:53:37Z
author jsg
files src/sys/arch/amd64/stand/efiboot/conf.c log diff annotate
src/sys/arch/amd64/stand/efiboot/efiboot.c log diff annotate
src/sys/arch/amd64/stand/libsa/cmd_i386.c log diff annotate
message Many machines with serial ports ship with uefi firmware which does not
have the serial io protocol. Fallback to direct inb/outb hardware access
in this case using code derived from arch/amd64/stand/libsa/bioscons.c

ok kettenis@

date 2019-03-15T10:38:14Z
author fcambus
files src/sys/arch/amd64/amd64/efifb.c log diff annotate
message When calling rasops_init() in efifb_cnremap() and efifb_attach(), pass
EFIFB_HEIGHT and EFIFB_WIDTH instead of efifb_std_descr.n{rows,cols}.

Because the efifb resolution doesn't change, this ensures 'ri_emuwidth'
and 'ri_emuheight' will always get the same value when we remap and
later when we attach, so the text area is always displayed at the same
position.

This fixes display glitches happening on smaller screens or with larger
fonts, which caused the content previously displayed in the area that
was becoming margins when remapping to remain there.

OK kettenis@

date 2019-03-15T11:05:29Z
author phessler
files src/sys/net80211/ieee80211_node.c log diff annotate
message fix autojoin for WEP network by actually saving the WEP auth key

discovered while attempting to autojoin WEP networks

date 2019-03-15T14:55:36Z
author visa
files src/sys/arch/octeon/dev/octciu.c log diff annotate
message Use a locally defined intrhand in octciu.c to ease future changes.

date 2019-03-15T23:09:23Z
author patrick
files src/sys/dev/usb/xhci.c log diff annotate
message The max burst size that is encoded in wMaxPacketSize is zero based,
as in: Since there's always one transfer, 0 means 1. Thus we have
to add 1 (not OR) to get to the desired number.

ok mglocker@ mpi@ stsp@

date 2019-03-15T23:20:35Z
author patrick
files src/sys/dev/usb/xhci.c log diff annotate
message Improve and enable isochronous transfers in xhci(4). Each isochronous
frame has to be enqueued as Transfer Descriptor. This means each frame
starts with an isoch TRB and may also contain further normal TRBs. The
TDs each throw at least one interrupt for a successful completion or
possibly more in case of a short xfer. We have to account the amount
of data transfered for each frame using the completion of the matching
TD and its TRBs.

Thanks to stsp@ for initiating this, and many more thanks to mglocker@
for reworking and cleaning up my initial diff. Further improvements
can happen in-tree now.

Tested by mglocker@, phessler@ and stsp@
ok mglocker@, stsp@

date 2019-03-16T02:40:43Z
author jcs
files src/sys/dev/ic/dwiicvar.h log diff annotate
src/sys/dev/pci/dwiic_pci.c log diff annotate
message fetch timing parameters from ACPI like the ACPI attachment does
since those fetched from the controller may not be correct

also attach on intel 300 series devices

ok kettenis

date 2019-03-16T06:23:03Z
author visa
files src/sys/arch/mips64/mips64/interrupt.c log diff annotate
src/sys/arch/mips64/mips64/ipifuncs.c log diff annotate
src/sys/arch/octeon/dev/octcib.c log diff annotate
src/sys/arch/octeon/dev/octcit.c log diff annotate
src/sys/arch/octeon/dev/octciu.c log diff annotate
message Include header where event counters are used, so that
header can eventually stop including it on octeon.

date 2019-03-16T06:24:52Z
author visa
files src/sys/arch/octeon/dev/octcit.c log diff annotate
message Fix incorrect flag.

date 2019-03-16T13:16:49Z
author fcambus
files src/sys/arch/amd64/amd64/efifb.c log diff annotate
message Now that efifb(4) supports remapping the framebuffer in write combining
mode, it's fast enough to raise the maximum size of the EFI framebuffer
console.

Set it to 160 columns and 160 rows, to match inteldrm and radeondrm.

OK jcs@, kettenis@

date 2019-03-16T15:04:19Z
author anton
files src/sys/dev/wscons/wsmux.c log diff annotate
message Clear the me_evp pointer after calling wsmux_do_close() as opposed of
before. The pointer indicates if a wsmux device is attached to another
wsmux, clearing it therefore allows same device to attached again. This
can be problematic since wsmux_do_close() can sleep. Swapping the order
of operations prevents attaching a wsmux which is in a closing state.

ok deraadt@ mpi@ visa@

date 2019-03-16T16:33:59Z
author visa
files src/sys/arch/amd64/amd64/aesni.c log diff annotate
message Use SMR with aesni sessions. This makes the reference counting
unnecessary and enables lockless read access to the session list.

OK mpi@

date 2019-03-16T16:35:49Z
author visa
files src/sys/arch/octeon/dev/octeon_intr.c log diff annotate
message Unify the top-level structure of interrupt handles. This helps
when implementing interrupt-specific logic for intr_barrier(9).

date 2019-03-16T19:35:35Z
author mglocker
files src/sys/dev/usb/xhci.c log diff annotate
message Merge the duplicate code to handle isoc SHORT and SUCCESS xfer events
to one single function.

ok mpi@

date 2019-03-16T22:38:47Z
author sthen
files src/sys/dev/pci/pcidevs log diff annotate
message add entries for Attansic E2400/E2500, from Brad (and also present,
though with longer names, in an earlier diff from Genadijus Paleckis)

date 2019-03-16T22:38:58Z
author sthen
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message sync

date 2019-03-17T01:06:15Z
author cheloha
files src/sys/kern/kern_tc.c log diff annotate
message Change boot time/offset within tc_windup().

We need to perform the actual modification of the boot offset and the
time-of-boot within the "safe zone" in tc_windup() where the timehands'
generation is zero to conform to the timehands lockless read protocol.

Based on FreeBSD r303387.

Discussed with mpi@ and visa@.

ok visa@

date 2019-03-17T05:06:36Z
author visa
files src/sys/arch/loongson/loongson/machdep.c log diff annotate
src/sys/arch/mips64/mips64/interrupt.c log diff annotate
src/sys/arch/octeon/dev/octeon_intr.c log diff annotate
src/sys/arch/sgi/sgi/machdep.c log diff annotate
message Move intr_barrier(9) to the platform level so that it can be customized.

date 2019-03-17T05:25:06Z
author visa
files src/sys/arch/octeon/dev/octcib.c log diff annotate
src/sys/arch/octeon/dev/octcit.c log diff annotate
src/sys/arch/octeon/dev/octciu.c log diff annotate
src/sys/arch/octeon/dev/octeon_intr.c log diff annotate
src/sys/arch/octeon/include/intr.h log diff annotate
message Let each interrupt controller driver choose how to implement
intr_barrier(9).

With this change, the barrier should finally work properly with
cnmac(4) interrupts that have been assigned to secondary cores.

date 2019-03-17T08:13:48Z
author mglocker
files src/sys/dev/usb/xhci.c log diff annotate
message Remove obsolete semicolon at end of case switch.

date 2019-03-17T11:28:07Z
author mglocker
files src/sys/dev/usb/xhci.c log diff annotate
message Move the handler code in the xhci_event_xfer() switch case in two separate
functions for isoc and !isoc xfers.

Suggested by mpi@.

ok patrick@, stsp@

date 2019-03-17T16:27:16Z
author visa
files src/sys/arch/octeon/dev/octciu.c log diff annotate
message Replace a hand-rolled linked list with SLIST.

date 2019-03-17T16:31:26Z
author visa
files src/sys/arch/octeon/dev/octcit.c log diff annotate
src/sys/arch/octeon/dev/octciu.c log diff annotate
message Remember to detach the event counter when disestablishing
an interrupt handler.

date 2019-03-17T22:05:37Z
author mglocker
files src/sys/dev/usb/xhci.c log diff annotate
message Since an isoc endpoint never halts, move to remaining error handling
code in xhci_event_xfer() to the generic handler function.

suggested and ok mpi@

date 2019-03-17T23:57:12Z
author dlg
files src/sys/net/bpf.h log diff annotate
message extend BIOCSFILDROP so it can be configured to not capture packets.

this just provides the macros for the different values for BIOCGFILDROP
and BIOCSFILDROP, the implementation behing them is coming.

ok sthen@ mikeb@ claudio@ visa@

date 2019-03-18T00:05:52Z
author dlg
files src/sys/net/bpf.c log diff annotate
message extend BIOCSFILDROP so it can be configured to not capture packets.

BIOCSFILDROP was already able to be used as a quick and dirty
firewall, which is especially useful when you you want to filter
non-ip things. however, capturing the packets you're dropping is a
lot of overhead when you just want to drop stuff. this extends
fildrop so you can tell bpf not to capture the packets it drops.

ok sthen@ mikeb@ claudio@ visa@

date 2019-03-18T03:20:36Z
author dlg
files src/sys/net/if_mpip.c log diff annotate
src/sys/net/if_mpw.c log diff annotate
message make SIOCGETLABEL fail with EADDRNOTAVAIL if the label is not set.

this makes ifconfig print "(unset)" to show the label isn't set yet.

date 2019-03-18T03:21:20Z
author dlg
files src/sys/net/if_mpe.c log diff annotate
message tweak SIOCGETLABEL and add SIOCDELLABEL

makes mpe consistent with mpw and mpip

date 2019-03-18T04:12:02Z
author dlg
files src/sys/conf/GENERIC log diff annotate
message enable mpip(4)

ok deraadt@

date 2019-03-18T16:10:39Z
author fcambus
files src/sys/dev/rasops/rasops.c log diff annotate
message Modify rasops_list_font_cb() to not filter out fonts with different
sizes than the currently used one. This allows getting a list of all
loaded fonts when using the WSDISPLAYIO_LSFONT ioctl.

On top of allowing to see all fonts which are currently loaded when
invoking the -l option of wsfontload(8), it also removes the confusion
as to why we might reach the WSDISPLAY_MAXFONTCOUNT limit faster than
expected when loading more fonts.

OK sthen@

date 2019-03-18T17:30:08Z
author anton
files src/sys/arch/amd64/conf/Makefile.amd64 log diff annotate
src/sys/conf/files log diff annotate
src/sys/kern/subr_kubsan.c log diff annotate
message Add kubsan(4), a undefined behavior sanitizer for the kernel. It's
capable of detecting undefined behavior at runtime and all findings are
printed to the system console, including the offending line in the
source code.

kubsan is limited to architectures using Clang as their default compiler
and is not enabled by default.

Derived from the NetBSD implementation.

ok kettenis@ visa@

date 2019-03-19T09:19:16Z
author claudio
files src/sys/dev/usb/uaudio.c log diff annotate
message In uaudio_pdata_intr() don't error out early if the status is USBD_IOERROR.
At least my uaudio(4) over ohci is encountering a fair amount of USBD_IOERROR
when the system is busy (most probably because the deadline is missed because
of the big lock being hold). With this in, playing music while running a
make build no longer stops after a few seconds.
OK ratchov@

date 2019-03-19T20:13:54Z
author anton
files src/sys/kern/subr_kubsan.c log diff annotate
message correct LOCATION_REPORTED mask

date 2019-03-20T03:31:55Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add radeondrm pci ids missing from pcidevs but present in drm_pciids.h

date 2019-03-20T03:32:46Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2019-03-20T10:51:25Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add more intel graphics pci ids with known marketing names

date 2019-03-20T10:52:10Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2019-03-20T20:07:28Z
author bluhm
files src/sys/net/pf.c log diff annotate
message States in pf(4) let ICMP and ICMP6 packets pass if they have a
packet in their payload that matches an exiting connection. It was
not checked whether the outer ICMP packet has the same destination
IP as the source IP of the inner protocol packet. Enforce that
these addresses match, to prevent ICMP packets that do not make
sense.
Issue found by Nicolas Collignon, Corentin Bayet, Eloi Vanderbeken,
Luca Moro at Synacktiv.com
OK sashan@