jsing [Sat, 21 May 2022 13:16:19 +0000 (13:16 +0000)]
Factor out ASN1_ITYPE_EXTERN handling.
Factor out the ef->asn1_ex_d2i() callback handling - this allows us to pull
out all of the related variables into a self-contained function.
ok tb@
ajacoutot [Sat, 21 May 2022 12:42:21 +0000 (12:42 +0000)]
${rcexec} -> rc_exec
jsing [Sat, 21 May 2022 11:21:31 +0000 (11:21 +0000)]
Use 'at' for ASN1_TEMPLATE variable names rather than 'tt'.
Also use array indexes for it->templates, rather than trying to be extra
clever in for loops (suggested by tb@ during a review).
No functional change.
ok tb@
jsing [Sat, 21 May 2022 11:12:03 +0000 (11:12 +0000)]
Remove _ex_ from all of the internal function names.
It no longer makes sense to have "extended" versions of functions
internally.
No functional change.
ok tb@
ajacoutot [Sat, 21 May 2022 10:50:09 +0000 (10:50 +0000)]
Replace the $rcexec variable by an rc_exec function.
It is much cleaner to the eyes and makes more sense from a functionnal point of
view.
This will allow to extend rc_exec with other functionnalities (like upcoming
rc_startdir).
Bonus point: daemon_logger will now work with manually crafted rc_start
functions.
This will require a mechanical change from ${rcexec} to rc_exec in rc.d scripts.
ports will be fixed right after this commit but we will keep compatibility to
give a chance to people to fix their custom scripts.
positive tests from a few
ok robert@
ajacoutot [Sat, 21 May 2022 10:10:45 +0000 (10:10 +0000)]
No need for true(1).
deraadt [Sat, 21 May 2022 01:21:29 +0000 (01:21 +0000)]
repair a few more backwards compares that create headaches
ok millert
millert [Sat, 21 May 2022 00:53:53 +0000 (00:53 +0000)]
system(3) should ignore SIGINT and SIGQUIT until the shell exits.
This got broken when system.c was converted from signal(3) to sigaction(2).
Also add SIGINT and SIGQUIT to the set of blocked signals and unblock
them in the parent after the signal handlers are installed.
Based on a diff from Leon Fischer. OK deraadt@
dv [Fri, 20 May 2022 22:42:09 +0000 (22:42 +0000)]
vmm: remove spinout paranoia
Move all the spinout counters for ipis (enable/disable vmm, remote
vmcs clear) behind MP_LOCKDEBUG.
All three areas (vmm_start, vmm_stop, vmx_remote_vmclear) migrate
to infinite busy waits.
tested by and ok mlarkin@
dv [Fri, 20 May 2022 22:14:19 +0000 (22:14 +0000)]
vmm: load the vmcs before reading vcpu registers
The vmm(4) ioctl for reading a vcpu's registers didn't flush and
load the vmcs before issuing vmread instructions. This adds a flag
to vcpu_readregs_vmx to signal if the vmcs needs to be synchronized
before attempting the reads. (This is the same approach used for
vcpu_writeregs_vmx function.)
This fixes `vmctl send` on Intel hosts using vmd(8).
While here, I noticed the vcpu_writeregs_vmx function doesn't
properly set the vmcs state variable to VMCS_CLEARED after running
a vmclear instruction. This can cause errors on vm re-entry.
ok mlarkin@
dv [Fri, 20 May 2022 22:06:47 +0000 (22:06 +0000)]
use correct logging or error calls
ftruncate sets errno, so use fatal() and not fatalx().
Checking for under-reads of read(2) isn't going to set errno so
use errx().
ok abieber@
espie [Fri, 20 May 2022 20:31:38 +0000 (20:31 +0000)]
as promised, extend the precaching using quirks stems extension.
(as it happens, some py-sip thingy got the treatment so I could test
that the code does something) !
mbuhl [Fri, 20 May 2022 20:08:43 +0000 (20:08 +0000)]
Add expected failures for octeon and riscv64.
schwarze [Fri, 20 May 2022 13:06:26 +0000 (13:06 +0000)]
Re-classify the roff(7) \r (reverse line feed) escape sequence
from "ignore" to "unsupported" because when an input file uses it,
mandoc(1) is likely to significantly misformat the output,
usually showing parts of the output in a different order
than the author intended.
schwarze [Fri, 20 May 2022 12:30:33 +0000 (12:30 +0000)]
Test the handling of some additional one-character escape sequences
that take no argument and are ignored: \% \& \^ \a \d \t \u \{ \| \}
No change to parsing or formatting needed.
espie [Fri, 20 May 2022 10:39:24 +0000 (10:39 +0000)]
fold some of the useful "obsolete" information into the main text
job [Fri, 20 May 2022 10:38:39 +0000 (10:38 +0000)]
Add RFC 7318
bluhm [Fri, 20 May 2022 09:46:47 +0000 (09:46 +0000)]
New ldapsearch does not support -h and -p for host and port, but
accepts -H ldapuri. Use startup and cleanup framework. Pidfile
does not work anymore, use pkill ldapd. Delete deactivated and
failing cpan test.
tb [Fri, 20 May 2022 08:04:21 +0000 (08:04 +0000)]
Drop *out == NULL check in ASN1_STRING_to_UTF8()
Unfortunately, several things in the ecosystem depend on the existing
API behavior of being able to pass in an uninitialized pointer on the
stack: haproxy, grpc, mongo-tools and others show up on the first two
pages of Debian codesearch.
ok jsing
tb [Fri, 20 May 2022 08:00:05 +0000 (08:00 +0000)]
Don't pass uninitialized pointer to ASN1_STRING_to_UTF8()
Exposed by recent rewrite of ASN1_STRING_to_UTF8(). Found via grep
after fixing CID 352831.
ok jsing
tb [Fri, 20 May 2022 07:58:54 +0000 (07:58 +0000)]
Don't pass uninitialized pointer to ASN1_STRING_to_UTF8()
Exposed by recent rewrite of ASN1_STRING_to_UTF8().
CID 352831
ok jsing
anton [Fri, 20 May 2022 05:03:45 +0000 (05:03 +0000)]
Rename hid_none to hid_all as it represents all possible hid kinds by
now.
anton [Fri, 20 May 2022 05:02:47 +0000 (05:02 +0000)]
uhid_maxrepid() is currently not able to observe all report IDs as it
passes hid_none as the wanted hid kind to hid_start_parse(). This
becomes a problem for descriptors with multiple report IDs per
collection. Therefore change the semantics of the hid_none kind to let
it represents all possible kinds.
Gets rid of "uhidev_intr: bad repid" console spam as reported by sthen@
on bugs@.
Have been in snaps for a week.
jsing [Thu, 19 May 2022 19:45:18 +0000 (19:45 +0000)]
Reorder functions within file.
Order functions by use, moving public API to the bottom and utility
functions to the top. This makes the code more logical/readable, plus we
can remove all except one of the static function prototypes.
No functional change.
jsing [Thu, 19 May 2022 19:31:39 +0000 (19:31 +0000)]
Rewrite the asn1_template_*() functions with CBS.
Rewrite the asn1_template_*() functions with CBS, readable variable names
and free then alloc.
This was the last caller of asn1_check_eoc() and asn1_check_tag(), hence
remove them and rename the _cbs suffixed versions in their place.
ok tb@
schwarze [Thu, 19 May 2022 16:15:35 +0000 (16:15 +0000)]
following the fixed parsing direction of roff_expand() in roff.c rev. 1.260,
some diagnostics now appear in a more reasonable order, too
schwarze [Thu, 19 May 2022 16:07:02 +0000 (16:07 +0000)]
Adjust a column number in an error message
after the roff_expand() reorganization in roff.c rev. 1.260.
The new parsing direction has two effects:
1. Correct output when a line contains more than one expanding
escape sequence that has a side effect.
2. Column numbers in diagnostic messages now report the changed
column numbers after any expansions left of them have taken place;
in the past, column numbers refered to the original input line.
Arguably, item 2 was a bit better in its old state, but slightly
less helpful diagnostics are a small price to pay for correct
output. Besides, when the expansion of user-defined strings or
macros is involved, in many cases, mandoc(1) is already unable to
report meaningful line and column numbers, so item 2 is not a
noteworthy regression. The effort and code complication for fixing
that would probably be excessive, in particular since well-written
manual pages are not supposed to use such features in the first place.
schwarze [Thu, 19 May 2022 15:42:14 +0000 (15:42 +0000)]
fix a wrong column number that got fixed as a side effect
of the roff_expand() reorganization in roff.c rev. 1.260
schwarze [Thu, 19 May 2022 15:33:54 +0000 (15:33 +0000)]
remove a bogus warning that went away as a side effect
of the roff_expand() reorganization in roff.c rev. 1.260
schwarze [Thu, 19 May 2022 15:17:50 +0000 (15:17 +0000)]
Make roff_expand() parse left-to-right rather than right-to-left.
Some escape sequences have side effects on global state, implying
that the order of evaluation matters. For example, this fixes the
long-standing bug that "\n+x\n+x\n+x" after ".nr x 0 1" used to
print "321"; now it correctly prints "123".
Right-to-left parsing was convenient because it implicitly handled
nested escape sequences. With correct left-to-right parsing, nesting
now requires an explicit implementation, here solved as follows:
1. Handle nested expanding escape sequences iteratively.
When finding one, expand it, then retry parsing the enclosing escape
sequence from the beginning, which will ultimately succeed as soon
as it no longer contains any nested expanding escape sequences.
2. Handle nested non-expanding escape sequences recursively.
When finding one, the escape sequence parser calls itself to find
the end of the inner sequence, then continues parsing the outer
sequence after that point.
This requires the mandoc_escape() function to operate in two different
modes. The roff(7) parser uses it in a mode where it generates
diagnostics and may return an expansion request instead of a parse
result. All other callers, in particular the formatters, use it
in a simpler mode that never generates diagnostics and always returns
a definite parsing result, but that requires all expanding escape
sequences to already have been expanded earlier. The bulk of the
code is the same for both modes.
Since this required a major rewrite of the function anyway, move
it into its own new file roff_escape.c and out of the file mandoc.c,
which was misnamed in the first place and lacks a clear focus.
As a side benefit, this also fixes a number of assertion failures
that tb@ found with afl(1), for example "\n\\\\*0", "\v\-\\*0",
and "\w\-\\\\\$0*0".
As another side benefit, it also resolves some code duplication
between mandoc_escape() and roff_expand() and centralizes all
handling of escape sequences (except for expansion) in roff_escape.c,
hopefully easing maintenance and feature improvements in the future.
While here, also move end-of-input handling out of the complicated
function roff_expand() and into the simpler function roff_parse_comment(),
making the logic easier to understand.
Since this is a major reorganization of a central component of
mandoc(1), stability of the program might slightly suffer for a few
weeks, but i believe that's not a problem at this point of the
release cycle. The new code already satisfies the regression suite,
but more tweaking and regression testing to further improve the
handling of various escape sequences will likely follow in the near
future.
schwarze [Thu, 19 May 2022 14:47:47 +0000 (14:47 +0000)]
improve a comment explaining a particularly nasty hack; no code change
claudio [Thu, 19 May 2022 13:12:35 +0000 (13:12 +0000)]
Remove unused macro (log_debuginfo)
aoyama [Thu, 19 May 2022 12:55:59 +0000 (12:55 +0000)]
Now MULTIPROCESSOR kernel boots with CPU modules installed in
arbitrary slots.
Plamen Mihaylov's LUNA-88K2 originally has 2 CPU modules in slot #0
and #2, but MULTIPROCESSOR kernel panics because they are not placed
in contiguous slots. This diff fixes it.
Original diff from miod@, tested by Plamen Mihaylov and me.
espie [Thu, 19 May 2022 09:20:31 +0000 (09:20 +0000)]
document what this file stands for
stsp [Thu, 19 May 2022 08:05:23 +0000 (08:05 +0000)]
Document that imsg_add(3) frees its msg argument on failure.
ok op@ claudio@
tb [Thu, 19 May 2022 07:33:02 +0000 (07:33 +0000)]
Adjust or remove some stale comments
tb [Thu, 19 May 2022 07:04:41 +0000 (07:04 +0000)]
Add missing space between No macro and "authority".
tb [Thu, 19 May 2022 06:39:21 +0000 (06:39 +0000)]
Deal with STACK_OF divergence between LibreSSL and OpenSSL
tb [Thu, 19 May 2022 06:37:51 +0000 (06:37 +0000)]
Rewrite mft.c and roa.c with ASN.1 templates
The ASN.1 templates are a rather direct translation of the ASN.1 in the
relevant RFCs and they allow deserializing the Manifest and ROA eContent
in a single step instead of numerous opaque d2i_ASN1_SEQUENCE_ANY() calls.
Once the eContent is deserialized, we can walk the structs, validate it
as before and populate the internal data structures.
Positive feedback job
ok claudio
miod [Thu, 19 May 2022 05:43:48 +0000 (05:43 +0000)]
Not so recent evolution of the PowerPC and POWER architectures have defined
exception addresses past EXC_LAST, making its definition wrong.
Replace it with EXC_END, which points to the end of hardware exception
addresses, and adjust logic accordingly.
ok kettenis@
jsg [Thu, 19 May 2022 04:09:36 +0000 (04:09 +0000)]
Revert "drm/amd/pm: keep the BACO feature enabled for suspend"
From Alex Deucher
0fad10b263a33492107d62caa460d5e4c717ce29 in linux 5.15.y/5.15.41
a56f445f807b0276fc0660c330bf93a9ea78e8ea in mainline linux
kevlo [Thu, 19 May 2022 00:52:37 +0000 (00:52 +0000)]
Force maximum payload size to 128 bytes for AR816X/AR817x as it triggers
dma write error rendering the network unusable.
Bug reported and patch tested by Scott C. MacCallum.
espie [Wed, 18 May 2022 10:04:47 +0000 (10:04 +0000)]
document what PLIST_REPOSITORY does a bit better
miod [Wed, 18 May 2022 06:02:33 +0000 (06:02 +0000)]
Remove #ifdef DDB specific includes, added in 1.968 but related code bits
removed in 1.970.
ok bluhm@
jsing [Tue, 17 May 2022 19:09:16 +0000 (19:09 +0000)]
Refactor asn1_d2i_ex_primitive()
Split the object content handling off into asn1_d2i_ex_primitive_content(),
move the handling ov V_ASN1_ANY into asn1_d2i_ex_any() and move the MSTRING
handling into asn1_d2i_ex_mstring(). This way we parse the header once
(rather than twice for ANY and MSTRING), then process the content, while
also avoiding complex special cases in a single code path.
ok tb@
jmc [Tue, 17 May 2022 16:50:30 +0000 (16:50 +0000)]
document /etc/login.conf.d/
help robert ajacoutot
ok ajacoutot
espie [Tue, 17 May 2022 15:18:43 +0000 (15:18 +0000)]
ditch most of the obsolete stuff
there are still a few odds and ends which should make their way to the
rest of the manpage eventually (or to the faq), useful information that's
not immediately available elsewhere
tobhe [Tue, 17 May 2022 14:49:22 +0000 (14:49 +0000)]
Move towards OpenIKED 7.1
jsing [Tue, 17 May 2022 12:23:52 +0000 (12:23 +0000)]
Refactor ASN.1 template functions before rewriting.
Change asn1_template_ex_d2i() so that we short circuit in the no explicit
tagging case.
Split out the SET OF/SEQUENCE OF handling from asn1_template_noexp_d2i()
into a asn1_template_stack_of_d2i() function and simplify the remaining
code.
ok tb@
kettenis [Tue, 17 May 2022 10:09:40 +0000 (10:09 +0000)]
Use a higher match priority such that mvclock(4) wins from syscon(4).
ok patrick@, dtucker@
tb [Tue, 17 May 2022 09:17:20 +0000 (09:17 +0000)]
Expose asn1_abs_set_unused_bits() in asn1_locl.h
Should have been part of a previous commit.
ok jsing
tb [Tue, 17 May 2022 08:00:51 +0000 (08:00 +0000)]
Rewrite make_addressRange() using CBS
Factor the trimming of the end and the counting of unused bits into
helper functions and reuse an ASN.1 bit string API to set the unused
bits and the ASN1_STRING_FLAG_BITS_SET. With a couple of explanatory
comments it becomes much clearer what the code is actually doing and
why.
ok jsing
tb [Tue, 17 May 2022 07:50:59 +0000 (07:50 +0000)]
Simplify make_addressPrefix()
In order to set the BIT STRING containing an address prefix, use existing
helper functions from the ASN.1 code instead of redoing everything by
hand. Make the function single exit and rename a few variables to make
it clearer what is being done.
ok jsing
ajacoutot [Tue, 17 May 2022 07:02:40 +0000 (07:02 +0000)]
Simplify unbound rc.d script.
input/ok sthen@ halex@
tb [Mon, 16 May 2022 20:53:20 +0000 (20:53 +0000)]
Add a simple test that exercises ASN1_STRING_to_UTF8() a little.
tb [Mon, 16 May 2022 20:51:26 +0000 (20:51 +0000)]
Clean up and fix ASN1_STRING_to_UTF8()
Instead of using a temporary variable on the stack, we can use the usual
Henson mechanism for allocating the struct. Make the function single exit
and throw an error instead of crashing or leaking if out is NULL or *out
is non-NULL.
tweaks/ok jsing
tb [Mon, 16 May 2022 20:44:17 +0000 (20:44 +0000)]
Remove a stray space
tb [Mon, 16 May 2022 20:41:24 +0000 (20:41 +0000)]
Avoid use of uninitialized in ASN1_STRING_to_UTF8()
A long standing failure to initialize a struct on the stack fully was
exposed by a recent refactoring. Fortunately, the uninitialized 'flag'
member is only used to decide whether or not to call freezero(NULL, 0),
so it is completely harmless. This is a first trivial fix, a better
version will be landed separately with regress.
Reported by Steffen Jaeckel, GH #760
ok beck
jsing [Mon, 16 May 2022 20:06:15 +0000 (20:06 +0000)]
Rewrite asn1_item_ex_d2i_sequence() using CBS and readable variable names.
Now that combine no longer exists, we can also free and reallocate.
ok tb@
abieber [Mon, 16 May 2022 17:15:16 +0000 (17:15 +0000)]
Remove incorrect line about 'dhcp' in hostname.if triggering the use of
dhclient.
OK tb, kettenis
bluhm [Mon, 16 May 2022 16:54:18 +0000 (16:54 +0000)]
The pf IPv4 option and IPv6 extension header filter has stricter
checks for IGMP and ICMP6 MLD packets. Use ttl, hlim, link-local,
and multicast features in test where necessary.
espie [Mon, 16 May 2022 15:54:04 +0000 (15:54 +0000)]
document failed experiment
espie [Mon, 16 May 2022 14:13:19 +0000 (14:13 +0000)]
GC old stats code, I already removed the collection part
bluhm [Mon, 16 May 2022 13:31:19 +0000 (13:31 +0000)]
pfi_kif_alloc() may be called with M_NOWAIT. Add NULL check to
handle malloc(9) failure.
from markus@; OK sashan@
mvs [Mon, 16 May 2022 07:38:10 +0000 (07:38 +0000)]
regen
mvs [Mon, 16 May 2022 07:36:04 +0000 (07:36 +0000)]
Unlock umask(2). sys_umask() only modifies `fd_cmask', which
modification is already protected by `fd_lock' rwlock(9).
ok bluhm@
deraadt [Mon, 16 May 2022 00:27:46 +0000 (00:27 +0000)]
use a safer idiom for reading pid from file before killing
pointed out by kn, tested in snaps for a week
djm [Sun, 15 May 2022 23:48:07 +0000 (23:48 +0000)]
regress test for in-place transfers and clobbering larger files with
smaller ones; would have caught last regression in scp(1)
djm [Sun, 15 May 2022 23:47:21 +0000 (23:47 +0000)]
fix in-place copies; r1.163 incorrectly skipped truncation in all cases,
not just at the start of a transfer. This could cause overwrites of larger
files to leave junk at the end. Spotted by tb@
bluhm [Sun, 15 May 2022 21:37:29 +0000 (21:37 +0000)]
Use strncmp() and IFNAMSIZ for if_xname in veb(4) consistently.
OK dlg@
tb [Sun, 15 May 2022 16:43:34 +0000 (16:43 +0000)]
More KNF and whitespace fixes.
tb [Sun, 15 May 2022 16:40:43 +0000 (16:40 +0000)]
Remove misplaced continue
ok job
deraadt [Sun, 15 May 2022 15:00:53 +0000 (15:00 +0000)]
whitespace spotted during read-thru
job [Sun, 15 May 2022 14:59:28 +0000 (14:59 +0000)]
Specify which version of RPKI RSC draft is supported.
espie [Sun, 15 May 2022 12:49:55 +0000 (12:49 +0000)]
update examples and remove some text that's no longer relevant.
trim content and add more explicit Xr to other documentation
dlg [Sun, 15 May 2022 09:12:20 +0000 (09:12 +0000)]
have in_pcbselsrc copy the selected address to memory provided by the caller.
having it return a pointer to something that has a lifetime managed
by a lock without accounting for it or taking a reference count or
anything like that is asking for trouble. copying the address to
caller provded memory while still inside the lock is a lot safer.
discussed with visa@
ok bluhm@ claudio@
espie [Sun, 15 May 2022 08:58:33 +0000 (08:58 +0000)]
clean up and document the LRU stuff better
- create a separate path when we don't want history
- add a dummy entry to see the threshold between changed and unchanged
in verbose mode
- document better the various stuff that gets separated
- error out in case we want history (by default) and anything goes wrong
espie [Sun, 15 May 2022 08:02:23 +0000 (08:02 +0000)]
remove the gzip chunk after CONTENTS, it was only needed back when
we signed the packing-list separately. Now that we use signify to
create the signature without decompressing anything, it's completely
irrelevant.
deraadt [Sun, 15 May 2022 03:54:07 +0000 (03:54 +0000)]
gcc insists the decl for veb_ports_free also use inline
dlg [Sun, 15 May 2022 03:18:41 +0000 (03:18 +0000)]
avoid calling if_enqueue from an smr critical section.
claudio@ is right that as a rule of thumb it is a bad idea to call
arbitrary code from an smr crit section because the scope of what
is called is very hard to keep in your head. in this particular
case sashan@ points out that if_enqueue can call vport handlers,
which calls if_vinput, which will push a packet into the network
stack, which will call pf and try to take an rwlock. you can't sleep
in an smr crit section.
SMRs in this situation are protecting references to ports in the
list of span and actual ports attached to a veb. when we needed to
send a packet to an unknown unicast, broadcast, or multicast packet
the code would SMR_TAILQ_FOREACH over all the ports, duplicating
the mbuf and calling if_enqueue against the port. span port handling
is basically the same, but we unconditionally send to them.
this replaces the SMR_TAILQ with maps (arrays) of ports. the veb
port map data structure contains a struct refcnt and the number of
ports. the forwarding paths use an SMR crit section to get a reference
to the map, increase the refcnt, and then leaves the smr crit section
before iterating over the array of ports in the map. after the
iteration it releases the refcnt.
this does add a couple of atomic ops in the forwarding path, but
only in the uncommon case (most packets are (should be) to known
unicast addresses), and it's only one set of ops for all ports
instead of ops per port. the known unicast case follows this pattern
too.
reported by Barbaros Bilek on bugs@
fix tested by me and hrvoje popovski
ok claudio@ sashan@ bluhm@ (who also did a lot of the initial analysis)
jmatthew [Sun, 15 May 2022 01:28:27 +0000 (01:28 +0000)]
add StarTech USG5GA30 to the device list
from Brad
tb [Sat, 14 May 2022 17:58:11 +0000 (17:58 +0000)]
Add the two length tests. Can't currently run them because we need an
echo server.
kettenis [Sat, 14 May 2022 15:25:57 +0000 (15:25 +0000)]
uvm_km_valloc(9), uvm_km_valloc_try(9), uvm_km_valloc_wait(9) and
uvm_km_valloc_align(9) are no longer used. Remove these functions.
ok mpi@
cheloha [Sat, 14 May 2022 14:52:20 +0000 (14:52 +0000)]
librthread: validate timespec inputs with timespecisvalid(3)
ok millert@
tobhe [Sat, 14 May 2022 09:46:15 +0000 (09:46 +0000)]
When receiving a PADO offer, clear stored tags from previous PADO packets.
Keeping and combining tags from multiple previous packets could result in
a single accumulated reply overrunning mbuf size limits. Also make sure
the tag size fields are reset to 0 if allocation fails.
Add size check on mbuf cluster allocation and fail if more than MCLBYTES
are requested.
From NetBSD.
tested by naddy@
ok bluhm@
denis [Sat, 14 May 2022 07:22:10 +0000 (07:22 +0000)]
Document usage of tunneladdr
Input and OK dlg@ and jmc@
stsp [Sat, 14 May 2022 05:48:44 +0000 (05:48 +0000)]
Remove unused buf_dma member from struct iwx_rx_ring.
Spotted by waddlesplash from haiku-os.org
stsp [Sat, 14 May 2022 05:47:04 +0000 (05:47 +0000)]
Remove unused buf_dma member from struct iwm_rx_ring.
Spotted by waddlesplash from haiku-os.org
stsp [Sat, 14 May 2022 05:42:39 +0000 (05:42 +0000)]
Fix iwx_ampdu_rx_stop() for multiple Rx BA sessions.
Marking a TID in the bitmask needs |=, not the = operator, duh.
As a result our ba_task only stopped one session even though multiple
sessions were supposed to be stopped. Now driver and firmware had
become out of sync in their tracking of Rx BA session state, and
firmware crashed with sysassert 0x00004472 when the driver later
attempted to start an already active Rx BA session again.
Problem reported by Anton Kasimov.
Thanks to Johannes Berg from Intel who looked up the meaning
of sysassert code 0x00004472 for me.
guenther [Sat, 14 May 2022 05:06:32 +0000 (05:06 +0000)]
Use fseeko() instead of fseek() inside libc, as the latter just
calls the former with a loss of range. Mark fseek symbol as
deprecated to block accidental use in the future.
ok millert@ deraadt@
dv [Fri, 13 May 2022 18:19:32 +0000 (18:19 +0000)]
vmm: add additional fault type, fixing vm receive
After vmm(4)/vmd(8) "receive" a vm via vmctl(8), vmd on Intel hosts
was incorrectly identifying the fault type for nested page fault
exits and resetting the vm. This commit adds a new fault type to
signify the page fault was serviced in vmm and any exit to userland
does not require an assist.
ok mlarkin@
dv [Fri, 13 May 2022 16:46:34 +0000 (16:46 +0000)]
fix typos in comments
No functional change. Pointed out by Martin Vahlensieck.
tb [Fri, 13 May 2022 16:39:58 +0000 (16:39 +0000)]
Tweak regress in such a way that it would have caught the bug in
d2i_ASN1_OBJECT() fixed in a_object.c r1.48.
from jsing
tb [Fri, 13 May 2022 16:32:10 +0000 (16:32 +0000)]
Fix d2i_ASN1_OBJECT()
Due to a confusion of two CBS, the API would incorrectly advance the
*der_in pointer, resulting in a DER parse failure.
Issue reported by Aram Sargsyan
ok jsing
florian [Fri, 13 May 2022 15:48:29 +0000 (15:48 +0000)]
Update to nsd 4.5.0
OK sthen
espie [Fri, 13 May 2022 15:39:14 +0000 (15:39 +0000)]
Catch the termcap exception if there's a problem looking the terminal up.
It's just a progressmeter after all, there's no reason to error out instead
of simply devolving to "no progress meter".
(as noticed working with one of my students, Matthieu Fourre, whose
emulator or setup was somehow passing an "xterm-kitty" string)
anton [Fri, 13 May 2022 15:32:49 +0000 (15:32 +0000)]
Output the relevant time specs before the assertion, in the hopes of
figuring out why this occasionally fails.
claudio [Fri, 13 May 2022 15:32:00 +0000 (15:32 +0000)]
Use the process ps_mtx to protect the process sigacts structure.
With this cursig(), postsig() and trapsignal() become safe to be called
without KERNEL_LOCK. As a side-effect sleep with PCATCH no longer needs
the KERNEL_LOCK either. Since sending a signal can happen from interrupt
context raise the ps_mtx IPL to high.
Feedback from mpi@ and kettenis@
OK kettenis@
sthen [Fri, 13 May 2022 13:20:16 +0000 (13:20 +0000)]
If $KERNEL_DIR.tgz exists, reorder_kernel updates the destination for
logged stdout output, but forgot to handle stderr. Fix that so that
the error log includes stderr output in that case (otherwise the log
is usually empty). From Lauri Tirkkonen, plus comment adjusted. ok tb
stsp [Fri, 13 May 2022 08:48:40 +0000 (08:48 +0000)]
Show the iwx(4) firmware filename if 'ifconfig iwx0 debug' is active.
This should help with diagnosing device matching bugs. The matching
logic has become increasingly complex. Knowing which firmware file
was selected is useful information which cannot be inferred from the
PCI device ID alone anymore.