OpenBSD cvs log

created 2022-03-17T16:19:16Z
begin 2022-02-09T00:00:00Z
end 2022-02-16T00:00:00Z
path src/sys
commits 89

date 2022-02-09T03:22:50Z
author dlg
files src/sys/dev/pci/if_ixl.c log diff annotate
message enable hardware vlan tagging.

tested on sparc64 and x86

date 2022-02-09T04:13:39Z
author jsg
files src/sys/dev/pci/drm/i915/i915_pci.c log diff annotate
message drm/i915: Disable DSB usage for now

From Ville Syrjala
d63d077fc44645d51df7e9007df87853f5c13e4c in linux 5.15.y/5.15.22
99510e1afb4863a225207146bd988064c5fd0629 in mainline linux

date 2022-02-09T04:16:26Z
author jsg
files src/sys/dev/pci/drm/i915/display/intel_tc.c log diff annotate
message drm/i915/adlp: Fix TypeC PHY-ready status readout

From Imre Deak
39ac3945d966168bdede467446dec45cee3382bb in linux 5.15.y/5.15.22
3c6f13ad723e7206f03bb2752b01d18202b7fc9d in mainline linux

date 2022-02-09T04:19:11Z
author jsg
files src/sys/dev/pci/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c log diff annotate
message drm/amd/pm: correct the MGpuFanBoost support for Beige Goby

From Evan Quan
4f4c77ad5a13ac39d38cc3f1b963e85ecf9d528f in linux 5.15.y/5.15.22
3ec5586b4699cfb75cdfa09425e11d121db40773 in mainline linux

date 2022-02-09T04:22:32Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c log diff annotate
message drm/amd/display: watermark latencies is not enough on DCN31

From Paul Hsieh
7ff0ed88e4eb6bd7ccd7cf422ab855032ed0528c in linux 5.15.y/5.15.22
f5fa54f45ab41cbb1f99b1208f49554132ffb207 in mainline linux

date 2022-02-09T04:25:22Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/core/dc_link_dp.c log diff annotate
message drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina panels

From Aun-Ali Zaidi
2093ecf557e733f995c7db6df716c91c43923972 in linux 5.15.y/5.15.22
30fbce374745a9c6af93c775a5ac49a97f822fda in mainline linux

date 2022-02-09T04:29:02Z
author jsg
files src/sys/dev/pci/drm/i915/display/intel_overlay.c log diff annotate
message drm/i915/overlay: Prevent divide by zero bugs in scaling

From Dan Carpenter
5cba71707f0a7fe19fa1feaf25a4c094876c2db1 in linux 5.15.y/5.15.22
90a3d22ff02b196d5884e111f39271a1d4ee8e3e in mainline linux

date 2022-02-09T04:31:46Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_drv.c log diff annotate
message drm/amd: avoid suspend on dGPUs w/ s2idle support when runtime PM enabled

From Mario Limonciello
8a15ac1786c92dce6ecbeb4e4c237f5f80c2c703 in linux 5.15.y/5.15.22
e55a3aea418269266d84f426b3bd70794d3389c8 in mainline linux

date 2022-02-09T07:28:54Z
author visa
files src/sys/arch/armv7/conf/RAMDISK log diff annotate
message Increase armv7 ramdisk size to avoid errors in installer.

OK deraadt@

date 2022-02-09T07:58:24Z
author visa
files src/sys/dev/i2c/i2c.c log diff annotate
src/sys/dev/i2c/i2cvar.h log diff annotate
message Add iic_is_compatible() for matching I2C devices

When using device trees, the ia_name field of struct i2c_attach_args
points to the first string of the device node's "compatible" array.
However, in many cases it would be preferable to use the last, most
general "compatible" entry as a device matching criterion.

Enable more flexible device matching by permitting ia_name to point to
the raw "compatible" data which is a concatenation of NUL-terminated
strings. I2C bus code will supply the data and set ia_name and
ia_namelen. I2C device drivers will use iic_is_compatible() to check
matches. This method is also backwards compatible with the old, direct
use of ia_name.

