openbsd
2 years agodrm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems
jsg [Wed, 13 Jul 2022 03:53:37 +0000 (03:53 +0000)]
drm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems

From Richard Gong
7a9e13b86536ce6dca54380f19d537b1c80caee3 in linux 5.15.y/5.15.54
aa482ddca85a3485be0e7b83a0789dc4d987670b in mainline linux

2 years agodrm/amd: Refactor `amdgpu_aspm` to be evaluated per device
jsg [Wed, 13 Jul 2022 03:50:53 +0000 (03:50 +0000)]
drm/amd: Refactor `amdgpu_aspm` to be evaluated per device

From Mario Limonciello
0a9a60dcedaacde4b903337b7445cb431b4dd119 in linux 5.15.y/5.15.54
0ab5d711ec74d9e60673900974806b7688857947 in mainline linux

2 years agodrm/amd/vcn: fix an error msg on vcn 3.0
jsg [Wed, 13 Jul 2022 03:46:27 +0000 (03:46 +0000)]
drm/amd/vcn: fix an error msg on vcn 3.0

From tiancyin
f3647c369c178c1cdea7f6a60dc32d6118afac40 in linux 5.15.y/5.15.54
425d7a87e54ee358f580eaf10cf28dc95f7121c1 in mainline linux

2 years agodrm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw
jsg [Wed, 13 Jul 2022 03:44:50 +0000 (03:44 +0000)]
drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw

From CHANDAN VURDIGERE NATARAJ
59bf2aca4b1c3eca28b337b5e797bb9b43d44f3b in linux 5.15.y/5.15.54
50e6cb3fd2cde554db646282ea10df7236e6493c in mainline linux

2 years agodrm/amd/display: Set min dcfclk if pipe count is 0
jsg [Wed, 13 Jul 2022 03:42:13 +0000 (03:42 +0000)]
drm/amd/display: Set min dcfclk if pipe count is 0

From Michael Strauss
f276634b12fa8f63988be9cf5492c7d60d5ad7b1 in linux 5.15.y/5.15.54
bc204778b4032b336cb3bde85bea852d79e7e389 in mainline linux

2 years agodrm/i915: Replace the unconditional clflush with drm_clflush_virt_range()
jsg [Wed, 13 Jul 2022 03:40:02 +0000 (03:40 +0000)]
drm/i915: Replace the unconditional clflush with drm_clflush_virt_range()

From Ville Syrjala
b33035945b0a6853f8f6f63fb3c3bc9ea869337e in linux 5.15.y/5.15.54
ef7ec41f17cbc0861891ccc0634d06a0c8dcbf09 in mainline linux

2 years agodrm/i915/gt: Register the migrate contexts with their engines
jsg [Wed, 13 Jul 2022 03:37:55 +0000 (03:37 +0000)]
drm/i915/gt: Register the migrate contexts with their engines

From Thomas Hellstrom
9cf3a1c1288e43af00d70a8520ea9efbea01615e in linux 5.15.y/5.15.54
3e42cc61275f95fd7f022b6380b95428efe134d3 in mainline linux

2 years agodrm/i915: Disable bonding on gen12+ platforms
jsg [Wed, 13 Jul 2022 03:32:50 +0000 (03:32 +0000)]
drm/i915: Disable bonding on gen12+ platforms

From Matthew Brost
d839d15b50743164d7ad95f436ea284a2946c179 in linux 5.15.y/5.15.54
ce7e75c7ef1bf8ea3d947da8c674d2f40fd7d734 in mainline linux

2 years agoUse __func__ in interface media debug printf().
bluhm [Tue, 12 Jul 2022 22:27:38 +0000 (22:27 +0000)]
Use __func__ in interface media debug printf().

2 years agoProtect interface media list with a mutex. This is just a start
bluhm [Tue, 12 Jul 2022 22:08:17 +0000 (22:08 +0000)]
Protect interface media list with a mutex.  This is just a start
to make make media structures MP safe.
OK mvs@

2 years agoEnter the lldb and lldb-server directories for make obj, even if not built
jca [Tue, 12 Jul 2022 21:10:26 +0000 (21:10 +0000)]
Enter the lldb and lldb-server directories for make obj, even if not built

Apparently favored by deraadt@, pointed out by patrick@, ok patrick@

2 years agoOnly build lldb support libraries on archs where lldb is installed
jca [Tue, 12 Jul 2022 21:06:04 +0000 (21:06 +0000)]
Only build lldb support libraries on archs where lldb is installed

Shaves off a significant amount of time (eg on riscv64) in base builds.

Note that you'll need bsd.own.mk rev 1.213 (which make build should take
care of).

