OpenBSD cvs log

created 2020-07-28T21:47:51Z
begin 2020-05-26T00:00:00Z
end 2020-05-27T00:00:00Z
path src/sys
commits 31

date 2020-05-26T06:03:12Z
author jsg
files src/sys/dev/usb/usbdevs log diff annotate
message add TP-Link TL-WN822N-EU v5

from Tero Koskinen

date 2020-05-26T06:03:39Z
author jsg
files src/sys/dev/usb/usbdevs.h log diff annotate
src/sys/dev/usb/usbdevs_data.h log diff annotate
message regen

date 2020-05-26T06:04:30Z
author jsg
files src/sys/dev/usb/if_urtwn.c log diff annotate
message match on TP-Link TL-WN822N-EU v5

from Tero Koskinen

date 2020-05-26T06:13:10Z
author jmatthew
files src/sys/dev/pci/if_mcx.c log diff annotate
message Add checksum offload again, this time only asking the nic to do checksums
where the network stack indicates they're needed.

deraadt@ confirms this version doesn't break nfs over udp
ok dlg@

date 2020-05-26T07:01:54Z
author mpi
files src/sys/net/if_pppx.c log diff annotate
message Kill unecessary `pppx_ifs_lk' lock.

Premature locking is causing more trouble than it is solving issue. In this
case the lifetime of descriptors is protected by the KERNEL_LOCK() so using
a rwlock for the lookup introduce sleeping points and possible new races
without benefit.

From Vitaliy Makkoveev.

date 2020-05-26T07:06:37Z
author mpi
files src/sys/net/pipex.h log diff annotate
src/sys/net/pipex_local.h log diff annotate
message Document which lock protect pipex(4) fields.

From Vitaliy Makkoveev.

date 2020-05-26T07:53:00Z
author mpi
files src/sys/sys/conf.h log diff annotate
message Make cdev_{audio,video}_init() expose a kqfilter handler.

Missed in previous.

date 2020-05-26T08:02:54Z
author mpi
files src/sys/net/if_pppx.c log diff annotate
message Use C99 initializers in 'struct filterops' definitions.

date 2020-05-26T11:45:32Z
author stsp
files src/sys/net80211/ieee80211_input.c log diff annotate
message Let unencrypted 802.11 frames pass during hardware decryption post-processing.

Some drivers, such as ral(4), cannot provide the IV required for a replay
check because hardware strips the IV before passing the frame to the driver.
Which means frames with the RXI_HWDEC flag but without the 'protected' bit
set in the frame header must be passed without any further verification and
without updating the last-seen packet number.
All we can do is hope that these devices perform replay checking correctly.

Fixes a regression where some ral(4) devices would fail to receive packets
on encrypted networks. Reported and fix confirmed by Hendrik Meyburgh.

ok mpi@

date 2020-05-26T11:55:10Z
author aoyama
files src/sys/arch/m88k/conf/files.m88k log diff annotate
src/sys/arch/m88k/include/mutex.h log diff annotate
src/sys/arch/m88k/m88k/Attic/mutex.S log diff annotate
src/sys/arch/m88k/m88k/mutex.c log diff annotate
message Rewrite m88k mutex code as a slight variation of the MI mutex code.

This will make mutex spinning time visible in top(1), and also might
improve stability.

The major change in this is that the old assembly code acquires
mutexes with an atomic exchange operation, but releases them with a
regular store, but the new code always uses atomic exchange
operations.

The mutex.h changes to the macros conform to <sys/mutex.h> to be able
to reset the system while in ddb.

Suggested from Miod Vallat, tested by me. The stability in heavy load
is greatly improved in my case.

date 2020-05-26T11:55:54Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxreg.h log diff annotate
message Support iwx(4) firmware's BEACON_FILTER_CONFIG_API_S_VER_4 command.

Newer iwx(4) firmware versions will require a larger beacon filter command.
The extra fields fields are initialized to zero even on Linux but newer
firmware will require a size change anyway.

ok mpi@

date 2020-05-26T11:56:25Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Make iwx(4) binding command work on -48 firmware.

Some firmware versions don't expect LMAC_5G_INDEX in the binding command.
Set that value under the same conditions as the Linux driver does, which
makes this command work on -48 firmware.

ok mpi@

date 2020-05-26T11:57:08Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Make iwx(4) flush the Tx path before removing the AP from the firmware's
station table. The Tx flush operation depends on the station being present.

Avoids a fatal firmware error when the driver moves out of AUTH state.

date 2020-05-26T11:58:33Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Don't enable any BT modules in the iwx(4) BT_COEX command.

The iwx(4) driver intends to disable bluetooth. The command we sent to the
firmware says "wifi only", but also enabled a bluetooth module. This seems
to work as intended but is ambiguous. Linux also leaves all modules disabled
in wifi-only mode. So do not enable any BT modules in the BT_COEX command.

ok mpi@

date 2020-05-26T11:59:48Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxreg.h log diff annotate
src/sys/dev/pci/if_iwxvar.h log diff annotate
message Implement support for the iwx(4) SOC_CONFIGURATION command.

This command doesn't seem to be needed with the ax200 device we currently
support. But it does not hurt and will be needed for other devices this
driver intends to support in the future.

ok mpi@

date 2020-05-26T12:05:51Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxvar.h log diff annotate
message Make the necessary adjustments to parse iwx(4) -48 firmware image files.

This does not switch to newer firmware yet. The driver currently fails to
send frames when -48 firmware is used. And the -48 firmware image is not
yet available in fw_update(1).

date 2020-05-26T12:07:36Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message fix wrong firmware filename typo in a comment in iwx_read_firmware()

date 2020-05-26T13:21:58Z
author visa
files src/sys/arch/octeon/dev/octboot.c log diff annotate
src/sys/arch/octeon/include/octboot.h log diff annotate
src/sys/arch/octeon/stand/rdboot/rdboot.c log diff annotate
message Rework kernel loading with octboot(4)

Load the kernel image from the filesystem upfront in rdboot and pass
the loaded image to octboot(4)'s kexec call in a memory buffer. As a
result, octboot(4) does not rely on a mounted filesystem.

OK deraadt@

date 2020-05-26T13:30:47Z
author visa
files src/sys/arch/octeon/stand/rdboot/disk.c log diff annotate
src/sys/arch/octeon/stand/rdboot/rdboot.c log diff annotate
message Check outcome of loadrandom() on octeon

If loadrandom() succeeds, set RB_GOODRANDOM in boothowto.

To enable fchmod(), disk_open() has to mount the filesystem in writable
mode. This is tricky because the filesystem might be unclean. Hence the
code has to use MNT_FORCE.

Input and OK deraadt@

date 2020-05-26T13:38:07Z
author deraadt
files src/sys/arch/hppa/stand/libsa/pdc.c log diff annotate
message iodcstrategy() maintains a cache for READ performance (tapes are supported
here, and alternatively would need to rewind). WRITE code exists, but was
always wrong -- it writes the cache-buffer to disk, rather than the provided
write-buffer. Copy the write-buffer into the cache, and invalidate the cache
completely so that future reads start from scratch.

date 2020-05-26T13:47:27Z
author deraadt
files src/sys/arch/alpha/stand/boot/boot.c log diff annotate
message /etc/random.seed reuse can now be detected. The stat +T bit marks the file
(fchmod +T by bootcode, chmod 600 by /etc/rc). If the seed is reused, and
HWRNG isn't available, the kernel won't get RB_GOODSEED indication...

date 2020-05-26T13:47:29Z
author deraadt
files src/sys/arch/luna88k/stand/boot/boot.c log diff annotate
src/sys/arch/sgi/stand/boot/boot.c log diff annotate
src/sys/stand/boot/boot.c log diff annotate
message /etc/random.seed reuse can now be detected. The stat +T bit marks the file
(fchmod +T by bootcode, chmod 600 by /etc/rc). If the seed is reused, and
HWRNG isn't available, the kernel won't get RB_GOODSEED indication...

date 2020-05-26T14:00:40Z
author deraadt
files src/sys/arch/amd64/stand/boot/conf.c log diff annotate
message increment version numbers, due to recent RB_GOODSEED and fchmod +T changes

date 2020-05-26T14:00:41Z
author deraadt
files src/sys/arch/amd64/stand/cdboot/conf.c log diff annotate
src/sys/arch/amd64/stand/efi32/conf.c log diff annotate
message increment version numbers, due to recent RB_GOODSEED and fchmod +T changes

date 2020-05-26T14:00:42Z
author deraadt
files src/sys/arch/amd64/stand/efi64/conf.c log diff annotate
src/sys/arch/amd64/stand/efiboot/conf.c log diff annotate
src/sys/arch/amd64/stand/pxeboot/conf.c log diff annotate
src/sys/arch/arm64/stand/efiboot/conf.c log diff annotate
src/sys/arch/armv7/stand/efiboot/conf.c log diff annotate
src/sys/arch/hppa/stand/boot/conf.c log diff annotate
src/sys/arch/i386/stand/boot/conf.c log diff annotate
src/sys/arch/i386/stand/cdboot/conf.c log diff annotate
src/sys/arch/i386/stand/pxeboot/conf.c log diff annotate
src/sys/arch/landisk/stand/boot/conf.c log diff annotate
src/sys/arch/loongson/stand/boot/conf.c log diff annotate
src/sys/arch/macppc/stand/conf.c log diff annotate
src/sys/arch/octeon/stand/rdboot/rdboot.c log diff annotate
src/sys/arch/sgi/stand/boot/conf.c log diff annotate
src/sys/arch/sparc64/stand/ofwboot/vers.c log diff annotate
message increment version numbers, due to recent RB_GOODSEED and fchmod +T changes

date 2020-05-26T14:27:24Z
author deraadt
files src/sys/dev/rnd.c log diff annotate
message Rewrite the entropy enqueue ring to collect damage asyncronously, and adapt the
dequeue to mix a selection of "best" ring entries. Change the dequeue timeout
to exponentially backoff because excessive pool buffer generation is pointless
-- rekey's generally happen at 1.6MB and a long timeout, a lot of cpu cycles
were being wasted.

During boot-up (before timeouts work) aggressively consume enqueue damage
and rekey every time, to accelerate entropy injection into the chacha ring.

The goal is to compensate rapidly for weak seeding in unidentifiable
conditions, and ensure quality to arc4random() calls early in boot.
ok kettenis visa

date 2020-05-26T14:58:55Z
author visa
files src/sys/net/if.c log diff annotate
message Extract more randomness from mbuf flow

Input bits of the mbuf list head to enqueue_randomness(). While the set
of mbufs in circulation is relatively stable, the order in which they
reach if_input_process() is unpredictable. Shuffling can happen in many
subsystems, such as the network stack, device drivers, and memory
management.

OK deraadt@ mpi@

date 2020-05-26T16:28:49Z
author kettenis
files src/sys/arch/sparc64/stand/ofwboot/ofdev.c log diff annotate
message Implement write support for block devices and add readdir and fchmod
operations where appropriate. Based on a diff from deraadt@

ok deraadt@

date 2020-05-26T16:34:41Z
author deraadt
files src/sys/arch/sparc64/stand/ofwboot/boot.c log diff annotate
message /etc/random.seed reuse can now be detected. The stat +T bit marks the file
(fchmod +T by bootcode, chmod 600 by /etc/rc). If the seed is reused, and
HWRNG isn't available, the kernel won't get RB_GOODSEED indication...
ok kettenis

date 2020-05-26T16:43:36Z
author deraadt
files src/sys/arch/sgi/stand/boot/filesystem.c log diff annotate
message sgi had the same bug as sparc64 -- failed to put readdir and fchmod
operations for ufs and ufs2 into the file_system[] array ...

date 2020-05-26T21:35:43Z
author gkoehler
files src/sys/ddb/db_elf.c log diff annotate
message Stop requiring that .strtab has long alignment.

When ddb loads symbols, the .strtab contains char strings and doesn't
need long alignment. Our bootloader provides long alignment, but I
started loading symbols on powerpc64 without our bootloader.

ok mpi@ guenther@ kettenis@