Prompted by a related patch from kettenis@.

OK kettenis@

date 2022-02-09T11:12:21Z
author dlg
files src/sys/dev/pci/if_ixl.c log diff annotate
message enable hw vlan tag handling in the rx path too.

also tested on both x86 and sparc64.

date 2022-02-09T11:42:58Z
author sashan
files src/sys/net/pf_ioctl.c log diff annotate
message let pfattach() to also initialize pf_default_rule_new to avoid
div-by-zero in pf_purge()

Reported-by: [email protected]

OK deraadt@

date 2022-02-09T16:03:53Z
author dv
files src/sys/dev/acpi/acpitz.c log diff annotate
message add newline to acpitz(4) attach condition

ok miod@

date 2022-02-09T16:10:05Z
author dv
files src/sys/dev/acpi/acpibat.c log diff annotate
message add Surface Go 3 hid to acpibat(4)

Microsoft decided to break with basic ACPI standards with the Go 3.
In this case, they don't expose the battery in a standard way, so
acpibat(4) needs to look for the special Microsoft hid.

From mlarkin@, ok kettenis@

date 2022-02-09T23:54:32Z
author deraadt
files src/sys/arch/amd64/amd64/acpi_machdep.c log diff annotate
message Move x86-only stubs used by kern/subr_suspend.c into dev/acpi/acpi_x86.c
for sharing between i386 and amd64.
ok mlarkin kettenis

date 2022-02-09T23:54:34Z
author deraadt
files src/sys/arch/amd64/conf/files.amd64 log diff annotate
src/sys/arch/i386/conf/files.i386 log diff annotate
src/sys/arch/i386/i386/acpi_machdep.c log diff annotate
src/sys/dev/acpi/acpi.c log diff annotate
src/sys/dev/acpi/acpi_x86.c log diff annotate
message Move x86-only stubs used by kern/subr_suspend.c into dev/acpi/acpi_x86.c
for sharing between i386 and amd64.
ok mlarkin kettenis

date 2022-02-09T23:54:55Z
author deraadt
files src/sys/arch/arm64/arm64/acpi_machdep.c log diff annotate
src/sys/arch/arm64/arm64/Attic/suspend_machdep.c log diff annotate
src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/dev/apm.c log diff annotate
message *** empty log message ***

date 2022-02-09T23:55:33Z
author deraadt
files src/sys/arch/arm64/conf/GENERIC log diff annotate
message not ready for suspend

date 2022-02-09T23:55:57Z
author deraadt
files src/sys/arch/arm64/arm64/Attic/suspend_machdep.c log diff annotate
message this is now in apm.c

date 2022-02-10T01:50:19Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/dcn21/dcn21_resource.c log diff annotate
message bring back a local change to use DC_FP_START()/DC_FP_END() in
update_bw_bounding_box() lost in drm 5.15 update

should avoid 'SSE FP exception trap' infrequently seen on boot
with renoir and cezanne

problem reported by beck@ and claudio@

date 2022-02-10T05:48:02Z
author gkoehler
files src/sys/arch/macppc/dev/apm.c log diff annotate
src/sys/arch/powerpc/include/cpu.h log diff annotate
message Add stubs for macppc suspend

These stubs don't work; they only pretend to suspend the machine.
SUSPEND + MULTIPROCESSOR doesn't build. zzz(8) stops giving an error
message, even in no-SUSPEND kernels.

Add intr_enable in <powerpc/cpu.h>, adapted from powerpc64, because
subr_suspend.c calls intr_enable().

date 2022-02-10T06:52:13Z
author deraadt
files src/sys/arch/arm64/dev/apm.c log diff annotate
message #ifdef the SUSPEND ioctl block

date 2022-02-10T07:39:20Z
author visa
files src/sys/dev/acpi/acpi.c log diff annotate
src/sys/dev/acpi/acpivar.h log diff annotate
message Embed klist head in acpi_softc to avoid explicit malloc.

OK kettenis@

date 2022-02-10T10:14:02Z
author kn
files src/sys/uvm/uvm_map.c log diff annotate
message Unwire with map lock held