ok miod@ patrick@

2 years agoIntroduce a BUILD_LLDB switch, currently active on amd64 and arm64
jca [Tue, 12 Jul 2022 21:01:37 +0000 (21:01 +0000)]
Introduce a BUILD_LLDB switch, currently active on amd64 and arm64

ok miod@ patrick@

2 years agoUnbreak the tree, after the previous commit.
jsing [Tue, 12 Jul 2022 18:43:56 +0000 (18:43 +0000)]
Unbreak the tree, after the previous commit.

2 years agogrep: simplify printline, no functional changes
op [Tue, 12 Jul 2022 18:09:31 +0000 (18:09 +0000)]
grep: simplify printline, no functional changes

in the previous revision (1.66) I added an extra variable to track
wether we have printed the separator or not.  Well, that's what the `n'
variable is for, so no need to duplicate the logic.

2 years agoZap trailing whitespace on one line to appease mandoc -Tlint
tb [Tue, 12 Jul 2022 17:49:33 +0000 (17:49 +0000)]
Zap trailing whitespace on one line to appease mandoc -Tlint

2 years agoDocument announce add-path send
claudio [Tue, 12 Jul 2022 17:30:57 +0000 (17:30 +0000)]
Document announce add-path send
With input from jmc@ and sthen@

2 years agoUse db_rint() in sfuart(4)
jca [Tue, 12 Jul 2022 17:14:12 +0000 (17:14 +0000)]
Use db_rint() in sfuart(4)

This lets me enter ddb(4) even when the riscv64 machines I manage get
unusable because of NFS.

Suggested by miod@, ok miod@ kettenis@

2 years agoAdd db_rint(), an MI interface to db_enter() copied from kdbrint() in vax code
jca [Tue, 12 Jul 2022 17:12:31 +0000 (17:12 +0000)]
Add db_rint(), an MI interface to db_enter() copied from kdbrint() in vax code

If ddb.console is set and your serial console driver uses it, db_rint(),
lets you enter ddb(4) by typing the ESC D escape sequence.  This is
useful for drivers like sfuart(4) where the hardware doesn't have a true
BREAK mechanism.

Suggested by miod@, ok kettenis@ miod@

2 years agoRewrite state machine in the style of dhcpleased(8).
florian [Tue, 12 Jul 2022 16:54:59 +0000 (16:54 +0000)]
Rewrite state machine in the style of dhcpleased(8).

It is less cluttered, easier to reason about and fixes some bugs in
passing that would have been difficult in the old state machine.

Stale IPv6 addresses, default routes and nameservers are now correctly
removed when moving from one IPv6 enabled network to another IPv6
enabled network.
Default routes and nameservers correctly expire when they are not
refreshed and nameservers are updated when router advertisements
change the nameserver option.

Testing & input caspar@

Putting it in now to get wider testing and shake out bugs, discussed
with deraadt@ at r2k22.

2 years agoBump version number to 7.9
claudio [Tue, 12 Jul 2022 16:46:14 +0000 (16:46 +0000)]
Bump version number to 7.9

2 years agoMove BN_lsw() to bn_lcl.h so that other code can use it.
tb [Tue, 12 Jul 2022 16:08:19 +0000 (16:08 +0000)]
Move BN_lsw() to bn_lcl.h so that other code can use it.

ok jsing

2 years agoRemove mkerr.pl remnants from LibreSSL
kn [Tue, 12 Jul 2022 14:42:48 +0000 (14:42 +0000)]
Remove mkerr.pl remnants from LibreSSL

This script is not used at all and files are edited by hand instead.
Thus remove misleading comments incl. the obsolete script/config.

Feedback OK jsing tb

2 years agoThe asn1time test no longer needs static linking.
tb [Tue, 12 Jul 2022 13:31:38 +0000 (13:31 +0000)]
The asn1time test no longer needs static linking.

2 years agosync: add llvm-profdata
robert [Tue, 12 Jul 2022 11:52:14 +0000 (11:52 +0000)]
sync: add llvm-profdata

2 years agoRemove PIPEXCSESSION pipex(4) ioctl(2) command from kernel and man page.
mvs [Tue, 12 Jul 2022 08:58:53 +0000 (08:58 +0000)]
Remove PIPEXCSESSION pipex(4) ioctl(2) command from kernel and man page.

Long time ago pipex(4) session can't be deleted until both pipex(4)
input and output queues become empty. Dead sessions were linked to the
stack and the `ip_forward' flag was used to prevent packets forwarding.
npppd(8) marked such sessions by doing PIPEXCSESSION ioctl(2) call.

But since we started to unlink close session from the stack, this logic
became unnecessary. Also pipex(4) session could be closed just after
close request.

npppd(8) was the only userland program which did PIPEXCSESSION ioctl(2)
call, and we removed it week ago. It's time to remove the remains.

Now the `flags' member of 'pipex_session' structure became immutable.

