interfaces: dhclient.conf doesn't cope with multi-line request/require #10318
This was changed in 26.1.8 for security reasons since it appeared it would,
but the parser only reads the last statement. Put them back on a single line.
(cherry picked from commit e014b02ceefeda61a524921c58aa0eb08c392420)
[InstCombine] Fold select of neg/not into sext-sub (#198225)
Adds the following folds:
- `select C, (sub 0, Y), (xor Y, -1) -> sub (sext !C), Y`
- `select C, (xor Y, -1), (sub 0, Y) -> sub (sext C), Y`
The original motivation is the high half of a two-word negation (See
#198179 for more details):
```ll
define i64 @f(i64 %lo, i64 %hi) {
entry:
%not.hi = xor i64 %hi, -1
%lo.is.zero = icmp eq i64 %lo, 0
%neg.hi = sub i64 0, %hi
%r = select i1 %lo.is.zero, i64 %neg.hi, i64 %not.hi
ret i64 %r
}
```
[14 lines not shown]
net/go-tcping: mark i386 as unsupported
The vendored modernc.org/libc dependency fails to compile on i386 due
to type mismatches in libc_freebsd.go.
Mark the port as unsupported on i386
Reported by: pkg-fallout
[LV] Fix analysis remarks leak (#197697)
Currently, `LoopVectorizeHints::vectorizeAnalysisPassName()` returns
empty pass name when the user forces vectorization, which allows
analysis remarks to be emitted implicitly.
The code sometimes emits analysis remarks with passing explicit pass
name and other times it uses the `vectorizeAnalysisPassName()` which
prevents consistent behaviour.
This PR removes the implicit emitting so that analysis remarks
consistently require `-pass-remarks-analysis` to print. Affected tests
are updated to add `-pass-remarks-analysis`.
[Flang][Fir] Set default alignment of array globals to 64 bytes (#194969)
This commit implements the proposal from the RFC:
https://discourse.llvm.org/t/rfc-alignment-of-global-arrays/90397/13
This PR sets the alignment of all global arrays to 64 bytes (except for
BIND(C) and common blocks). This Mirrors the execution of other fortran
compilers (CCE, gfortran, nvfortran and ifx).
[NVPTX] Fixup and test ExpandVariadics (#195709)
The lowering of va_arg will load the arguments from the cursor via
ld.local since the stack is used to store va_args. Update the
ExpandVariadics NVPTX info struct to be consistent with this. Also
initialize the pass for easier debugging.
spl_kvmalloc: remove __GFP_COMP before calling vmalloc()
In cb1833023 we stopped using it for KM_VMEM allocations, since its not
a valid flag for vmalloc(). However, there's a fallback path for
non-KM_VMEM allocations to use vmalloc(), and we need to remove
__GFP_COMP there too to avoid a warning.
Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18558
libzfs_pool: add docstrings to several public functions
Cover a number of frequently-used functions that previously had no
documentation.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18538
security/flawfinder: update to version 2.0.20
This update contains many improvements and some security fixes, see
the Changelog for details:
https://sourceforge.net/p/flawfinder/code/ci/2.0.20/tree/ChangeLog
The port does now support running the bundled tests, which still can
be installed with the EXAMPLES option. I'm not sure that installing
these files as examples is really useful. The EXAMPLES option might
therefore be removed in the next update to this port.
update_test_checks: fix DIFile filename relaxation
In e78b763568e47e685926614195c3075afa35668c (#135692) the matcher for the
`directory:` field requires a non-empty directory, which isn't
guaranteed. Relax it to accept any string, including the empty string.
Change-Id: Ie6d793f7abdbafd3d2faa29379919e68e846afe7
crypto(4): Omit needless locking in fcrypt_dtor.
We must have exclusive access to the object for this function to work
at all, so if removing the locks appeared to cause issues, it would
necessarily happen only because there is a bug somewhere else.
PR kern/60281: crypto(4): bugs in reference counting and test
crypto(4): Disentangle initialization and attachment goo.
Lotta unnecessary boilerplate deleted here!
Disable module unloading: can't be done safely. Explain precisely
why it can't be done safely.
This also fixes annoying `crypto: unable to register devsw, error 17'
messages in rump dmesg by having exactly one path to devsw_attach.
PR kern/60281: crypto(4): bugs in reference counting and test
crypto(4): Fix missing membars on reference count release.
If two threads A and B both hold references, we need to ensure that
memory ops in thread A happen before memory free in thread B in:
thread A thread B notes
-------- -------- -----
memory ops
atomic_dec(&refcnt) goes from 2 to 1
atomic_dec(&refcnt) goes from 1 to 0
memory free
This requires a membar_release in thread A before the atomic_dec (or
atomic_dec with memory_order_release), and a membar_acquire in thread
B after the atomic_dec is found to have brought the reference count
down to zero (or atomic_dec wiht memory_order_acquire).
kern/60281: crypto(4): bugs in reference counting and test
crypto(4): Take reference _before_ releasing the lock.
Otherwise nothing ensures the object will still exist by the time we
try to take the reference.
Also guard against too many references, since this is only a 32-bit
reference count.
PR kern/60281: crypto(4): bugs in reference counting and test
crypto(4): Make test more reliable, and test more.
1. New thread to concurrently create and destroy sessions.
(There should really be multiple threads to concurrently compete
with each other to create and destroy sessions, but this is
already surfacing more crashes, as I expected.)
2. Handle EBUSY in CIOCFSESSION in case there is a concurrent
CIOCCRYPT, as we are trying to test.
3. Handle CIOCCRYPT failure if a concurrent CIOCFSESSION beat us to
it, as we are trying to test
4. Dump core if the threads get stuck for too long.
5. Provide stack traces from the test program or rump server if they
dump core.
PR kern/60281: crypto(4): bugs in reference counting and test
[AMDGPU] SIFoldOperands: constant-fold S_ADD/S_SUB with immediate operands (#198410)
Extend SIFoldOperands::tryConstantFoldOp to recognise three patterns
* ADD/SUB(imm, imm) -> S_MOV_B32 (LHS +/- RHS)
* ADD x, 0 -> COPY x (Also `0 + x`)
* SUB x, 0 -> COPY x (SUB is not commutable)
Assisted-by: Claude Opus 4.7
[X86] Fold splat AND on VGF2P8AFFINEQB source (#193364)
Given that each row within `vgf2p8affineqb`'s matrix controls which
source bits are selected, zeroing the same bit within all rows treats
that corresponding source bit like it is zero. This means a AND of the
input by any splatted 8-bit values can be folded with the matrix. This
is patch:
- Can eliminate a constant and/or reduces the instruction count from 2
to 1.
- Only occurs when the matrix is constant, ensuring that it can't
increase the dependency chain.
- Don't occur if the AND is multi use well the splat isn't constant,
preventing additional operations.
- Work with both constant 8-bit splats and scalars value that where
splatted to a vector.
- Includes test coverage for positive cases (by constants, variable
scalars, non zero immediates) and negative (multi use, larger splats,
variable matrices).
Fixes #191325