visa [Mon, 29 Nov 2021 15:54:04 +0000 (15:54 +0000)]
kqueue: Revise badfd knote handling
When closing a file descriptor and converting the poll/select knotes
into badfd knotes, keep the knotes attached to the by-fd table. This
should prevent kqueue_purge() from returning before the kqueue has
become quiescent. This in turn should fix a
KASSERT(TAILQ_EMPTY(&kq->kq_head)) panic in KQRELE() that bluhm@ has
reported.
The badfd conversion is only needed when a poll/select scan is ongoing.
The system can skip the conversion if the knote is not part of the
active event set.
The code of this commit skips the conversion when the fd is closed by
the same thread that has done the fd polling. This can be improved but
should already cover typical fd usage patterns.
As badfd knotes now hold slots in the by-fd table, kqueue_register()
clears them. poll/select use kqueue_register() to set up a new scan;
any found fd close notification is a leftover from the previous scan.
The new badfd handling should be free of accidental knote accumulation.
This obsoletes kqpoll_dequeue() and lowers kqpoll_init() overhead.
Re-enable lazy removal of poll/select knotes because the panic should
no longer happen.
OK mpi@
bluhm [Mon, 29 Nov 2021 15:39:59 +0000 (15:39 +0000)]
Using a void pointer for temporary allocated TDB in pfkeyv2 does
not make sense. Do not use the freeme pointer for TDB in pfkeyv2_send().
The pattern is tdb_alloc() and tdb_unref() in case of error. Replace
tdb_free() in reserve_spi() with tdb_unref() to keep this consistent.
Only tdb_unref() should call tdb_free().
OK mvs@
espie [Mon, 29 Nov 2021 14:06:03 +0000 (14:06 +0000)]
points people to more current ways to find package information.
with inputs from danj@ and kn@, thx guys
jmc [Mon, 29 Nov 2021 13:20:24 +0000 (13:20 +0000)]
add -V to usage(), and list it before -v in both SYNOPSIS and the
options list;
mvs [Mon, 29 Nov 2021 13:05:04 +0000 (13:05 +0000)]
Add and enable 'unconacc' test which provides multithreaded connect(2)
and accept(2) calls on single unix(4) socket.
ok bluhm@
tobhe [Mon, 29 Nov 2021 12:27:18 +0000 (12:27 +0000)]
Add command line option to show the version
ok patrick@
nicm [Mon, 29 Nov 2021 11:05:28 +0000 (11:05 +0000)]
Bump response timer to three seconds, GitHub issue 2984.
nicm [Mon, 29 Nov 2021 11:01:51 +0000 (11:01 +0000)]
Fix user option lookup ordering.
deraadt [Mon, 29 Nov 2021 06:43:42 +0000 (06:43 +0000)]
sys/param.h was included for MAX(), MIN() and roundup(). make local
copies of MAXIMUM() and MINIMUM() like we have done in 50+ other places,
and also include a roundup()
ok jsg
deraadt [Mon, 29 Nov 2021 06:42:13 +0000 (06:42 +0000)]
the code in this file has reason to include any sys/*.h header files,
let alone sys/param.h, which it uses to get roundup(). make a local
copy of the macro, and call it a day.
deraadt [Mon, 29 Nov 2021 06:39:23 +0000 (06:39 +0000)]
local copy of roundup() means no more sys/param.h
deraadt [Mon, 29 Nov 2021 05:17:35 +0000 (05:17 +0000)]
mostly avoid sys/param.h with a local nitems()
ok mlarkin
deraadt [Mon, 29 Nov 2021 03:20:37 +0000 (03:20 +0000)]
A few sys/param.h annotations lacked ALIGNBYTES
djm [Mon, 29 Nov 2021 01:04:45 +0000 (01:04 +0000)]
Niels agreed to remove the advertising clause; switching these
to 3-term BSD license.
deraadt [Sun, 28 Nov 2021 19:28:41 +0000 (19:28 +0000)]
Stop using MAXBSIZE to eliminate sys/param.h including (which injects a
ton of namespace intrusion). Create local sizes, and refactor some code
along the way.
ok millert
deraadt [Sun, 28 Nov 2021 19:26:03 +0000 (19:26 +0000)]
remove sys/param.h includes by stopping use of NODEV, ALIGNED and ALIGN().
The latter two exposed a large block allocator on top of malloc() which
doesn't really make sense in this decade (the objects are never freed, so
not quite like the famous openssl allocator)
ok millert jsg
schwarze [Sun, 28 Nov 2021 17:40:14 +0000 (17:40 +0000)]
document ASN1_tag2bit(3)
schwarze [Sun, 28 Nov 2021 15:48:12 +0000 (15:48 +0000)]
Document ASN1_object_size(3).
While here,
* call the function arguments "content_length" rather than just
"length" to make it less likely that the reader confuses them with
the total length returned by ASN1_object_size(3);
* state that only the short form is supported for content_length <= 127;
* add the missing STANDARDS section.
schwarze [Sun, 28 Nov 2021 14:32:34 +0000 (14:32 +0000)]
mark ASN1_check_infinite_end() and ASN1_const_check_infinite_end()
as intentionally undocumented
mglocker [Sun, 28 Nov 2021 14:10:32 +0000 (14:10 +0000)]
Spacing
mglocker [Sun, 28 Nov 2021 13:57:37 +0000 (13:57 +0000)]
utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.
ok mpi@
florian [Sun, 28 Nov 2021 12:51:52 +0000 (12:51 +0000)]
Make sure the interface still exists before updating it.
When we get a route message, for example an address being added
(RTM_NEWADDR, but the problem exists with most of the route messages)
and the interface gets unplugged at just the right moment
if_nametoindex(3) will return NULL. We will pass NULL through
update_iface() to get_xflags() which will then crash because we
dereference the NULL pointer there.
OK kn
florian [Sun, 28 Nov 2021 12:49:55 +0000 (12:49 +0000)]
Make sure if_index is set in all case statements and use it
consistently. This makes the next diff easier, also consistency is
good.
OK kn
mglocker [Sun, 28 Nov 2021 09:25:02 +0000 (09:25 +0000)]
Align with the recent memory allocation changes we did for the other
USB HC drivers; M_DEVBUF -> M_USBHC.
ok kettenis@
djm [Sun, 28 Nov 2021 07:21:26 +0000 (07:21 +0000)]
sshsig: return "key not found" when searching empty files rather than
"internal error"
djm [Sun, 28 Nov 2021 07:15:10 +0000 (07:15 +0000)]
ssh-keygen -Y match-principals doesn't accept any -O options
at present, so don't say otherwise in SYNOPSIS; spotted jmc@
djm [Sun, 28 Nov 2021 07:14:29 +0000 (07:14 +0000)]
fix indenting in last commit
djm [Sun, 28 Nov 2021 07:10:18 +0000 (07:10 +0000)]
missing initialisation for oerrno
tobhe [Sat, 27 Nov 2021 21:50:05 +0000 (21:50 +0000)]
Rename msg_id to msg_peerid now that we also have msg_localid.
ok patrick@
deraadt [Sat, 27 Nov 2021 17:45:49 +0000 (17:45 +0000)]
sync
deraadt [Sat, 27 Nov 2021 16:25:40 +0000 (16:25 +0000)]
previous commit causes gcc to perform an unaligned access to the tcphdr
(at least on sparc64) since it accesses the bitfield using an "int sized"
instructions, rather than the minimally sized byte instruction. This is
permitted by the language laywers who probably prefer we change the tcphdr
in every packet. It is not clear how to convince gcc to avoid this behaviour,
and a week of futzing hasn't found fast path solutions yet. In the meantime
the tree may not be broken.
schwarze [Sat, 27 Nov 2021 16:18:03 +0000 (16:18 +0000)]
new manual page BIO_f_asn1(3)
visa [Sat, 27 Nov 2021 15:13:09 +0000 (15:13 +0000)]
Remove an unneeded variable to fix compiler warning with clang 13.
OK jsg@
visa [Sat, 27 Nov 2021 15:12:19 +0000 (15:12 +0000)]
Make brk() and sbrk() weak again to fix build with clang 13.
OK jsg@
visa [Sat, 27 Nov 2021 15:07:26 +0000 (15:07 +0000)]
Adjust wait channel name and re-enable test.
visa [Sat, 27 Nov 2021 15:06:10 +0000 (15:06 +0000)]
Fix timeouts in poll/select regress tests
Disable poll/select timeout so that the wchan wait would work as
intended. The timeout is not essential to the test flow. In addition,
the top-level alarm timer prevents the tests from getting stuck should
something go wrong.
schwarze [Sat, 27 Nov 2021 13:10:33 +0000 (13:10 +0000)]
Fix incomplete initialization bug: BIO_new(BIO_f_asn1()) neglected
initializing five of the fields in BIO_ASN1_BUF_CTX (prefix,
prefix_free, suffix, suffix_free, ex_arg), inviting a segfault in
a subsequent call from the application program to BIO_write(3)
because subroutines of that function assume that the function
pointers are either NULL or valid.
Fix this by using the less error-prone calloc(3) idiom.
While here, inline asn1_bio_init() at the only call site
in asn1_bio_new() to simplify the code and make it easier to read.
Bug found and initial patch by me,
this version (with inlining) by and OK tb@.
stsp [Sat, 27 Nov 2021 11:22:26 +0000 (11:22 +0000)]
Let iwm(4) use per-Tx-queue interface timers to ensure that the interface
watchdog will trigger a device timeout if a particular Tx queue gets stuck
while other Tx queues keep working.
The Linux driver is using a similar workaround for "stuck queues".
I have only observed this problem on iwx(4) hardware but it won't hurt
to add this workaround to iwm(4) as well.
djm [Sat, 27 Nov 2021 07:23:35 +0000 (07:23 +0000)]
whitespac e
djm [Sat, 27 Nov 2021 07:20:58 +0000 (07:20 +0000)]
regression test for match-principals. Mostly by Fabian Stelzer
djm [Sat, 27 Nov 2021 07:14:46 +0000 (07:14 +0000)]
Add ssh-keygen -Y match-principals operation to perform matching of
principals names against an allowed signers file.
Requested by and mostly written by Fabian Stelzer, towards a TOFU
model for SSH signatures in git. Some tweaks by me.
"doesn't bother me" deraadt@
deraadt [Sat, 27 Nov 2021 06:14:10 +0000 (06:14 +0000)]
free() with nullptr is OK, but not if the size is unitialized, and the
fail label is reachable before the sizes are known.
jsg [Sat, 27 Nov 2021 04:32:32 +0000 (04:32 +0000)]
drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors
From hongao
04c586a601dc0acb8e739205db350ab660dffc4f in linux 5.10.y/5.10.82
bf552083916a7f8800477b5986940d1c9a31b953 in mainline linux
jsg [Sat, 27 Nov 2021 04:29:00 +0000 (04:29 +0000)]
drm/i915/dp: Ensure sink rate values are always valid
From Imre Deak
47901b77bf7dc801a084a0b377aee5974d9bc4ce in linux 5.10.y/5.10.82
6c34bd4532a3f39952952ddc102737595729afc4 in mainline linux
jsg [Sat, 27 Nov 2021 04:26:18 +0000 (04:26 +0000)]
drm/amd/display: Update swizzle mode enums
From Alvin Lee
3d68d6ee83144044f610d67304cc194c2af7d0c5 in linux 5.10.y/5.10.82
58065a1e524de30df9a2d8214661d5d7eed0a2d9 in mainline linux
jsg [Sat, 27 Nov 2021 00:49:21 +0000 (00:49 +0000)]
stop building kernels with -Wno-uninitialized on clang archs
this hides real problems that could be found at build time
ok kettenis@ visa@, ok sashan@ on amd64/i386
bluhm [Fri, 26 Nov 2021 19:24:41 +0000 (19:24 +0000)]
Put a mutex assert locked into puttdb_locked().
OK tobhe@
tb [Fri, 26 Nov 2021 16:52:07 +0000 (16:52 +0000)]
make the bn/mont test compile with opaque DH.
tb [Fri, 26 Nov 2021 16:41:42 +0000 (16:41 +0000)]
Stop reaching into EVP_PKEY in the rest of libssl.
ok inoguchi jsing
tb [Fri, 26 Nov 2021 16:40:02 +0000 (16:40 +0000)]
Simplify two weirdly formatted pieces of code in ssl_rsa.c and stop
reaching into the EVP_PKEY struct.
ok inoguchi jsing
tb [Fri, 26 Nov 2021 16:23:27 +0000 (16:23 +0000)]
openssl(1): drop support for netscape certificates and server gated keys.
ok inoguchi jsing
patrick [Fri, 26 Nov 2021 16:22:44 +0000 (16:22 +0000)]
A peer sends both his local id and remote id he expects us to be. So far we
have only looked at the peer's local id, so that we can find a policy with the
matching dstid set. Hence dstid is involved in the decision making. While we
do send out our local id, which the peer will use to verify his policies, we
do not yet make a decision based on the id the peer expects us to have. If you
have two policies configured with only srcid set, we will always pick the same.
To be able to choose a policy that matches the peer's expectations, save the
local id the peer expects us to have and use it during policy lookup.
ok tobhe@
tobhe [Fri, 26 Nov 2021 16:16:35 +0000 (16:16 +0000)]
Replace TDBF_DELETED flag with check if tdb was already unlinked.
Protect tdb_unlink() and puttdb() for SADB_UPDATE with tdb_sadb_mutex.
Tested by Hrvoje Popovski
ok bluhm@ mvs@
patrick [Fri, 26 Nov 2021 15:21:26 +0000 (15:21 +0000)]
The IORT table usually only contains single mappings. While on the LX2K there
is a non-single mapping for the networking subsystem, we don't yet have support
for it and apparently Linux has trouble with it as well. So for now we can
remove the code, because it uses an uninitialized variable and there's no easy
way to fix it without re-thinking the concept. The code got there in the first
place because it's a copy of the same pattern in our other IOMMU code.
ok jsg@
jsg [Fri, 26 Nov 2021 14:59:42 +0000 (14:59 +0000)]
avoid clang -Wsometimes-uninitialized warning when DDB is not defined
ok kettenis@ visa@
jsg [Fri, 26 Nov 2021 14:45:13 +0000 (14:45 +0000)]
avoid clang -Wsometimes-uninitialized warning when MULTIPROCESSOR is not
defined
feedback from millert@, ok kettenis@, mips64 diff from and ok visa@
tobhe [Fri, 26 Nov 2021 14:05:01 +0000 (14:05 +0000)]
Fix ikev2_child_sa_rekey() warnings. The SPI can't be printed without a
parent SA.
jsg [Fri, 26 Nov 2021 13:48:21 +0000 (13:48 +0000)]
spelling
ok schwarze@
schwarze [Fri, 26 Nov 2021 13:35:10 +0000 (13:35 +0000)]
after the bugfix in x509_vfy.c rev. 1.100,
replace the BUGS section with a shorter CAVEATS section
schwarze [Fri, 26 Nov 2021 13:17:09 +0000 (13:17 +0000)]
Bugfix in X509_get_pubkey_parameters(3):
If EVP_PKEY_copy_parameters(3) fails - among other reasons, this
may happen when out of memory - the pkey argument and/or the chain
argument will not contain all the desired parameters after returning.
Consequently, report the failure to the caller rather than silently
ignoring it.
OK tb@
schwarze [Fri, 26 Nov 2021 13:05:03 +0000 (13:05 +0000)]
Simplify the code in X509_get_pubkey_parameters(3)
by using X509_get0_pubkey(3) instead of X509_get_pubkey(3);
no functional change.
OK tb@
This is similar to the relevant part of the follwoing commit
from the OpenSSL 1.1.1 branch, which is still under a free licence,
but without the bug that commit introduced into this function in OpenSSL:
commit
c01ff880d47392b82cce2f93ac4a9bb8c68f8cc7
Author: Dr. Stephen Henson <steve@openssl.org>
Date: Mon Dec 14 13:13:32 2015 +0000
espie [Fri, 26 Nov 2021 12:14:33 +0000 (12:14 +0000)]
use the keywords instead of vague english so that it's indexed better by
mandocdb
espie [Fri, 26 Nov 2021 12:08:35 +0000 (12:08 +0000)]
document annotation interactions with pkg_mklocatedb
kettenis [Fri, 26 Nov 2021 11:44:01 +0000 (11:44 +0000)]
Add interfaces to enable all power domains for a node.
ok patrick@, visa@
visa [Fri, 26 Nov 2021 04:42:13 +0000 (04:42 +0000)]
Mark exit1() and sigexit() as non-returning
The late 1990s reasons for avoiding __dead with exit1() should not apply
with the current compilers.
This fixes compiler warnings about uninitialized variables in trap.c
on mips64.
Discussed with guenther@ and miod@
jsg [Fri, 26 Nov 2021 03:42:33 +0000 (03:42 +0000)]
followng -> following
jsg [Fri, 26 Nov 2021 03:41:39 +0000 (03:41 +0000)]
definiton -> definition
jsg [Fri, 26 Nov 2021 03:37:39 +0000 (03:37 +0000)]
Transmiter -> Transmitter
jsg [Fri, 26 Nov 2021 03:34:14 +0000 (03:34 +0000)]
addresss -> address
jsg [Fri, 26 Nov 2021 03:31:38 +0000 (03:31 +0000)]
remaing -> remaining
deraadt [Thu, 25 Nov 2021 23:03:05 +0000 (23:03 +0000)]
move label to fix RAMDISK
djm [Thu, 25 Nov 2021 23:02:24 +0000 (23:02 +0000)]
debug("func: ...") -> debug_f("...")
bluhm [Thu, 25 Nov 2021 21:09:48 +0000 (21:09 +0000)]
LibreSSL error message has changed again, make test more tolerant.
anton [Thu, 25 Nov 2021 20:31:24 +0000 (20:31 +0000)]
revert recent change, breakage reported by dv@
tobhe [Thu, 25 Nov 2021 19:41:03 +0000 (19:41 +0000)]
Remove unused variable fd.
tobhe [Thu, 25 Nov 2021 18:28:51 +0000 (18:28 +0000)]
Silence unitialized variable warnings.
espie [Thu, 25 Nov 2021 18:23:53 +0000 (18:23 +0000)]
forgot the case about find... oops
fixes GraphicsMagick updates
tb [Thu, 25 Nov 2021 16:53:58 +0000 (16:53 +0000)]
We know how to print a size_t now. Drop a comment and a cast.
ok bluhm inoguchi
tb [Thu, 25 Nov 2021 16:51:31 +0000 (16:51 +0000)]
Rework this test to compile with opaque RSA
krw [Thu, 25 Nov 2021 15:40:26 +0000 (15:40 +0000)]
Honour /usr/mdec/mbr or -f partition 0 information even outside
of _powerpc__ and __mips__, preventing the possible creation of
MBRs with overlapping partitions 0 and 3.
Don't set bootprt DOSACTIVE flag if no partition 0 information
was provided via /usr/mdec/mbr or -f. Lets octeon fdisk(8) set
DOSACTIVE on the OpenBSD partition in the default MBR like
every other fdisk(8) does.
claudio [Thu, 25 Nov 2021 15:03:04 +0000 (15:03 +0000)]
Initialize the repo_timeout to timeout / 4 at start of main().
OK job@
stsp [Thu, 25 Nov 2021 14:51:26 +0000 (14:51 +0000)]
Prepare iwx(4) for using new firmware (API version -67) in the future.
Bump command versions array size as required for -67 firmware.
Ignore new TLVs found in -67 images.
Add room for another ucode section needed for -67 on AX201 devices.
job [Thu, 25 Nov 2021 14:03:40 +0000 (14:03 +0000)]
Replace MAX_REPO_TIMEOUT with repo_timeout, which is set to 1/4th of
timeout, or if timeout is disabled set to 24 hours.
OK claudio@
bluhm [Thu, 25 Nov 2021 13:46:02 +0000 (13:46 +0000)]
Implement reference counting for IPsec tdbs. Not all cases are
covered yet, more ref counts to come. The timeouts are protected,
so the racy tdb_reaper() gets retired. The tdb_policy_head, onext
and inext lists are protected. All gettdb...() functions return a
tdb that is ref counted and has to be unrefed later. A flag ensures
that tdb_delete() is called only once.
Tested by Hrvoje Popovski; OK sthen@ mvs@ tobhe@
claudio [Thu, 25 Nov 2021 12:55:34 +0000 (12:55 +0000)]
Check for possible negative diff timeout. Clamp it to 0 in that case.
poll with negative timeout noticed by job@
OK job@
schwarze [Thu, 25 Nov 2021 12:15:37 +0000 (12:15 +0000)]
Document BIO_method_name(3).
While here, also improve the rest of the page:
* add missing BIO_TYPE_* constants
* describe BIO_TYPE_START
* better function argument names
* more precision in the descriptions and regarding the RETURN VALUES
* lots of wording improvements
* improve the coding style below EXAMPLES
* delete a BUGS section describing cretaceous behaviour
tb [Thu, 25 Nov 2021 11:07:17 +0000 (11:07 +0000)]
Resolve last issue with opaque BIGNUM in this test.
anton [Thu, 25 Nov 2021 06:25:32 +0000 (06:25 +0000)]
Assert that at least one report id is claimed during multiple report ids
attachment. Should prevent uhidev drivers from doing the wrong thing in their
corresponding match routine.
jsg [Thu, 25 Nov 2021 03:50:42 +0000 (03:50 +0000)]
sync with arm64.html
mglocker [Wed, 24 Nov 2021 22:03:05 +0000 (22:03 +0000)]
Spacing and remove an unused macro.
mglocker [Wed, 24 Nov 2021 21:57:56 +0000 (21:57 +0000)]
Spacing
mglocker [Wed, 24 Nov 2021 21:47:14 +0000 (21:47 +0000)]
Fix panic when running utvfu(4) on xhci(4).
tested and ok ian@
tobhe [Wed, 24 Nov 2021 21:06:21 +0000 (21:06 +0000)]
Unregister event on pfkey socket during pfkey_reply(). Using events
and poll() at the same time may lead to a race that locks up the
process in recv().
ok bluhm@
tobhe [Wed, 24 Nov 2021 20:48:00 +0000 (20:48 +0000)]
Pass env to pfkey API. Consistently call pfkey file descriptor fd.
ok bluhm@
jca [Wed, 24 Nov 2021 20:06:32 +0000 (20:06 +0000)]
Describe what RES_USE_DNSSEC does and how it's affected by trust-ad
ok florian@
tb [Wed, 24 Nov 2021 19:33:24 +0000 (19:33 +0000)]
Fix OCSP_basic_verify() cert chain construction in case the
OCSP_BASICRESP bs contains no certificates.
From David von Oheimb (OpenSSL
121738d1)
ok beck
tb [Wed, 24 Nov 2021 19:29:19 +0000 (19:29 +0000)]
Simplify slightly by using X509_get0_pubkey() thus eliminating the
need for EVP_PKEY_free().
ok beck
tb [Wed, 24 Nov 2021 19:27:03 +0000 (19:27 +0000)]
Fix a whitespace error that has annoyed me for way too long
tb [Wed, 24 Nov 2021 19:24:46 +0000 (19:24 +0000)]
Fix timestamp printing in Signed Certificate Timestamps
Our ASN1_GENERALIZEDTIME_set() doesn't accept time strings with
fractional seconds, so don't feed it milliseconds, but only seconds.
Ensures that openssl x509 -text prints timestamps instead of skipping
them.
ok beck jsing
tb [Wed, 24 Nov 2021 19:22:14 +0000 (19:22 +0000)]
Add certificate transparency methods to the standard extensions.
This way, CT extensions in certs will be parsed by the new CT code
when they are encountered. This gets rid of a lot of gibberish when
looking at a cert with 'openssl x509 -text -noout -in server.pem'
ok beck jsing