ok yasuoka@

2 years agoremove cache parts of struct cpu_info which were used by vmm
jsg [Tue, 12 Jul 2022 05:45:49 +0000 (05:45 +0000)]
remove cache parts of struct cpu_info which were used by vmm

2 years agoallow cpuid 0x8000001d, cache topology on AMD
jsg [Tue, 12 Jul 2022 04:52:38 +0000 (04:52 +0000)]
allow cpuid 0x8000001d, cache topology on AMD
ok mlarkin@

2 years agoremove cache parts of struct cpu_info only vmm used
jsg [Tue, 12 Jul 2022 04:46:00 +0000 (04:46 +0000)]
remove cache parts of struct cpu_info only vmm used
suggested by and ok mlarkin@

2 years agorecognise Cortex-A715 and Cortex-X3
jsg [Tue, 12 Jul 2022 03:55:34 +0000 (03:55 +0000)]
recognise Cortex-A715 and Cortex-X3

2 years agoSwitch bootloaders to the extended BOOTARG_CONSDEV struct.
kettenis [Mon, 11 Jul 2022 19:45:02 +0000 (19:45 +0000)]
Switch bootloaders to the extended BOOTARG_CONSDEV struct.
Make the EFI bootloader provide the extra parameters that are necessary
for using the non-standard UART on the AMD Ryzen Embedded V1000 SoCs.

ok anton@

2 years agosync llvm-read{elf,obj} for i386
sthen [Mon, 11 Jul 2022 19:31:19 +0000 (19:31 +0000)]
sync llvm-read{elf,obj} for i386

2 years agoGenerate P-256 ECDH keys for iked instead of reusing 2048 bit RSA keys
tobhe [Mon, 11 Jul 2022 18:19:47 +0000 (18:19 +0000)]
Generate P-256 ECDH keys for iked instead of reusing 2048 bit RSA keys
from isakmpd.

ok bluhm@

2 years agoImplement send side of RFC7911 ADD-PATH
claudio [Mon, 11 Jul 2022 17:08:21 +0000 (17:08 +0000)]
Implement send side of RFC7911 ADD-PATH

This allows to send out more then one path per perfix to a neighbor that
supports add-path receive. OpenBGPD supports a few different modes to
select which paths to send:
  - all: send all valid paths (the ones with a * in bgpctl output)
  - best: send out only the single best path
  - ecmp: send out paths that evaluate the same up and including
                the nexthop metric
  - as-wide-best: send out paths that evaluete the same up but not including
  the nexthop metric
Currently ecmp and as-wide-best are the same. On top of this best, ecmp
and as-wide-best allow to include extra paths (e.g. best plus 2) and
for the multipath modes there is also a maximum (e.g. ecmp plus 2 max 4)

OK tb@

2 years agoProperly roll back in the add-path send case in up_dump_prefix()
claudio [Mon, 11 Jul 2022 16:58:58 +0000 (16:58 +0000)]
Properly roll back in the add-path send case in up_dump_prefix()

When up_dump_prefix() runs out of space while filling out prefixes
a possible path_id needs to be removed from the buf or else a corrupted
UPDATE is sent out.
OK tb@

2 years agoPut the RFC9234 open policy handing in its own function
claudio [Mon, 11 Jul 2022 16:55:21 +0000 (16:55 +0000)]
Put the RFC9234 open policy handing in its own function

While there fix a spelling mistake and remove an extra check for new == NULL
and old == NULL. The caller make this check already.
OK tb@

2 years agoWhen dumping prefixes for bgpctl just use prefix_eligible() to know if
claudio [Mon, 11 Jul 2022 16:51:01 +0000 (16:51 +0000)]
When dumping prefixes for bgpctl just use prefix_eligible() to know if
a prefix is eligible / valid.
OK tb@

2 years agos/can not/cannot/ in comments. No functional change.
claudio [Mon, 11 Jul 2022 16:47:27 +0000 (16:47 +0000)]
s/can not/cannot/ in comments. No functional change.

2 years agoUse newbest and oldbest instead of xp and active as variable names
claudio [Mon, 11 Jul 2022 16:46:41 +0000 (16:46 +0000)]
Use newbest and oldbest instead of xp and active as variable names
for the best prefix before and after the decision process.
OK tb@