uvm_unmap_remove() effectively requires its caller to lock the vm map.

Even though uvm_map_teardown() is only called after a map's last reference
is dropped and is thus safe from other threads accessing the map, grab the
map's lock in uvm_map_teardown() to satify upcoming lock assertions in
uvm_unmap_remove().

Tested as part of a larger diff through
- amd64 package bulk builds by naddy
- amd64, arm64, powerpc64 base builds and regress by bluhm
- amd64 and sparc64 base builds and regress by me

Feedback mpi
OK kettenis

date 2022-02-10T10:15:35Z
author kn
files src/sys/uvm/uvm_fault.c log diff annotate
src/sys/uvm/uvm_map.c log diff annotate
src/sys/uvm/uvm_map.h log diff annotate
message Assert vm map locks

Introduce vm_map_assert_{wrlock,rdlock,anylock,unlocked}() in rwlock(9)
fashion and back up function comments about locking assumptions with proper
assertions.

Also add new comments/assertions based on code analysis and sync with
NetBSD as much as possible.

vm_map_lock() and vm_map_lock_read() are used for exclusive and shared
access respectively; currently no code path is purely protected by
vm_map_lock_read() alone, i.e. functions called with a read lock held by the
callee are also called with a write lock elsewhere.

Thus only vm_map_assert_{wrlock,anylock}() are used as of now.

This should help with unlocking UVM related syscalls

Tested as part of a larger diff through
- amd64 package bulk build by naddy
- amd64, arm64, powerpc64 base builds and regress by bluhm
- amd64 and sparc64 base builds and regress by me

Input mpi
Feedback OK kettenis

date 2022-02-10T16:22:00Z
author bluhm
files src/sys/dev/pci/if_ixl.c log diff annotate
message Enable receive checksum offloading on ixl(4) network interfaces.
from jan@; test and OK dlg@

date 2022-02-10T16:41:51Z
author deraadt
files src/sys/arch/amd64/amd64/acpi_machdep.c log diff annotate
message Duplicate "park disk" code, so that the SUSPEND case can be MI, it is only
HIBERNATE that needs to be in MD code.
ok gkoehler

date 2022-02-10T16:41:53Z
author deraadt
files src/sys/arch/i386/i386/acpi_machdep.c log diff annotate
src/sys/kern/subr_suspend.c log diff annotate
message Duplicate "park disk" code, so that the SUSPEND case can be MI, it is only
HIBERNATE that needs to be in MD code.
ok gkoehler

date 2022-02-11T00:43:27Z
author deraadt
files src/sys/arch/arm64/dev/apm.c log diff annotate
message sleep_cpu/resume_cpu are part of an earlier MI split attempt
noticed by kettenis

date 2022-02-11T01:55:12Z
author deraadt
files src/sys/arch/amd64/amd64/acpi_machdep.c log diff annotate
src/sys/arch/arm64/dev/apm.c log diff annotate
src/sys/arch/i386/i386/acpi_machdep.c log diff annotate
src/sys/arch/macppc/dev/apm.c log diff annotate
src/sys/kern/subr_suspend.c log diff annotate
src/sys/sys/device.h log diff annotate
message the sleep_clocks() hook is not needed because the architectures which
need to do this can do it a few moments later in a different hook

date 2022-02-11T07:25:50Z
author visa
files src/sys/kern/kern_event.c log diff annotate
src/sys/sys/event.h log diff annotate
message Inline klist_empty() for more economic machine code.

OK mpi@

date 2022-02-11T07:27:07Z
author visa
files src/sys/sys/event.h log diff annotate
message Check klist emptiness instead of NULL pointer in KNOTE()

All callers of KNOTE() supply a non-NULL klist argument. Replace the
NULL pointer check with klist emptiness check as a small optimization.

OK mpi@

date 2022-02-11T07:28:29Z
author visa
files src/sys/net/bpf.c log diff annotate
message Replace manual !klist_empty()+knote() with KNOTE().

OK mpi@

