powerpc/booke: Save watchdog context to "critical" save area
Watchdog interrupt is a "critical" interrupt, so save the correct
registers (CSSRn, into critical save area).
Update textproc/gemtext2html to 1.1
* Includes encoding in <meta> tag.
* Includes xmlns in <html> tag for XHTML compatibility.
* Allows specifying a prefix for local links.
* Makes e-mail address links a separate link class.
* Adds SVG to default list of image formats.
powerpc/pmap: Use variable-sized TID
e6500 core supports 14-bit TIDs (16384), while all earlier cores support
only 8 bit TIDs. Dynamically allocate the tidbusy array at bootstrap
time so that it stays in the TLB1, but is sized appropriately for the
core. With MAXCPU of 32, a e6500 tidbusy would be (8 * 32 * 16384), or
4MB for this array, while e5500 would use (8 * 32 * 256), or 64kB.
powerpc/booke: Extend TID register bits to the max
Some Book-E cores (at least e6500) can have much larger PID fields, up
to 14 bits. Extend the PID mask space to the full space, and future
changes may take advantage of this extended space.
ham/hamlib: Update to 4.7.2
Upstream NEWS, less bugfixes and minor improvements:
Version 4.7.2
* 2026-06-21
* rigctld: Fix send_raw stack out-of-bounds write and uninitialized memory;
CVE-2026-54634/GitHub GHSA-gpcq-c37x-pr4. (TNX George Baltz)
* rigctld: Fix stack/heap overflow primitive in read_string_generic +
auth bypass in rigctld + weak password handling; GitHub GHSA-f72v-7gmh-m9mj.
(TNX George Baltz)
Update committed in freeze, because:
- micro update
- good upstream history of micro being micro
- 6 dependencies (<25)
- carries CVE and would be pulled up anyway
and
- 5 deps build, and freedv is broken by a codec2 update
Do `ip_shuffle' initialization at boot time. ip_randomid() called in the
hot path so we want to keep it lockless, but avoid access to uninitialized
data.
ok deraadt
Tolerate malformed JSON in audit databases
## Problem
The audit databases store `event_data`/`service_data` as JSON in TEXT columns that SQLite does not validate on insert, so a corrupted or otherwise non-JSON value can persist in a row (e.g. after a storage/IO incident). Audit queries that filter or select on a JSON path compile to `json_extract()`, and SQLite aborts the entire statement with `OperationalError: malformed JSON` the moment it evaluates that over a bad row. This bubbles up uncaught from the SMB alert sources as recurring CRITICAL `AlertSourceRunFailed` alerts, and breaks `audit.query`/`audit.export` and the UI audit page.
## Solution
Guard every JSON-path `json_extract` so a non-JSON row is skipped instead of aborting the query, and surface the corruption rather than dropping it silently.
- **WHERE side** (`datastore/filter.py`): an opt-in `guard_malformed_json` flag wraps the comparison in `CASE WHEN json_valid(col) THEN ... ELSE false`. CASE guarantees `json_valid()` runs before `json_extract()`, so a malformed row is excluded. The flag is forwarded through the `OR` recursion and defaults off, leaving datastore queries byte-for-byte unchanged.
- **SELECT side** (`audit/backend.py`): the audit backend opts in for filters and applies the same guard to `SELECT AS` json-path projections (`ELSE NULL`).
- **Decode hardening**: `decode_audit_json()` also catches `EJSONDecodeError`, so a syntactically valid document with a bad `$date`/`$time`/`$type` payload falls back to the raw string instead of failing the query.
- **Observability**: a daily scan counts rows whose JSON columns are unparseable and raises a per-service `AuditDatabaseCorrupted` alert (cleared once the rows are gone), since the guards otherwise drop corrupt rows quietly.
Covered by unit tests for the WHERE/SELECT guards, the decode helper, the malformed-row count, and the alert clear-key contract, plus an api2 test that seeds a corrupt row end to end.
lib: Add stale 'raid6' directory to .gitignore file
I keep having to do this, because people think they can just move
directories around and move the gitignore files around with them.
You really can't do that - the old generated files stay around for
others, and still need to be ignored in the old location.
So when moving gitignore entries around because you moved the files (or
when moving a whole gitignore file around because the directory it was
in moved), the old gitignore situation needs to be dealt with.
Yes, those files may have moved in *your* tree when you moved the
directory. And yes, new repositories will never even have seen them.
But all those other developers that see the result of your move still
likely have a working tree with the old state, and the files that were
hidden from git by an old gitignore file do not suddenly become
relevant.
[2 lines not shown]
lang/gcc1[2-6]: add necessary contents to patch-gcc_configure
1. For gcc14, restore the lost content.
2. For others, add powerpc64le-related content.
Pointy hat: me
retire lang/flang
This has been broken for quite some time and depends on Python 2. An update
will probably be as much work as porting from scratch so retire this for
now so we can make more progress on retiring Python 2.
ok tb@
[VPlan] Use pattern matching in isUsedByLoadStoreAddress (NFC) (#205008)
Replace the hand-written check for a VPReplicateRecipe load/store using
the value as its address with VPlan pattern matching via
m_Unary/m_Binary, which also handle masked recipes uniformly.
Merge tag 'mm-nonmm-stable-2026-06-21-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull non-MM updates from Andrew Morton:
- "taskstats: fix TGID dead-thread stat retention" (Yiyang Chen)
Fix a taskstats TGID aggregation bug where fields added in the TGID
query path were not preserved after thread exit, and adds a kselftest
covering the regression.
- "lib/tests: string_helpers: Slight improvements" (Andy Shevchenko)
Improve lib/tests/string_helpers_kunit.c a little
- "lib/base64: decode fixes" (Josh Law)
Address minor issues in lib/base64.c
- "selftests/filelock: Make output more kselftestish" (Mark Brown)
[58 lines not shown]
lang/gcc1?: fix runtime on powerpc64le/CURRENT
Since powerpc64le recently switched to 128-bit long double, use them to
generate proper binaries. Patches are necessary to allow use of
--with-long-double-format=ieee on FreeBSD (to be upstreamed).
devel/gdb: fix runtime on powerpc64le/CURRENT
powerpc64le recently switched to 128-bit long double, so conditionally
apply the patch to use them instead of 64-bit ones.
lang/rust: fix runtime on powerpc64le/CURRENT
powerpc64le switched to 128-bit long double, which is implemented in
compiler_rt (libgcc). Link to libgcc to resolve those symbols correctly.
Noop for older releases.
devel/llvm[14-22]: backport powerpc64le patch from CURRENT
Since 16.0, powerpc64le switches to IEEE long double binary128.
This set of patches backports the change from CURRENT.
LLVM 12 and 13 are omitted, because binary128 handling in those
versions is not finished.