2 years agoadd llvm-profdata(1) to base so that ports can benefit from profiled builds
robert [Mon, 11 Jul 2022 14:43:24 +0000 (14:43 +0000)]
add llvm-profdata(1) to base so that ports can benefit from profiled builds
ok fcambus@, sthen@

2 years agoSimplify the aiodone daemon which is only used for async writes.
mpi [Mon, 11 Jul 2022 11:33:17 +0000 (11:33 +0000)]
Simplify the aiodone daemon which is only used for async writes.

- Remove unused support for asynchronous read, including error conditions

- Grab the proper lock for each page that has been written to swap.  This
  allows to enable an assertion in uvm_page_unbusy().

- Move the uvm_anon_release() call outside of uvm_page_unbusy() and
  assert for the different anon cases.

ok beck@, kettenis@

2 years agoRemove asynchronous read support in uvm_swap_get().
mpi [Mon, 11 Jul 2022 11:29:11 +0000 (11:29 +0000)]
Remove asynchronous read support in uvm_swap_get().

Reading pages from swap is always done synchronously.  The fault handler
needs to sleep and PGO_SYNCIO is already asserted a couple of lines above.

ok beck@, kettenis@ as part of a larger diff.

2 years agoremove duplicate 'if (err)' line in iwm_auth()
stsp [Mon, 11 Jul 2022 11:28:37 +0000 (11:28 +0000)]
remove duplicate 'if (err)' line in iwm_auth()

spotted by waddlesplash at haiku-os

2 years agor1.3 converted the clock rates from kHz to Hz, so we shouldn't multiply by
jmatthew [Mon, 11 Jul 2022 10:44:08 +0000 (10:44 +0000)]
r1.3 converted the clock rates from kHz to Hz, so we shouldn't multiply by
1000 to pass the rate to amptimer_set_clockrate().  Fixes the system clock
running too slow for ntpd to keep in sync.

ok patrick@

2 years agoSync cert.pem with certdata.txt from the NSS release branch. OK tb@ bcook@
sthen [Mon, 11 Jul 2022 09:05:16 +0000 (09:05 +0000)]
Sync cert.pem with certdata.txt from the NSS release branch. OK tb@ bcook@

remove (expired):
/O=Cybertrust, Inc/CN=Cybertrust Global Root
/OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign

remove:
/C=ES/O=Agencia Catalana de Certificacio (NIF Q-0801176-I)/OU=Serveis Publics de Certificacio/OU=Vegeu https://www.catcert.net/verarrel (c)03/OU=Jerarquia Entitats de Certificacio Catalanes/CN=EC-ACC
/C=GB/O=Trustis Limited/OU=Trustis FPS Root CA

add new root (existing CAs):
/C=TW/O=Chunghwa Telecom Co., Ltd./CN=HiPKI Root CA - G1
/C=DE/O=D-Trust GmbH/CN=D-TRUST BR Root CA 1 2020
/C=DE/O=D-Trust GmbH/CN=D-TRUST EV Root CA 1 2020
/C=GR/O=Hellenic Academic and Research Institutions CA/CN=HARICA TLS ECC Root CA 2021
/C=GR/O=Hellenic Academic and Research Institutions CA/CN=HARICA TLS RSA Root CA 2021
/C=US/O=Internet Security Research Group/CN=ISRG Root X2
/C=PL/O=Unizeto Technologies S.A./OU=Certum Certification Authority/CN=Certum Trusted Network CA 2

add (new CAs):
/C=TN/O=Agence Nationale de Certification Electronique/CN=TunTrust Root CA
/serialNumber=G63287510/C=ES/O=ANF Autoridad de Certificacion/OU=ANF CA Raiz/CN=ANF Secure Server Root CA
/C=PL/O=Asseco Data Systems S.A./OU=Certum Certification Authority/CN=Certum EC-384 CA
/C=PL/O=Asseco Data Systems S.A./OU=Certum Certification Authority/CN=Certum Trusted Root CA
/C=AT/O=e-commerce monitoring GmbH/CN=GLOBALTRUST 2020
/C=CN/O=iTrusChina Co.,Ltd./CN=vTrus ECC Root CA
/C=CN/O=iTrusChina Co.,Ltd./CN=vTrus Root CA
/C=FI/O=Telia Finland Oyj/CN=Telia Root CA v2

replace with another cert with same CN (SHA1 vs SHA256):
/C=ES/CN=Autoridad de Certificacion Firmaprofesional CIF A62634068

2 years agofix NULL return adding missing semicolon
bcook [Mon, 11 Jul 2022 05:33:14 +0000 (05:33 +0000)]
fix NULL return adding missing semicolon

ok tb@