date 2022-02-11T09:25:04Z
author kn
files src/sys/uvm/uvm_fault.c log diff annotate
src/sys/uvm/uvm_map.c log diff annotate
src/sys/uvm/uvm_map.h log diff annotate
message Backout previous "Assert vm map locks" (commitid: sRNBfzX2dJrxFDmb)

WITNESS builds broke as reported by anton and bluhm:

root on sd0a (5ec49b3ad23eb2d4.a) swap on sd0b dump on sd0b
kernel: protection fault trap, code=0
Stopped at witness_checkorder+0x4ec: movl 0x10(%r12),%ecx

https://syzkaller.appspot.com/bug?id=be02b290a93c648986c35370a271aad4135a5044
https://syzkaller.appspot.com/text?tag=CrashLog&x=136e9aa4700000

date 2022-02-11T12:06:48Z
author kn
files src/sys/uvm/uvm_map.c log diff annotate
message Backout previous "Unwire with map lock held" (commitid: eQBvWUwShD91dN9Z)

WITNESS builds broke^W^Wkernels panic on boot as reported by anton and bluhm.
Booting bsd.mp in single-user mode inside VMM shows:

root on sd0a (5f9e458ed30b39ab.a) swap on sd0b dump on sd0b
Enter pathname of shell or RETURN for sh:
witness: lock order reversal:
1st 0xfffffd801f8ce468 vmmaplk (&map->lock)
2nd 0xfffffd801b8162c0 inode (&ip->i_lock)
lock order "&ip->i_lock"(rrwlock) -> "&map->lock"(rwlock) first seen at:
#0 rw_enter_read+0x38
#1 uvmfault_lookup+0x8a
#2 uvm_fault_check+0x32
#3 uvm_fault+0xfb
#4 kpageflttrap+0x12c
#5 kerntrap+0x91
#6 alltraps_kern_meltdown+0x7b
#7 copyout+0x53
#8 ffs_read+0x1f6
#9 VOP_READ+0x41
#10 vn_rdwr+0xa1
#11 vmcmd_map_readvn+0xa0
#12 exec_process_vmcmds+0x88
#13 sys_execve+0x732
#14 start_init+0x26f
#15 proc_trampoline+0x1c
lock order data w1 -> w2 missing
# exit
kernel: protection fault trap, code=0
Stopped at witness_checkorder+0x312: movl 0x10(%r14),%ecx

gkoehler reported faults on poisened addresses on macppc dual G5.

date 2022-02-11T15:11:35Z
author millert
files src/sys/sys/statvfs.h log diff annotate
message Fix typo in comment for f_favail.
From Alf Schlichting

date 2022-02-12T14:07:26Z
author visa
files src/sys/kern/sys_pipe.c log diff annotate
message Reduce code duplication in pipe event filters

Use the f_event callback for checking event state within the pipe
event filters. This enables the same f_modify and f_process functions
to handle the different filter types.

OK anton@

date 2022-02-12T16:22:03Z
author deraadt
files src/sys/arch/macppc/dev/apm.c log diff annotate
message for non-SUSPEND kernel, put the ioctl pieces entirely inside #ifdef

date 2022-02-12T16:22:40Z
author deraadt
files src/sys/arch/macppc/dev/apm.c log diff annotate
message add MP stubs

date 2022-02-12T16:25:42Z
author deraadt
files src/sys/arch/amd64/amd64/acpi_machdep.c log diff annotate
message wsdisplay checks are no longer needed here

date 2022-02-12T16:26:57Z
author deraadt
files src/sys/arch/i386/i386/acpi_machdep.c log diff annotate
message wsdisplay checks are no longer needed here

date 2022-02-13T11:58:53Z
author kettenis
files src/sys/arch/arm64/dev/aplsmc.c log diff annotate
message Add basic GPIO support.

ok patrick@

date 2022-02-13T12:02:21Z
author kettenis
files src/sys/arch/arm64/dev/aplpcie.c log diff annotate
message Some PCIe devices on the M1 and M1 Pro/Max need to be explicitly powered on
(most notably the WiFi chip). This is done through a GPIO controlled by
the SMC. Add support for this and make sure we wait for the 100ms required
by the PCIe standard when we use that GPIO to turn on power. This makes sure
these devices are available even if U-Boot doesn't turn them on for us.

