[Github] Use explicit --progress for large wget downloads (#224092)
Otherwise we get a log line every 50k which is exceedingly annoying as
it generates thousands of lines of output. Use mega/giga (3M/50M
respectively) depending upon the download size so we end up with about
20 lines of output.
[flang][OpenMP] Remove dependency on openmp-runtime where not needed,… (#224122)
… NFC
Several tests claimed dependence on openmp-runtime and had USE omp_lib
statements even though they didn't use anything from it.
acme-client: treat eab and eab_key as secrets
Wipe them with freezero after use and also make sure to delete possible
remnants of them on unbase64buf_url() failure.
reads fine to florian
ok jmatthew
HBSD: Add plumbing for bounds safety
clang/llvm is working on `-fbounds-safety`. This feature isn't available
in the version of llvm currently in base, but should be available in a
future release. Get ready for that release by adding a new src.conf(5)
knob: MK_BOUNDS_SAFETY (disabled by default).
Note that enabling this feature is effectively a no-op. Just like with
Capsicum, this feature requires manual integration.
Given that the bounds safety feature is still experimental, we enable
the feature with `-Xclang -fexperimental-bounds-safety`. Once clang/llvm
determines the feature to be production-ready (and that version of llvm
has been imported into base) we will update share/mk/bsd.sys.mk to take
into account the switch from the experimental flag to the actual
`-fbounds-safety` flag.
Signed-off-by: Shawn Webb <shawn.webb at hardenedbsd.org>
See-Also: https://clang.llvm.org/docs/BoundsSafety.html
See-Also: https://clang.llvm.org/docs/BoundsSafetyImplPlans.html
test: prefix name with parent test
Add parent test's name as a prefix to subtests, in the format
"test-1/sub-test-1/sub-test-2".
This copies Go's format for subtest names, and makes it easier to track
where a test is running when using many nested subtests.
Also add input checks to ensure parent and name are not NULL for
subtests.
ok jsing
acme-client: zero optarg for external account binding
After copying the key-id:key pair, wipe the optarg so that this secret is
not visible to other users during the entire run time (in ps for example).
From Acts1631
reads fine to florian
ok jmatthew
NAS-143880 / 27.0.0-BETA.1 / Add S3 protocol tests under tests/sharing_protocols/s3 (#19776)
A bucket's stored options are almost all unobservable through the API:
what object_ownership means, what a DENY grant does, whether a
manage_buckets key can create a bucket. Provision through the API,
observe over the protocol.
Assets split in two. The middleware half is assets/s3.py -- accounts,
access keys, buckets, grants, the service -- and imports no client
library, so it stays usable on a runner without one. The client half is
s3_client.py in the test directory rather than tests/protocols/, whose
`__init__` imports every client it re-exports and would make an S3 case
need samba and pynfs to reach boto3.
The session stands up two principals and nine buckets, one per thing
that is only answerable per bucket, and skips rather than proving
something weaker where it could not make one.
Beside the bucket plane: the object surfaces. Metadata and the content
[8 lines not shown]
Reland "[AMDGPU] PromoteAlloca: flatten homogeneous structs to vectors" (#221058)
This relands #217055
The original commit revealed a latent issue in eliminateFrameIndex in
SIRegisterInfo where SCC can be clobbered before reading it on
gfx900/gfx90a. This change itself has no known issues.
[AMDGPU] Don't spill an SGPR while SCC is live in frame index lowering
When SCC is live into a scalar frame index user, the scaling path avoids
SALU ops that write SCC by computing the address in a VGPR and reading it
back with V_READFIRSTLANE_B32. If the destination of that readfirstlane is
scavenged with spilling allowed, an AMDGPU SGPR spill writes inactive
lanes, so it flips EXEC with S_NOT_B64 and clobbers SCC. Instead, scavenge
that register with AllowSpill=false.
[AMDGPU] Only scale the frame register in place for the last frame index
When nothing can be scavenged, eliminateFrameIndex falls back to scaling
FrameReg in place and restoring it after MI. With two frame indices on
one instruction that fallback fires while lowering the first one, and
FrameReg is left scaled for everything that follows: the second frame
index is then scaled a second time from the already-scaled value, and any
emergency spill emitted in between uses it as its scratch offset.
[AMDGPU] Prevent SCC clobber in frame index lowering in scaling path
eliminateFrameIndex has two lowering strategies, but only one has the
proper handling for checking SCC-liveness to prevent clobbering. Unify
them with a helper function to ensure both paths handle the same
cxgbe: Use the correct GHASH offset for a GMAC from a full TLS record
If a TLS request transmits all but a part of the GMAC at the end of a
TLS record, the work request asks the crypto engine to return the
calculated GMAC to the driver so it can be sent in a simple TCP packet
when the rest of the TLS record is transmitted in the future.
However, the offset of the returned GHASH offset was calculated
incorrectly in this case causing the driver to not recognize the
cached GMAC and instead use a more wasteful work request in the future
that encrypted the entire TLS record discarding all but the needed
bytes of the trailer.
Note that this does not effect correctness, just efficiency.
Reviewed by: np
Fixes: 9e269eafebfc ("cxgbe: Use partial GCM mode for partial TLS records on T7")
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D59711
[lldb] Parse GDB remote register union types (#223485)
- Parses GDB XML `<union>` definitions.
- Supports builtin, vector, nested-union, and vector-of-union fields.
- Resolves types in document order and scopes IDs per feature.
- Rejects malformed, partial, duplicate, forward-referenced, and
incompatible definitions.
- Displays union metadata through register info.
https://sourceware.org/gdb/download/onlinedocs/gdb.html/Target-Description-Format.html
```
(lldb) register info u0
Name: u0
Size: 16 bytes (128 bits)
In sets: General Purpose Registers (index 0)
Union members:
[49 lines not shown]
printf(3/9): In the o conversion the # flag asks for a leading zero
Fix for Defect Report #151 in our libc.
https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_151.html
Original diff from Showta Ishizaki.
ok asou@
also looks correct to me deraadt@
[LLDB] Skip test under gold (#224113)
The way gold emits symbols created by linker scripts is not implemented
in LLDB.
For the record, I asked Claude to write a patch to implement the
functionality but it came up with a linear search through all sections
which I was afraid might be quite expensive. I'm happy to purse that as
an alternative if people think it is worth it, with the caveat that I am
not an ELF expert.
jail, ports: Avoid set -e trap in quiet-mode "done" idiom
4cb78962 introduced `[ -n "${quiet}" ] && echo " done"` in the svn/git
checkout and update paths of install_from_vcs() (jail.sh) and ports.sh.
When quiet is unset the test is false, so the statement returns exit 1;
under set -e a bare call to the enclosing function/case arm would abort
the script right after that line runs, as seen with the identical
pattern in image.sh (PR #1378). None of these 8 occurrences are
currently a function's last statement, so they don't trip today, but
the pattern is fragile under refactoring. Use an if/fi block instead,
matching the idiom already used for the preceding header line, so the
statement always returns 0.
This closes #1387
vlan: Notify the parent when replacing a VLAN ID
Changing the VID of an existing VLAN interface rehashes the interface and
announces the new VID, but does not unregister the old VID. Parent
drivers and VLAN event consumers can consequently retain stale filter
membership.
After successfully inserting the new VID, emit vlan_unconfig for the old
VID before the existing vlan_config notification. Do not unregister
anything if insertion fails and the old VID is restored.
MFC after: 2 weeks
Sponsored by: BBOX.io
jail: Reject a period in the new name on rename
create_jail() rejects a period in JAILNAME since jail(8) names cannot
contain one, but rename_jail() never validated NEWJAILNAME at all, so
'poudriere jail -r' could rename a jail to a name jail(8) itself would
reject. Apply the same check used at creation.
This closes #1388