2 years agoremove the "tbl" suffix for a few man pages
daniel [Mon, 11 Jul 2022 03:11:49 +0000 (03:11 +0000)]
remove the "tbl" suffix for a few man pages

Over a decade ago, the build infrastructure had special logic to process
man pages that ended with the suffix "tbl".

This infrastructure is long gone and the special naming for these man pages
is no longer needed.

Revert the naming of these man pages for consistency with all other man
pages in the tree. As a bonus, we remove a few lines from some of the
Makefiles making them simpler.

ok jmc@, and no objection from schwarze@

2 years agoAdd missing `pipex_list_mtx' mutex(9) around all sessions loop within
mvs [Sun, 10 Jul 2022 21:28:10 +0000 (21:28 +0000)]
Add missing `pipex_list_mtx' mutex(9) around all sessions loop within
pipex_ip_output(). The all sessions loop was reworked to make possible
to drop the lock within.

ok bluhm@ yasuoka@.

2 years agoif_detach() should wait until concurrent (*if_qstart)() interface start
mvs [Sun, 10 Jul 2022 21:26:55 +0000 (21:26 +0000)]
if_detach() should wait until concurrent (*if_qstart)() interface start
routines finished.

Call ifq_barrier(9) just after we unlinked dying interface from the stack.
From this point it is not accessible by if_get(9) and if_unit(9), and all
concurrent threads owning interface pointer finished. It also detached
from pseudo drivers like bridge(4). We only could have concurrent
(*if_qstart)() handlers running, so wait them and then continue
destruction.

Reported and tested by Hrvoje Popovski.

ok bluhm@

2 years agoAdd _cb suffix to callback fields in struct ifmedia. Makes code
bluhm [Sun, 10 Jul 2022 21:13:41 +0000 (21:13 +0000)]
Add _cb suffix to callback fields in struct ifmedia.  Makes code
easier to read and grep as ifm_status was used in both structs
ifmediareq and ifmedia with different meaning.
OK mvs@

2 years agoAdd some anti-feline input protection by refusing to process
krw [Sun, 10 Jul 2022 20:34:31 +0000 (20:34 +0000)]
Add some anti-feline input protection by refusing to process
input of excessive length.

Make 'args' parameter to Xfuncs const char * and do the multiple
argument parsing in Xswap() and Xflag() on a local copy.

2 years agoRemove trailing whitespace. No code change.
mlarkin [Sun, 10 Jul 2022 20:16:15 +0000 (20:16 +0000)]
Remove trailing whitespace. No code change.

2 years agoRemove trailing whitespace. No code change.
mlarkin [Sun, 10 Jul 2022 20:15:31 +0000 (20:15 +0000)]
Remove trailing whitespace. No code change.

2 years agoRemove trailing whitespace. No code change.
mlarkin [Sun, 10 Jul 2022 20:14:16 +0000 (20:14 +0000)]
Remove trailing whitespace. No code change.

2 years agos/0/instance/ in usage to match manual synopsis
kn [Sun, 10 Jul 2022 19:51:37 +0000 (19:51 +0000)]
s/0/instance/ in usage to match manual synopsis

OK jmc

2 years agoAnnotate the security callback and the security ex_data as deliberately
tb [Sun, 10 Jul 2022 18:40:55 +0000 (18:40 +0000)]
Annotate the security callback and the security ex_data as deliberately
not exposed in the public API.

2 years agoUse nice #define's for input buf size and output help buf size.
krw [Sun, 10 Jul 2022 17:46:03 +0000 (17:46 +0000)]
Use nice #define's for input buf size and output help buf size.

No functional change.

2 years agoIn dsa.h rev. 1.38, tb@ provided DSA_meth_get0_name(3)
schwarze [Sun, 10 Jul 2022 13:41:59 +0000 (13:41 +0000)]
In dsa.h rev. 1.38, tb@ provided DSA_meth_get0_name(3)
and DSA_meth_set1_name(3).
Merge the documentation from the OpenSSL 1.1.1 branch, which
is still under a free license, significantly tweaked by me.

2 years agoAdd missing device_unref() calls.
visa [Sun, 10 Jul 2022 08:33:00 +0000 (08:33 +0000)]
Add missing device_unref() calls.

OK kettenis@

2 years agoExplicitly set the default value for Bflag to BPF_FILDROP_PASS
halex [Sat, 9 Jul 2022 23:24:44 +0000 (23:24 +0000)]
Explicitly set the default value for Bflag to BPF_FILDROP_PASS

Technically a nop since the value of the initial constant is 0 anyway
but we should not rely on that.