ok patrick@

date 2022-02-13T12:58:46Z
author visa
files src/sys/kern/kern_event.c log diff annotate
src/sys/kern/sys_pipe.c log diff annotate
src/sys/kern/uipc_socket.c log diff annotate
src/sys/miscfs/fifofs/fifo_vnops.c log diff annotate
src/sys/net/bpf.c log diff annotate
src/sys/sys/event.h log diff annotate
message Rename knote_modify() to knote_assign()

This avoids verb overlap with f_modify.

date 2022-02-13T13:03:02Z
author visa
files src/sys/sys/event.h log diff annotate
message Add helper functions for f_modify and f_process to condense code

These new functions, knote_modify() and knote_process(), implement
the logic that is common to most f_modify and f_process instances.

The code is inlined so as to not add yet another call frame on the
already towering stack of kqueue functions. Also, the _fn versions
allow direct calling of an event function when there is only one
filter type to handle.

date 2022-02-13T13:05:51Z
author visa
files src/sys/kern/kern_event.c log diff annotate
src/sys/kern/sys_pipe.c log diff annotate
message Use knote_modify() and knote_process() in obvious places.

date 2022-02-13T15:54:07Z
author kettenis
files src/sys/arch/arm64/dev/aplintc.c log diff annotate
message The Apple M1 SoC has two mechanism for doing IPIs. The first method uses
the interrupt controller, the second method used implementation-specific
CPU registers. The M1 Pro/Max SoCs use a modified interrupt controller
that no longer provides the first method. So switch to the second method
in preparation for adding M1 Pro/Max support to OpenBSD. As a bonus this
mechanism seems to be faster (which may be why Apple calls these "fast"
IPIs).

ok patrick@

date 2022-02-13T15:56:55Z
author deraadt
files src/sys/arch/amd64/amd64/acpi_machdep.c log diff annotate
src/sys/arch/i386/i386/acpi_machdep.c log diff annotate
src/sys/kern/subr_suspend.c log diff annotate
message Move some MI pieces out of suspend_mp/resume_mp
ok kettenis

date 2022-02-13T16:44:50Z
author tobhe
files src/sys/arch/armv7/marvell/mvpcie.c log diff annotate
message Fix return value check of OF_getproplen(). If "reset-gpios" is not found
in the device tree -1 is returned, causing a panic in the following malloc
call.

ok kn@ patrick@ kettenis@

date 2022-02-13T19:15:09Z
author mlarkin
files src/sys/arch/amd64/isa/clock.c log diff annotate
message remove stray tab whitespace. no code change.

date 2022-02-13T23:11:10Z
author bluhm
files src/sys/net/bpf.c log diff annotate
message The length value in bpf_movein() is casted to from size_t to u_int
and then rounded before checking. Put the same check before the
calculations to avoid overflow.
Reported-by: [email protected]
OK claudio@

date 2022-02-14T00:53:40Z
author jsg
files src/sys/arch/arm64/dev/aplhidev.c log diff annotate
src/sys/dev/fdt/imxspi.c log diff annotate
src/sys/dev/fdt/simpleamp.c log diff annotate
message OF_getproplen() returns -1 on error, so don't store result in size_t
ok kettenis@

date 2022-02-14T02:57:21Z
author jsg
files src/sys/dev/acpi/dwgpio.c log diff annotate
message test the correct pointer for acpi_intr_establish() result
ok deraadt@ gnezdo@

date 2022-02-14T03:51:42Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c log diff annotate
src/sys/dev/pci/drm/radeon/radeon_kms.c log diff annotate
message change a NULL pa_memex test after use to an earlier KASSERT
from Ted Bullock

date 2022-02-14T04:33:18Z
author dlg
files src/sys/kern/uipc_mbuf.c log diff annotate
src/sys/kern/uipc_socket2.c log diff annotate
src/sys/sys/mbuf.h log diff annotate
message update sbchecklowmem() to better detect actual mbuf memory usage.

