Fix possible reload bug that leave old filters on a peer.
In rde_reload_done() the code handling the peer->reconf_rib case has a
continue which skips the code path that actually reapplies the outbound
filters. The result is that such a peer keeps on running with the old
filters -- a subsequent reload will then fix this.
Removing the continue changes the way peer->reconf_rib and peer->reconf_out
interact. Now reconf_rib needs to be checked before reconf_out since it
is possible for both to be set. Adjust the code in rde_softreconfig_in_done()
accordingly.
OK tb@
rdate: remove -c option, we don't install the "right" zone files
This option was non-functional since OpenBSD does not ship with the
/usr/share/zoneinfo/right time zone files, which include leap
seconds. OK dgl@
drm/amdgpu: replace PASID IDR with XArray
From Mikhail Gavrilov
b7cddf6c017510cd0c79980ea551e7bcdf0edc7e in linux-6.18.y/6.18.25
3c863ff920b45fa7a9b7d4cb932f466488a87a58 in mainline linux
Make xarray cyclic start looking for a free id at the position specified
by the next argument and stop after wrapping back to that position.
Previously looking for a free id started at the beginning of the
allocation range and stopped at the end, ignoring the next argument.
Currently xarray cyclic id allocations are only used by the GuC code in
inteldrm. In 6.18.25 drm, the amdgpu PASID allocation changes from
using cyclic idr to cyclic xarray.
sys/cnmac: add RX queues
Add RX queues to cnmac, backed by shared POW groups. Use PIP tags for RX
group selection and pass the tag up as M_FLOWID.
OK: visa@
sys/cnmac: read MAC address from device tree
Read local-mac-address from the matching ethernet port node in device
tree; fall back to the old board address allocation when it is absent.
As suggested by visa@, this changes HW address assignment on the
EdgeRouter Pro, and probably on the ER-8, by swapping ports as follows:
cnmac0 <-> cnmac4
cnmac1 <-> cnmac5
cnmac2 <-> cnmac6
cnmac3 <-> cnmac7
Affected devices uses the same MAC addresses as the original firmware.
OK: visa@
vmd(8): Avoid reuse of dead filedescriptor
When the vmd process sends a kernfd to the vmm process, that
descriptor will be closed in msgbuf_write() after a successful
sendmsg(). However, that descriptor number is still stored in
vm->vm_kernel.
When termination of one VM is interleaved with lauch of another VM,
that number might be reassigned to a _new_ kernfd of the launching
VM. Now we have a race:
- the vmd process queues an imsg with that descriptor in config_setvm()
(for the launching VM)
- the vmd process calls in vm_stop() close() on that descriptor
(for the terminating VM)
- when the vmd process calls proc_dispatch() imsgbuf_send() for
imsg queued in config_setvm(), sendmsg() will return EBADF (the
descriptor in the control message is invalid)
[3 lines not shown]
Bring the qwz driver up to WPA2 association on the Qualcomm WCN7850
chip.
Major changes:
1. Fix the RX path.
2. Fix the TX path.
3. Fix MSI interrupt routing.
4. Make the WPA2 4-way handshake complete.
5. Add bus_dmamap_sync() barriers on RX and TX.
6. Update register/descriptor defines from ath11k to ath12k WiFi7.
Known limitations:
- DHCP does not yet complete on most setups: TX of DISCOVER works
(the DHCP server sees it), but the OFFER does not reach the host.
Likely an RX-path or post-handshake GTK state issue. Reported by
kettenis@ with an athn(4) AP on a Vivobook.
- Some hardware (e.g. Honor laptop) hits a firmware page fault
[21 lines not shown]
make_addressRange: unused bits in max must be zero
X509v3_addr_add_range() requires that min and max of an address range
have network encoding. In the RFC 3779 encoding of an actual address
range (as opposed to a prefix) as a SEQUENCE OF two ASN.1 BIT STRINGs,
the trailing one bits of the maximum become unused bits and therefore
must be DER encoded as zeroes. The DER encoder will clear them via i2d
but these trailing ones are annoying. Make a copy in which the unused
bits are cleared.
ok kenjiro
Attempt to drain the transmit FIFO before resetting or disabling it such
that output that is currently in the FIFO makes it out. We already do
this when attaching as a console by using a fixed delay, but not in
compwroff() which runs when userland closes the associated tty. Instead
of using a fixed delay, look at the LSR_TSRE bit which should get set
if the FIFO (or the itransmit shift register if the FIFO is disabled) is
empty. Use a fixed timeout such that on hardware with a non-functional
LSR_TSRE bit the loops still terminate.
This should fix issues where we lose serial output when userland closes
a tty or when com(4) attaches to the port that is used as the console.
ok deraadt@
Fix PKCS7_set_{un,}signed_attributes()
In both these functions, if the X509_ATTRIBUTE_dup() fails, the
remainder of the sk stack is shared with p7si->{un,}auth_attr and
the caller will likely end up freeing it twice.
Fix this by writing another sk_deep_copy() patterned after the existing
ones in x509_lu.c and x509_vpm.c. PKCS7_set_{un,}signed_attributes()
become trivial wrappers of that.
ok jsing kenjiro
Allow '!}' and '!)' at EOF, even though there is no forward movement.
The updated behavior differs from traditional vi but matches vim.
It is already possible to run bang commands at EOF in conjunction
with some other forward movement commands such as 'l' and 'w'.
From Walter Alejandro Iglesias
Fix special case of ')' when the cursor is on white-space.
The forward sentence code has a special case to support moving to
the start of the next sentence when it is in the middle of a empty
line or whitespace between sentences. However, the logic was
incorrect and applied when the curson was on _any_ white-space.
This change adds logic to look back and detect whether the cursor
is actually in between two sentences.
Based on a diff from Walter Alejandro.
Prevent '(' from moving the cursor forward.
Fixes an issue where '(' moved forward the start of the next (not
previous) sentence when used within whitespace at the start if a line.
From Debian bug 193498 (Tommy Pettersson) via nvi2.