2 years agoFix the error path of the 'SIOCSIFMTU' pppoe_ioctl() case. Return error
mvs [Sat, 9 Jul 2022 20:57:01 +0000 (20:57 +0000)]
Fix the error path of the 'SIOCSIFMTU' pppoe_ioctl() case. Return error
value if the `error' is set instead of continue to sppp_ioctl().

ok bluhm@

2 years agoAdd suspend/resume support
kettenis [Sat, 9 Jul 2022 20:52:46 +0000 (20:52 +0000)]
Add suspend/resume support

ok mlarkin@, patrick@

2 years agoAdd suspend/resume support.
kettenis [Sat, 9 Jul 2022 20:51:39 +0000 (20:51 +0000)]
Add suspend/resume support.

ok mlarkin@, patrick@

2 years agoAdd support for calling the CPU_OFF and SYSTEM_SUSPEND functions.
kettenis [Sat, 9 Jul 2022 19:27:56 +0000 (19:27 +0000)]
Add support for calling the CPU_OFF and SYSTEM_SUSPEND functions.
Add a function to check whether SYSTEM_SUSPEND is supported by the
PSCI firmware.

ok patrick@

2 years agoSync: add llvm-readelf/llvm-readobj
jca [Sat, 9 Jul 2022 16:44:48 +0000 (16:44 +0000)]
Sync: add llvm-readelf/llvm-readobj

2 years agoBuild and install llvm-readobj, also install it as llvm-readelf
jca [Sat, 9 Jul 2022 16:25:37 +0000 (16:25 +0000)]
Build and install llvm-readobj, also install it as llvm-readelf

Useful on architectures not actually supported by our ancient binutils
(arm64, powerpc64, riscv64), or on architectures incompletely supported
(eg recent features on amd64).

ok kettenis@ sthen@

2 years agoCheck that ASN1_{INTEGER,ENUMERATED}_get(NULL) return 0 as documented.
tb [Sat, 9 Jul 2022 14:47:42 +0000 (14:47 +0000)]
Check that ASN1_{INTEGER,ENUMERATED}_get(NULL) return 0 as documented.

2 years agoMake ASN1_{INTEGER,ENUMERATED}_get() return 0 on NULL again
tb [Sat, 9 Jul 2022 14:46:42 +0000 (14:46 +0000)]
Make ASN1_{INTEGER,ENUMERATED}_get() return 0 on NULL again

This is the documented behavior which got lost in the recent rewrite.

Mismatch of documentation and reality pointed out by schwarze

ok jsing

2 years agoDocument ASN1_INTEGER_get_uint64(3), ASN1_INTEGER_get_int64(3),
schwarze [Sat, 9 Jul 2022 13:13:34 +0000 (13:13 +0000)]
Document ASN1_INTEGER_get_uint64(3), ASN1_INTEGER_get_int64(3),
ASN1_INTEGER_set_uint64(3), ASN1_INTEGER_set_int64(3),
ASN1_ENUMERATED_get_int64(3), and ASN1_ENUMERATED_set_int64(3)
recently provided by tb@.

Even though Dr. Steven Henson also documented these functions in OpenSSL,
the text over there is excessively verbose, repetitive, very badly ordered,
and incomplete, so i chose to instead write this patch from scratch,
also adding some precision in a few places.

2 years agoUnwrap klist from struct selinfo as this code no longer uses selwakeup().
visa [Sat, 9 Jul 2022 12:48:21 +0000 (12:48 +0000)]
Unwrap klist from struct selinfo as this code no longer uses selwakeup().

OK jsg@

2 years agoConsistently use uint64_t.
kettenis [Sat, 9 Jul 2022 09:25:52 +0000 (09:25 +0000)]
Consistently use uint64_t.

2 years agoDisplay parameters exposed to userland as percentages (backlight, brightness,
miod [Fri, 8 Jul 2022 21:29:20 +0000 (21:29 +0000)]
Display parameters exposed to userland as percentages (backlight, brightness,
contrast) are not valid if they only have one state, i.e. minimum and maximum
values being equal.

Do not expose them to userland in this case, for wsconsctl would attempt to
divide by zero (which is known to have unwelcome consequences).

This allows display drivers trusting not-so-reliable sources (fdt, bogus
hardware...) to not have to perform those checks themselves.

Found the hard way by daniel@. No firm consensus on this workaround, using
one seniority point here, will revert if this spawns complaints.

2 years agoAdd a missing check for negative tv_sec when setting the timeout.
millert [Fri, 8 Jul 2022 20:47:24 +0000 (20:47 +0000)]
Add a missing check for negative tv_sec when setting the timeout.
Also clear the entire timeout if the remaining time becomes negative
instead of just clearing tv_sec or tv_nsec.  OK cheloha@.

2 years agoSupport sending certificate chains with intermediate CAs in multiple CERT
tobhe [Fri, 8 Jul 2022 19:51:11 +0000 (19:51 +0000)]
Support sending certificate chains with intermediate CAs in multiple CERT
payloads.  Local certificate chains as required with LetsEncrypt certs will
work between iked and other IKEv2 implementations,  iked to iked connections
won't work yet because of missing support to receive multiple CERT
payloads.

from Katsuhiro Ueno
tested by and ok sthen@

2 years agoUse AID_MIN instead of 0 == AID_UNSPEC as foo loop start value where apropriate
claudio [Fri, 8 Jul 2022 16:12:11 +0000 (16:12 +0000)]
Use AID_MIN instead of 0 == AID_UNSPEC as foo loop start value where apropriate

OK tb@

2 years agowhitespace
tb [Fri, 8 Jul 2022 14:33:56 +0000 (14:33 +0000)]
whitespace

2 years agoPass path_id_tx to the Adj-RIB-Out
claudio [Fri, 8 Jul 2022 10:01:52 +0000 (10:01 +0000)]
Pass path_id_tx to the Adj-RIB-Out

Adjust prefix_adjout_update() to properly handle path_id_tx.
Move the lookup of the prefix out of prefix_adjout_update() and to
up_generate_updates(). While that code uses prefix_adjout_lookup() to
find the current prefix in the Adj-RIB-Out and add-path aware function
will use prefix_adjout_get().

In up_generate_default() just use 0 for path_id_tx since for this peer
that is the only prefix installed into the Adj-RIB-Out.

OK tb@

2 years agoThis needs arpa/inet.h for ntohs() and htons()
claudio [Fri, 8 Jul 2022 08:48:56 +0000 (08:48 +0000)]
This needs arpa/inet.h for ntohs() and htons()

2 years agoAssign a local path_id to all prefixes
claudio [Fri, 8 Jul 2022 08:11:25 +0000 (08:11 +0000)]
Assign a local path_id to all prefixes

For add-path a unique path_id needs to be assigne to all prefixes.
Use a random number since the RFC explicitly mentions that there is no
meaning what the value means. The local path_id is inherited to all
the RIBs. Adj-RIB-Out handling is not yet down.
OK tb@

2 years agoremove unused variables
jsg [Fri, 8 Jul 2022 07:04:54 +0000 (07:04 +0000)]
remove unused variables

2 years agoAdd to variables instead of overriding them
tb [Fri, 8 Jul 2022 06:25:39 +0000 (06:25 +0000)]
Add to variables instead of overriding them

2 years agodrm/fourcc: fix integer type usage in uapi header
jsg [Thu, 7 Jul 2022 23:32:11 +0000 (23:32 +0000)]
drm/fourcc: fix integer type usage in uapi header

From Carlos Llamas
5b458d3de9cfac4a21b704c90c8c7eff244c8b13 in linux 5.15.y/5.15.53
20b8264394b33adb1640a485a62a84bc1388b6a3 in mainline linux

2 years agodrm/i915/gem: add missing else
jsg [Thu, 7 Jul 2022 23:28:58 +0000 (23:28 +0000)]
drm/i915/gem: add missing else

From katrinzhou
a13ea254268c5538f4c2f1a1a344ad07cd7b87d3 in linux 5.15.y/5.15.53
9efdd519d001ee3e761f6ff80d5eb123387421c1 in mainline linux

2 years agodrm/amdgpu: To flush tlb for MMHUB of RAVEN series
jsg [Thu, 7 Jul 2022 23:25:48 +0000 (23:25 +0000)]
drm/amdgpu: To flush tlb for MMHUB of RAVEN series

From Ruili Ji
31c371b61d13dd457fdcc27cd728c04ee09f9cdb in linux 5.15.y/5.15.53
5cb0e3fb2c54eabfb3f932a1574bff1774946bc0 in mainline linux

2 years agoRevert "drm/amdgpu/display: set vblank_disable_immediate for DC"
jsg [Thu, 7 Jul 2022 23:23:10 +0000 (23:23 +0000)]
Revert "drm/amdgpu/display: set vblank_disable_immediate for DC"

From Alex Deucher
990132bebcc81aa95c1a1ac4422b0364753d9d39 in linux 5.15.y/5.15.53
a775e4e4941bf2f326aa36c58f67bd6c96cac717 in mainline linux

2 years agoIf ppoll(2) exits, log to syslog(3) instead of stderr
jca [Thu, 7 Jul 2022 20:58:57 +0000 (20:58 +0000)]
If ppoll(2) exits, log to syslog(3) instead of stderr

By default cron runs as a daemon, with stderr redirected to /dev/null.
Better not exit silently, as spotted by sthen@, danj@, "wxallowed" on
irc/libera and myself.  There probably is a bug lurking in ppoll(2)
usage or in the syscall implementation.

ok millert@

2 years agoAdd support for primality checking
tb [Thu, 7 Jul 2022 20:01:20 +0000 (20:01 +0000)]
Add support for primality checking

Project Wycheproof's primality_tests.json contain a set of 280 numbers
that trigger edge cases in Miller-Rabin and related checks. libcrypto's
Miller-Rabin test is known to be rather poor, hopefully we will soon see
a diff on tech that improves on this.

This extends the Go test in the usual way and also adds a perl script
that allows testing on non-Go architectures.

Deliberately not yet linked to regress since the tests are flaky with
the current BN_is_prime_ex() implementatation.

2 years agoRework prefix_insert() and prefix_remove() to properly recalculate dmetric
claudio [Thu, 7 Jul 2022 19:46:38 +0000 (19:46 +0000)]
Rework prefix_insert() and prefix_remove() to properly recalculate dmetric

The med regress test triggered the fatal in prefix_set_dmetric() because
on MED priority inversion the simple check previous with next before remove
can return a negative number because that prefix is also inversed.

Adjust code so that when removing prefixes from the list wait until the
next element is checked to do the fixup. In prefix_remove() cache the
previous element and calculate the dmetric at the end of the MED check.
In prefix_insert() alter the loop to also defer the dmetric recalc by
removing most continue statements in the loop.
With and OK tb@

2 years agosort
tb [Thu, 7 Jul 2022 19:43:37 +0000 (19:43 +0000)]
sort

2 years agoSync bs_cbb.c with libssl.
tb [Thu, 7 Jul 2022 17:16:05 +0000 (17:16 +0000)]
Sync bs_cbb.c with libssl.

ok jsing

2 years agoMake CBB_finish() fail if *out_data is not NULL
tb [Thu, 7 Jul 2022 17:12:15 +0000 (17:12 +0000)]
Make CBB_finish() fail if *out_data is not NULL

Contrary to CBS_stow(), CBB_finish() will leak, so ensure we fail if
*out_data is populated.

Discussed with & ok jsing

2 years agoInitialize hkdf_label to NULL.
tb [Thu, 7 Jul 2022 17:09:45 +0000 (17:09 +0000)]
Initialize hkdf_label to NULL.

Needed for an upcoming diff adding a NULL check to CBB_finish().

ok jsing

2 years agoUse a local bits variable to avoid ugly line break due to nested function
tb [Thu, 7 Jul 2022 17:08:28 +0000 (17:08 +0000)]
Use a local bits variable to avoid ugly line break due to nested function
calls.

ok jsing

2 years agoSkip dmetric related code for the Adj-RIB-Out since there is no decision
claudio [Thu, 7 Jul 2022 13:55:52 +0000 (13:55 +0000)]
Skip dmetric related code for the Adj-RIB-Out since there is no decision
process there.
OK tb@

2 years agoRevert previous attempt at serializing `uo_refs'.
mpi [Thu, 7 Jul 2022 13:52:20 +0000 (13:52 +0000)]
Revert previous attempt at serializing `uo_refs'.

It is incorrect to look at/modify `uo_refs' without lock in uvm_vnp_sync().
However sleeping is not possible and spinning introduces a deadlock with the
KERNEL_LOCK() when another thread faults on a mmaped region related to a
vnode we're currently synching.

A proper fix should be investigated.  For now a kown a race, mostly safe due
to the KERNEL_LOCK(), is better than a possible deadlock.

Issue reported by caspar@

Discussed with and ok semarie@

2 years agoAdjust to new bgpctl output
claudio [Thu, 7 Jul 2022 13:40:27 +0000 (13:40 +0000)]
Adjust to new bgpctl output

2 years agoUse the security level knob in the test script.
tb [Thu, 7 Jul 2022 13:20:12 +0000 (13:20 +0000)]
Use the security level knob in the test script.

from beck

2 years agoOnly run tests against ciphers supported by the method.
tb [Thu, 7 Jul 2022 13:12:57 +0000 (13:12 +0000)]
Only run tests against ciphers supported by the method.

2 years agoAdd some minimal regress coverage for the security level.
tb [Thu, 7 Jul 2022 13:11:45 +0000 (13:11 +0000)]
Add some minimal regress coverage for the security level.

From beck

2 years agoMake the ssltest security level aware.
tb [Thu, 7 Jul 2022 13:10:22 +0000 (13:10 +0000)]
Make the ssltest security level aware.

From beck