previously sbchecklowmem() (and sonewconn()) would look at the mbuf
and mbuf cluster pools to see if they were approaching their hard
limits. based on how many mbufs/clusters were allocated against the
limits, socket operations would start to fail with ENOBUFS until
utilisation went down.

mbufs and clusters have changed a lot since then though. there are
now many mbuf cluster pools, not just one for 2k clusters. because
of this the mbuf layer now limits the amount of memory all the mbuf
pools can allocate backend pages from rather than limit the individual
pools. this means sbchecklowmem() ends up looking at the default
pool hard limit, which is UINT_MAX, which in turn means means
sbchecklowmem() probably never applies backpressure. this is made
worse on multiprocessor systems where per cpu caches of mbuf and
cluster pool items are enabled because the number of in use pool
items is distorted by the cpu caches.

this switches sbchecklowmem to looking at the page allocations made
by all the pools instead. the big benefit of this is that the page
allocations are much more representative of the overall mbuf memory
usage in the system. the downside is is that the backend page
allocation accounting does not see idle memory held by pools. pools
cannot release partially free pages to the page backend (obviously),
and pools cache idle items to avoid thrashing on the backend page
allocator. this means the page allocation level is higher than the
memory used by actual in-flight mbufs.

however, this can also be a benefit. the backend page allocation is a
kind of smoothed out "trend" line. mbuf utilisation over short periods
can be extremely bursty because of things like rx ring dequeue and fill
cycles, or large socket sends. if you're trying to grow socket
buffers while these things are happening, luck becomes an important
factor in whether it will work or not. because pools cache idle items,
the backend page utilisation better represents the overall trend
of activity in the system and will give more consistent behaviour here.

this diff is deliberately simple. we're basically going from "no
limits" to "some sort of limit" for sockets again, so keeping the
code simple means it should be easy to understand and tweak in the
future.

ok djm@ visa@ claudio@

date 2022-02-14T04:41:13Z
author jsg
files src/sys/dev/pci/drm/radeon/radeon_kms.c log diff annotate
message no need for ifndef __sparc64__
from Ted Bullock who tested on sparc64 with xvr-100

date 2022-02-14T04:55:55Z
author jsg
files src/sys/dev/pci/drm/radeon/radeon_kms.c log diff annotate
message remove unused code

date 2022-02-14T05:20:03Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c log diff annotate
src/sys/dev/pci/drm/i915/i915_drv.c log diff annotate
src/sys/dev/pci/drm/radeon/radeon_kms.c log diff annotate
message check return value of drm_attach_pci()
adapted from a diff by Ted Bullock

date 2022-02-14T05:30:53Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c log diff annotate
src/sys/dev/pci/drm/radeon/radeon_kms.c log diff annotate
message reprint device name in attach error paths if needed

date 2022-02-14T11:26:05Z
author claudio
files src/sys/kern/kern_exit.c log diff annotate
src/sys/kern/kern_sig.c log diff annotate
src/sys/kern/kern_synch.c log diff annotate
src/sys/sys/signalvar.h log diff annotate
src/sys/ufs/mfs/mfs_vfsops.c log diff annotate
message Introduce a signal context that is used to pass signal related information
from cursig() to postsig() or the caller itself. This will simplify locking.
Also alter sigactsfree() a bit and move it into process_zap() so ps_sigacts
is always a valid pointer.
OK semarie@

date 2022-02-14T12:54:43Z
author jsg
files src/sys/dev/ofw/ofw_regulator.c log diff annotate
message OF_getproplen() returns -1 on error, so don't store result in size_t
spotted by and ok tb@, ok tobhe@

date 2022-02-14T13:03:52Z
author aoyama
files src/sys/arch/luna88k/include/bus.h log diff annotate
message Delete incomplete implementation of bus_space_{alloc,free} in bus.h.

This prevents errors on luna88k in src/usr.sbin/fw_update/pattern.c
which includes dev/pci/pcivar.h, which includes machine/bus.h.

Suggested by miod@

