tb [Sun, 26 Mar 2023 22:10:03 +0000 (22:10 +0000)]
Unhook bn_mod_exp2_mont test
tb [Sun, 26 Mar 2023 22:09:08 +0000 (22:09 +0000)]
Fold the small BN_mod_exp2_mont() crash test into bn_mod_exp.c
kettenis [Sun, 26 Mar 2023 21:44:46 +0000 (21:44 +0000)]
Aparantly we must configure the RGMII interface (and possible the TX/RX
delays) before taking the PHY out of reset. Fixes dwqe(4) on several
boards that use rgephy(4).
ok patrick@
tb [Sun, 26 Mar 2023 20:13:26 +0000 (20:13 +0000)]
Test negative modulus as well.
Lower the number of rounds. These tests are expensive.
tb [Sun, 26 Mar 2023 20:09:14 +0000 (20:09 +0000)]
Align bn_mod_exp_zero_test() with bn_mod_exp_test()
tb [Sun, 26 Mar 2023 19:56:28 +0000 (19:56 +0000)]
Fix copy-paste error
jsing [Sun, 26 Mar 2023 19:30:45 +0000 (19:30 +0000)]
Replace HASH_BLOCK_DATA_ORDER with sha1_block_data_order.
The only reason to use HASH_BLOCK_DATA_ORDER in the implementation is to
make the code harder to read.
kn [Sun, 26 Mar 2023 19:25:16 +0000 (19:25 +0000)]
Simplify apple firmware copying
Less duplicate code, easier to add new firmware.
OK afresh1
jsing [Sun, 26 Mar 2023 19:22:35 +0000 (19:22 +0000)]
Remove unnecessary HIDDEN_DECLS.
jsing [Sun, 26 Mar 2023 19:21:13 +0000 (19:21 +0000)]
Removes some unwanted spaces.
jsing [Sun, 26 Mar 2023 19:19:28 +0000 (19:19 +0000)]
Whack sha1dgst.c with the style(9) stick again.
tb [Sun, 26 Mar 2023 19:14:11 +0000 (19:14 +0000)]
Add regress coverage for some BIO_f_asn1() bugs fixed before release
tb [Sun, 26 Mar 2023 19:09:42 +0000 (19:09 +0000)]
Minor whitespace tidying
jsing [Sun, 26 Mar 2023 19:04:06 +0000 (19:04 +0000)]
Tidy up includes.
jsing [Sun, 26 Mar 2023 19:02:40 +0000 (19:02 +0000)]
Inline sha_local.h in sha1dgst.c.
Nothing other than sha1dst.c uses this header - pull it in to sha1dgst.c
directly (sha_local.h will be removed at a later date).
tb [Sun, 26 Mar 2023 19:01:59 +0000 (19:01 +0000)]
Fix a typo in dump_exp_results()
tb [Sun, 26 Mar 2023 19:01:15 +0000 (19:01 +0000)]
Add more extensive regress coverage for BN_mod_exp2_mont()
tb [Sun, 26 Mar 2023 18:57:04 +0000 (18:57 +0000)]
Rename dump_results() into dump_exp_results()
This prepares for consistency with an upcoming diff. While here fix an
argument order bug.
tb [Sun, 26 Mar 2023 18:54:08 +0000 (18:54 +0000)]
Move the N_MOD_EXP_TESTS up to where it belongs
tb [Sun, 26 Mar 2023 18:52:29 +0000 (18:52 +0000)]
Make several calls to BN_nnmod() unconditional
This removes a potential branch in a sensitive function and makes the
code a lot simpler. It is a really bad idea optimize here for what
davidben aptly calls "calculator" purposes.
ok jsing
tb [Sun, 26 Mar 2023 18:49:48 +0000 (18:49 +0000)]
Correctly reduce negative inpot to BN_mod_exp2_mont()
Negative bases could result in a negative modulus being returned. This is
not strictly speaking incorrect but slightly surprising. This is all a
consequence of the shortcut of defining BN_mod() as a macro using BN_div().
Fixes ossfuzz #55997
ok jsing
tb [Sun, 26 Mar 2023 18:46:23 +0000 (18:46 +0000)]
Add regress coverage for an issue with BN_mod_exp2_mont() reported
by Guido Vranken in ossfuzz #55997. This test currently fails and
will be fixed momentarily.
This also checks sensible behavior with respect to zero exponents for
this functions.
tb [Sun, 26 Mar 2023 18:34:36 +0000 (18:34 +0000)]
bn_primes: there is no need to link this statically. It can pull the
primes table in directly.
mlarkin [Sun, 26 Mar 2023 18:12:45 +0000 (18:12 +0000)]
amd64: identify IBT capability in cpu(4) dmesg lines
requested by and ok deraadt@
tb [Sun, 26 Mar 2023 18:11:48 +0000 (18:11 +0000)]
Another missing #include <openssl/err.h>
tb [Sun, 26 Mar 2023 18:04:47 +0000 (18:04 +0000)]
Add missing #include <openssl/err.h>
jsing [Sun, 26 Mar 2023 17:56:51 +0000 (17:56 +0000)]
Add license to sha256.c/sha512.c.
jsing [Sun, 26 Mar 2023 17:52:07 +0000 (17:52 +0000)]
Use multiple statements instead of comma separated expressions.
No change to generated assembly.
tb [Sun, 26 Mar 2023 17:51:25 +0000 (17:51 +0000)]
The slightly less deprecated spelling of ERR_remove_state(0) is
ERR_remove_thread_state(NULL).
jsing [Sun, 26 Mar 2023 17:33:41 +0000 (17:33 +0000)]
Add blank lines for readability.
jsing [Sun, 26 Mar 2023 17:06:14 +0000 (17:06 +0000)]
Add some blank lines for readability, along with some more style(9) tweaks.
jsing [Sun, 26 Mar 2023 16:40:07 +0000 (16:40 +0000)]
Whack sha with a style(9) stick.
No change in generated assembly.
krw [Sun, 26 Mar 2023 16:23:58 +0000 (16:23 +0000)]
Pass lbuf/lbuflen to PRT_print_[mbr|gpt]_menu() to allow changes
to the original input. Just zap it for now.
No functional change.
tb [Sun, 26 Mar 2023 14:50:23 +0000 (14:50 +0000)]
bn_mod_exp_ret() fix stupid logic error
krw [Sun, 26 Mar 2023 13:12:33 +0000 (13:12 +0000)]
Add EFI_SYSTEM_PARTITION_GUID #define and use it to check for
protection.
No functional change.
krw [Sun, 26 Mar 2023 12:19:54 +0000 (12:19 +0000)]
Add MICROSOFT_BASIC_DATA_GUID #define to make clear what menu
items result in the same GUID. Easier to spot and more resistant
to simple typos in a 36 character hex string.
No functional change.
kettenis [Sun, 26 Mar 2023 10:41:42 +0000 (10:41 +0000)]
Add support for the RK3568 32k RTC clock. This clock uses a fractional
divider so rework the RK3399 support for fractional dividers to be more
general and reuse it.
ok dlg@
jsg [Sun, 26 Mar 2023 09:39:46 +0000 (09:39 +0000)]
fix memory leaks in error paths
ok miod@
jsg [Sun, 26 Mar 2023 09:34:06 +0000 (09:34 +0000)]
fix a memory leak
feedback kettenis@ ok miod@
robert [Sun, 26 Mar 2023 09:09:31 +0000 (09:09 +0000)]
allow out-of-class defaulting of comparison operators
ok deraadt@, mortimer@
this is backport of the following upstream commit:
commit
5fbe21a7748f91adbd1b16c95bbfe180642320a3
Author: Nathan Sidwell <nathan@acm.org>
Date: Wed Jun 16 10:43:43 2021 -0700
[clang] p2085 out-of-class comparison operator defaulting
This implements p2085, allowing out-of-class defaulting of comparison
operators, primarily so they need not be inline, IIUC intent. this was
mostly straigh forward, but required reimplementing
Sema::CheckExplicitlyDefaultedComparison, as now there's a case where
we have no a priori clue as to what class a defaulted comparison may
be for. We have to inspect the parameter types to find out. Eg:
class X { ... };
bool operator==(X, X) = default;
Thus reimplemented the parameter type checking, and added 'is this a
friend' functionality for the above case.
jsg [Sun, 26 Mar 2023 08:45:27 +0000 (08:45 +0000)]
unifdef
ok stsp@
tb [Sun, 26 Mar 2023 08:04:57 +0000 (08:04 +0000)]
bn_prime.pl: fix shebang and a couple more whitespace tweaks
krw [Sat, 25 Mar 2023 22:00:28 +0000 (22:00 +0000)]
Add comments documenting possible sources for MBR partition types
and GPT partition GUIDs.
No functional change.
fcambus [Sat, 25 Mar 2023 21:02:21 +0000 (21:02 +0000)]
Fix erroneous comment for the PT_OPENBSD_MUTABLE definition.
krw [Sat, 25 Mar 2023 20:34:28 +0000 (20:34 +0000)]
Move LINEBUFSZ to be with its friends in misc.h.
Nuke unused HELPBUFSZ.
No functional change.
krw [Sat, 25 Mar 2023 19:37:34 +0000 (19:37 +0000)]
Rename ascii_id() find_mbr_type(), make it a bit more like its
sibling find_gpt_type(), tweaking PRT_print_part() as needed.
No functional change.
otto [Sat, 25 Mar 2023 19:16:34 +0000 (19:16 +0000)]
Last arg is also a pointer, so pass NULL instead of 0; ok deraadt@
kn [Sat, 25 Mar 2023 18:29:37 +0000 (18:29 +0000)]
pine64: Silence dd(1) properly
We must not discard all errors, just disable informational messages.
OK tb
kn [Sat, 25 Mar 2023 18:27:28 +0000 (18:27 +0000)]
simplify final MAKEDEV call
No need to loop here, the script takes multiple args.
OK tb afresh1
kn [Sat, 25 Mar 2023 16:01:37 +0000 (16:01 +0000)]
sync nd6_resolve() EINVAL handling with arpresolve()
Less diff between them; merging three returns into one also reduces
upcoming unlock diffs. OK bluhm
kn [Sat, 25 Mar 2023 15:59:23 +0000 (15:59 +0000)]
sync nd6_resolve() uptime handling with arpresolve()
makes the two familiar functions look more alike; OK bluhm
krw [Sat, 25 Mar 2023 15:58:44 +0000 (15:58 +0000)]
Make *_name fields char * instead of char[]. Specify desired
width of output in printf() rather than "%-*s" and sizeof(name) +
1. Clearer, may even save some bytes as many names are shorter
than the max.
Rename PRT_print_mbrtypes() to PRT_print_mbrmenu() and
PRT_print_gpttypes() to PRT_print_gptmenu() to remove implied
completeness of list presented in menu.
No functional change.
otto [Sat, 25 Mar 2023 15:22:06 +0000 (15:22 +0000)]
Change malloc chunk sizes to be fine grained.
The basic idea is simple: one of the reasons the recent sshd bug
is potentially exploitable is that a (erroneously) freed malloc
chunk gets re-used in a different role. malloc has power of two
chunk sizes and so one page of chunks holds many different types
of allocations. Userland malloc has no knowledge of types, we only
know about sizes. So I changed that to use finer-grained chunk
sizes.
This has some performance impact as we need to allocate chunk pages
in more cases. Gain it back by allocation chunk_info pages in a
bundle, and use less buckets is !malloc option S. The chunk sizes
used are 16, 32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320,
384, 448, 512, 640, 768, 896, 1024, 1280, 1536, 1792, 2048 (and a
few more for sparc64 with its 8k sized pages and loongson with its
16k pages).
If malloc option S (or rather cache size 0) is used we use strict
multiple of 16 sized chunks, to get as many buckets as possible.
ssh(d) enabled malloc option S, in general security sensitive
programs should.
See the find_bucket() and bin_of() functions. Thanks to Tony Finch
for pointing me to code to compute nice bucket sizes.
ok tb@
deraadt [Sat, 25 Mar 2023 15:07:19 +0000 (15:07 +0000)]
things will be ready a bit earlier
krw [Sat, 25 Mar 2023 15:05:45 +0000 (15:05 +0000)]
Rename *_sname fields/functions to *_name to remove implied
shortness of the names.
No functional change.
tb [Sat, 25 Mar 2023 11:35:02 +0000 (11:35 +0000)]
Use strict and warnings
tb [Sat, 25 Mar 2023 11:28:55 +0000 (11:28 +0000)]
Make an attempt at reducing the eyebleed in bn_prime.pl
Use a style more resembling KNF and drop lots of parentheses. Simplify
a few things. No change in generated output on success.
tb [Sat, 25 Mar 2023 11:09:58 +0000 (11:09 +0000)]
Use Eric Young's usual license in the proper place rather than a weird
commented-out license stub in a HERE document.
tb [Sat, 25 Mar 2023 11:03:45 +0000 (11:03 +0000)]
Add RCSID
tb [Sat, 25 Mar 2023 11:02:26 +0000 (11:02 +0000)]
Add checks to ensure the uint16_t array isn't overflowed when this
script is run. This is more of an issue with uint16_t now than it
was with prime_t aka BN_ULONG before r1.6.
tb [Sat, 25 Mar 2023 10:51:18 +0000 (10:51 +0000)]
Zap an empty line
tb [Sat, 25 Mar 2023 10:45:20 +0000 (10:45 +0000)]
Drop unnecessary casts from and to void *
tb [Sat, 25 Mar 2023 10:41:52 +0000 (10:41 +0000)]
Unindent asn1_bio_get_ex()
kettenis [Sat, 25 Mar 2023 10:14:58 +0000 (10:14 +0000)]
The "snps,reset-*" properties are deprecatedand are being replaced with
"reset-*" proprties on the PHY device tree nodes. Add support for this.
ok dlg@
tb [Sat, 25 Mar 2023 09:23:44 +0000 (09:23 +0000)]
Guard GF2m-specifics with OPENSSL_NO_EC2M
tb [Sat, 25 Mar 2023 09:21:17 +0000 (09:21 +0000)]
Enable FRP256v2 tests
This was previously disabled because tb apparently can't grep. Exercise
this curve as well as part of the new test cases in ECDH wycheproof.
tb [Sat, 25 Mar 2023 09:17:14 +0000 (09:17 +0000)]
Remove dead/unreachable code
A copy-paste error would have resulted in a modified msg in case ctLen == 0
or msgLen == 0. So obviously this is unreachable code.
tb [Sat, 25 Mar 2023 09:12:35 +0000 (09:12 +0000)]
Pull in <openssl/rsa.h> directly
This is needed for many reasons. It is currently pulled in via x509.h
but only when OPENSSL_NO_DEPRECATED is undefined. Again this should be
fixed in the public header as well.
tb [Sat, 25 Mar 2023 09:09:28 +0000 (09:09 +0000)]
BN_free() is defined in <openssl/bn.h>
This is currently pulled in via dsa.h and ecdsa.h, but only when
OPENSSL_NO_DEPRECATED is not defined. We should fix this in the
public header, too - let's wait a bit with that.
deraadt [Sat, 25 Mar 2023 05:49:50 +0000 (05:49 +0000)]
we are now hacking on 7.3-current
deraadt [Sat, 25 Mar 2023 00:09:51 +0000 (00:09 +0000)]
correct day of week
millert [Thu, 23 Mar 2023 18:57:10 +0000 (18:57 +0000)]
This year Lebanon springs forward April 20/21 not March 25/26.
This change is not yet part of an iana-tz or global-tz release.
millert [Thu, 23 Mar 2023 16:12:10 +0000 (16:12 +0000)]
Update to 2023agtz from https://github.com/JodaOrg/global-tz
* Egypt now uses DST again, from April through October.
* This year Morocco springs forward April 23, not April 30.
* Palestine delays the start of DST this year.
* Much of Greenland still uses DST from 2024 on.
* America/Yellowknife now links to America/Edmonton.
jsg [Thu, 23 Mar 2023 13:15:02 +0000 (13:15 +0000)]
correct rk3308 clk_32k_sel mask
ok jmatthew@
stsp [Thu, 23 Mar 2023 12:43:38 +0000 (12:43 +0000)]
update sppp(4) docs to mention remote address range hack
As already documented in pppoe(4). I missed updating sppp(4) years
ago when support for the wildcard address range was added.
jsg [Thu, 23 Mar 2023 11:40:42 +0000 (11:40 +0000)]
avoid use after free
ok miod@ kettenis@
jsg [Thu, 23 Mar 2023 01:41:12 +0000 (01:41 +0000)]
fix off-by-one in pf_state_expires() bounds test
such a value would have triggered a KASSERT()
ok sashan@ deraadt@
op [Wed, 22 Mar 2023 22:09:37 +0000 (22:09 +0000)]
plug another leak in addctag; found + ok tb@
jsg [Wed, 22 Mar 2023 21:41:28 +0000 (21:41 +0000)]
fix GMAC_CHAN_RX_CONTROL write
ok patrick@ kettenis@
op [Wed, 22 Mar 2023 19:42:41 +0000 (19:42 +0000)]
avoid memleak / crash in addctag
the l pointer is advanced, so if the line is malformed `goto cleanup'
will free(NULL) or a pointer inside l.
semplification and ok tb@
op [Wed, 22 Mar 2023 18:18:35 +0000 (18:18 +0000)]
plug memleak in error path
based on a diff by lux (lx [at] shellcodes [dot] org), thanks!
Diff via, tweak and ok tb@
op [Wed, 22 Mar 2023 18:10:07 +0000 (18:10 +0000)]
delete trailing whitespaces; no functional change
claudio [Wed, 22 Mar 2023 17:14:57 +0000 (17:14 +0000)]
Bump version
denis [Wed, 22 Mar 2023 17:01:07 +0000 (17:01 +0000)]
Reverse bus_space_unmap(9) order
When `unmap_1` is reached we should bus_space_unmap() sc_hwrm_* and not sc_db_*.
ok miod@
jmc [Tue, 21 Mar 2023 22:57:38 +0000 (22:57 +0000)]
update the description for bwfm(4);
patrick [Tue, 21 Mar 2023 22:31:17 +0000 (22:31 +0000)]
Document support for the BCM4378 / BCM4387 chipsets.
from Brad
claudio [Tue, 21 Mar 2023 14:52:36 +0000 (14:52 +0000)]
Improve length checks for ATTR_MP_REACH_NLRI.
Based on a report by cjt (melissa_cjt at 163.com)
OK tb@
jsg [Tue, 21 Mar 2023 09:44:35 +0000 (09:44 +0000)]
remove uneeded includes
deraadt [Sun, 19 Mar 2023 23:22:53 +0000 (23:22 +0000)]
sync
kettenis [Sun, 19 Mar 2023 20:32:13 +0000 (20:32 +0000)]
Aggressively randomize the location of the stack on all 64-bit architectures
except alpha. This will put the stack at a random location in the upper
1/4th of the userland virtual address space providing up to 26 additional
bits of randomness in the address. Skip alpha for now since it currently
puts the stack at a (for a 64-bit architecture) very low address. Skip
32-bit architectures for now as well since those have a much smaller
virtual address space and we need more time to figure out what a safe
amount of extra randomizations is. These architectures will continue to
use a mildly randomized stack address through the existing stackgap random
mechanism. We will revisit this after 7.3 is released.
This should make it harder for an attacker to find the stack.
ok deraadt@, miod@
millert [Sun, 19 Mar 2023 16:43:44 +0000 (16:43 +0000)]
mda_expand_format: simplify token name extraction for %{name}
It is simpler to compute the length based on the start and end
pointers and pass that value to memcpy(), adding an explicit NUL
terminator after copying. OK op@
kettenis [Sun, 19 Mar 2023 11:22:50 +0000 (11:22 +0000)]
rkpciephy(4)
kettenis [Sun, 19 Mar 2023 11:18:11 +0000 (11:18 +0000)]
Enable rkpciephy(40.
kettenis [Sun, 19 Mar 2023 11:17:16 +0000 (11:17 +0000)]
Add rkpciephy(4), ad friver for the PCIe 3.0 PHY dound on the RK356x.
The driver in principle supports bifurcation but this is (largely) untested.
ok dlg@
dlg [Sun, 19 Mar 2023 10:18:17 +0000 (10:18 +0000)]
improve dmesg output to help with debugging.
for SoCs that can provide multiple instances of rkclock, let them
provide a name that will be printed during attach so you can tell
which one is doing what.
when rkclock_set_frequency isn't handling a clock, have it print
which rkclock instance isn't handling a clock. while here, print
the clock index the same way the #define refers to them.
ok kettenis@
kettenis [Sun, 19 Mar 2023 09:46:40 +0000 (09:46 +0000)]
Use a task to switch clocks on RK3568 as the clock API needs process context.
ok jmatthew@
jsg [Sun, 19 Mar 2023 09:38:43 +0000 (09:38 +0000)]
regen
jsg [Sun, 19 Mar 2023 09:38:06 +0000 (09:38 +0000)]
add another Navi 33 device id
0x7483 rev 0xcf is Radeon RX 7600M according to
Radeon Software for Linux version 22.40.3 (5.4.3) libdrm-amdgpu-common
kettenis [Sun, 19 Mar 2023 09:32:11 +0000 (09:32 +0000)]
Add a few more RK3568 clocks.
ok dlg@
kettenis [Sun, 19 Mar 2023 08:41:49 +0000 (08:41 +0000)]
Use a task to switch clocks on RK3568 as the clock API needs process context.
ok jmatthew@