date 2022-02-14T14:55:53Z
author kettenis
files src/sys/arch/arm64/dev/apliic.c log diff annotate
message Pass the entire compatible property for devices attaching to the iic(4) bus.

ok visa@

date 2022-02-14T14:57:00Z
author kettenis
files src/sys/dev/fdt/tascodec.c log diff annotate
message Use iic_is_compatible(9) and use the more generic compatible string to
match the device.

ok visa@

date 2022-02-14T18:09:08Z
author rob
files src/sys/sys/sysctl.h log diff annotate
message Revert change to ps for displaying chrooted process.
Ok deraadt

date 2022-02-14T19:25:03Z
author deraadt
files src/sys/dev/acpi/acpi_x86.c log diff annotate
message acpi_indicator() can take the softc*, instead of void*

date 2022-02-14T21:11:02Z
author kn
files src/sys/uvm/uvm_map.c log diff annotate
message Unwire with map lock held

This is an updated version of uvm_map.c r1.283 "Unwire with map lock held".

The previous version introduced a use-after-free by not unlocking vm_map
locks in uvm_map_teardown(), resulting in dangling references on the
reaper's lock list (thanks visa!).

Lock and unlock the map in around uvm_map_teardown() instead.
This code path holds the last reference, hence the lock isn't strictly
needed except for satisfying upcoming locking assertions.

Tested on amd64, arm64, i386, macppc, octeon, sparc64.
This time also with WITNESS enabled (except on sparc64 which builds but does
not boot with WITNESS; this is a known issue).

OK mpi visa

date 2022-02-14T23:02:15Z
author jsg
files src/sys/dev/pcmcia/if_malo.c log diff annotate
message fix cmalo_media_change() test
ok claudio@ deraadt@

date 2022-02-14T23:20:46Z
author jsg
files src/sys/arch/hppa/dev/mongoose.c log diff annotate
src/sys/arch/macppc/dev/openpic.c log diff annotate
message don't deref pointer before test it is safe
ok miod@

date 2022-02-14T23:42:37Z
author kettenis
files src/sys/dev/acpi/acpi_x86.c log diff annotate
message Make sure we call acpi_resume_cpu() with the right ACPI state. This was
accidentally broken with the reorganization of the suspend/resume code that
was committed a few days ago.

ok deraadt@

date 2022-02-15T00:27:11Z
author jsg
files src/sys/arch/hppa/include/db_machdep.h log diff annotate
message fix mask in hppa inst_trap_return()

inst_trap_return() was checking for rfir by masking with 0xfc001fc0
which made it impossible to match rfir (0xca0)

rfi: return from interruption
00 rv rv rv 60 0
6 5 5 3 8 5

rfir: return from interruption and restore
00 rv rv rv 65 0
6 5 5 3 8 5

from "PA-RISC 1.1 Architecture and Instruction Set Reference Manual"
where rv indicates reserved bits

change the mask to only mask out reserved bits and check for rfi
in addition to rfir

ok miod@

date 2022-02-15T02:29:23Z
author deraadt
files src/sys/dev/acpi/acpi_x86.c log diff annotate
message The DVACT_POWERDOWN step was accidentally moved in relation to some MD
steps, so shuffle the MD steps to reinforce the order.

date 2022-02-15T02:38:16Z
author deraadt
files src/sys/arch/arm64/dev/apm.c log diff annotate
message MI disable_lid_wakeups() is not needed, x86 systems can do this
in sleep_resume(), which seems sensible for other future systems also

date 2022-02-15T02:38:17Z
author deraadt
files src/sys/arch/macppc/dev/apm.c log diff annotate
src/sys/dev/acpi/acpi_x86.c log diff annotate
message MI disable_lid_wakeups() is not needed, x86 systems can do this
in sleep_resume(), which seems sensible for other future systems also

date 2022-02-15T02:38:18Z
author deraadt
files src/sys/kern/subr_suspend.c log diff annotate
src/sys/sys/device.h log diff annotate
message MI disable_lid_wakeups() is not needed, x86 systems can do this
in sleep_resume(), which seems sensible for other future systems also

date 2022-02-15T03:31:17Z
author jsg
files src/sys/net/pipex_local.h log diff annotate
message remove unused and uneeded bits in a byte define
posix requires a byte to be 8 bits

date 2022-02-15T03:53:58Z
author jsg
files src/sys/kern/tty.c log diff annotate
message unifdef TIOCHPCL, 4.3BSD compat ioctl
ok deraadt@ guenther@

date 2022-02-15T04:16:10Z
author dlg
files src/sys/net/if_tun.c log diff annotate
message make tun_link_state take the ifnet pointer instead of tun_softc.

it only works on struct ifnet data, so passing ifp makes it clearer
what's actually being manipulated. also fix tun_dev_open so
tun_link_state is called before if_put instead of immediately after.

date 2022-02-15T04:19:52Z
author dlg
files src/sys/net/if_tun.c log diff annotate
message only tweak ifp if_flags while holding NET_LOCK.

tun_dev_open and tun_dev_close were being optmistic.

date 2022-02-15T08:43:50Z
author visa
files src/sys/net/bpf.c log diff annotate
message Use knote_modify_fn() and knote_process_fn() in bpf.

OK dlg@

date 2022-02-15T10:30:23Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c log diff annotate
src/sys/dev/pci/drm/i915/i915_drv.c log diff annotate
src/sys/dev/pci/drm/radeon/radeon_device.c log diff annotate
message consistently use __linux__

date 2022-02-15T10:36:59Z
author jsg
files src/sys/dev/sbus/rfx.c log diff annotate
message unifdef OpenBSD
ok miod@

date 2022-02-15T11:54:19Z
author kn
files src/sys/uvm/uvm_map.c log diff annotate
message Backout previous "Unwire with map lock held" (commitid: SsVz7dLGFgR21kFe)

The (known) lock order reversals which now occur more reliably and much
earlier on WITNESS boots with this diff knock out syzcaller reports since
syzcaller stops at the first "crash report":
https://syzkaller.appspot.com/bug?id=81b39e970cd2eb21b97d1b31746c693e300fd2dd

date 2022-02-15T12:04:44Z
author jsg
files src/sys/dev/ic/uha.c log diff annotate
message unifdef __OpenBSD__

date 2022-02-15T12:24:55Z
author claudio
files src/sys/dev/acpi/com_acpi.c log diff annotate
message com at acpi like com at isa needs com_active() for suspend/resume support.
Fixes my com0 issues after zzz and ZZZ.
OK kettenis@ miod@

date 2022-02-15T16:54:48Z
author deraadt
files src/sys/arch/arm64/dev/apm.c log diff annotate
src/sys/arch/macppc/dev/apm.c log diff annotate
src/sys/dev/acpi/acpi_x86.c log diff annotate
src/sys/kern/subr_suspend.c log diff annotate
src/sys/sys/device.h log diff annotate
message when the MI suspend code encounters problems, we need a way to
reset the MD state before bailing out. New MD function sleep_abort()
does that.

date 2022-02-15T21:13:39Z
author kettenis
files src/sys/dev/acpi/acpitoshiba.c log diff annotate
message Defer the actual setting of the display brightness to the acpi thread.

ok deraadt@

date 2022-02-15T21:17:12Z
author deraadt
files src/sys/arch/arm64/dev/apm.c log diff annotate
src/sys/arch/macppc/dev/apm.c log diff annotate
src/sys/dev/acpi/acpi_x86.c log diff annotate
src/sys/kern/subr_suspend.c log diff annotate
src/sys/sys/device.h log diff annotate
message Since acpitoshiba brightness button processing no longer plays games
with AML parsing outside the acpi thread, the locking-release dance
around wsdisplay_{suspend,resume} can be removed
ok kettenis

date 2022-02-15T23:16:00Z
author rob
files src/sys/kern/vfs_syscalls.c log diff annotate
src/sys/sys/proc.h log diff annotate
message Reintroduce ps state flag 'c' indicating chrooted process (via PS_BITS).
Ok deraat@