Skip to content

Commit 79b82f7

Browse files
authored
Merge branch 'raspberrypi:rpi-6.18.y' into rpi-6.18.y
2 parents 72502e6 + 3ccb10b commit 79b82f7

369 files changed

Lines changed: 3329 additions & 1635 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
#!/usr/bin/env bash
2+
# Delete artifacts that exceed the retention periods defined in kernel-build.yml.
3+
# Parses build names and retention values directly from the workflow file, so
4+
# it stays correct as the matrix evolves.
5+
# Dry-run by default; set DRY_RUN=0 to actually delete.
6+
#
7+
# Prerequisites:
8+
# - gh CLI authenticated (gh auth status)
9+
# - jq installed
10+
# - Token needs actions:write scope (or fine-grained Actions: Read and write)
11+
12+
set -euo pipefail
13+
14+
REPO="raspberrypi/linux"
15+
DRY_RUN="${DRY_RUN:-1}"
16+
TODAY_EPOCH=$(date -u +%s)
17+
18+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
19+
WORKFLOW_FILE="${SCRIPT_DIR}/../workflows/kernel-build.yml"
20+
21+
# Extract build names and retention values from the workflow matrix.
22+
# Uses a minimal line-by-line parser: tracks the current '- name:' entry
23+
# and emits name=days when it encounters the matching 'retention:' field.
24+
declare -A RETENTION
25+
while IFS='=' read -r name days; do
26+
RETENTION["${name}_build"]="$days"
27+
done < <(python3 - "$WORKFLOW_FILE" <<'EOF'
28+
import sys, re
29+
30+
current_name = None
31+
with open(sys.argv[1]) as f:
32+
for line in f:
33+
m = re.match(r'\s+- name:\s+(\S+)', line)
34+
if m:
35+
current_name = m.group(1)
36+
continue
37+
m = re.match(r'\s+retention:\s+(\d+)', line)
38+
if m and current_name:
39+
print(f"{current_name}={m.group(1)}")
40+
current_name = None
41+
EOF
42+
)
43+
44+
if [[ ${#RETENTION[@]} -eq 0 ]]; then
45+
echo "Error: no matrix entries with retention found in ${WORKFLOW_FILE}" >&2
46+
exit 1
47+
fi
48+
49+
echo "Retention policy from $(basename "$WORKFLOW_FILE"):"
50+
for name in $(echo "${!RETENTION[@]}" | tr ' ' '\n' | sort); do
51+
echo " ${name}: ${RETENTION[$name]} days"
52+
done
53+
echo ""
54+
55+
IS_INTERACTIVE=0
56+
[[ -t 1 ]] && IS_INTERACTIVE=1
57+
58+
deleted=0
59+
stale=0
60+
kept=0
61+
62+
for artifact_name in "${!RETENTION[@]}"; do
63+
max_age_days="${RETENTION[$artifact_name]}"
64+
cutoff_epoch=$(( TODAY_EPOCH - max_age_days * 86400 ))
65+
66+
# Collect all stale IDs before deleting anything, so that deletions
67+
# during iteration don't shift pages and cause artifacts to be missed.
68+
stale_ids=()
69+
stale_meta=() # parallel array: "created_at age_days" per entry
70+
71+
page=1
72+
while true; do
73+
response=$(gh api \
74+
"/repos/${REPO}/actions/artifacts?per_page=100&page=${page}&name=${artifact_name}")
75+
76+
items=$(echo "$response" | jq -c '.artifacts[]')
77+
[[ -z "$items" ]] && break
78+
79+
while IFS= read -r item; do
80+
id=$(echo "$item" | jq -r '.id')
81+
created_at=$(echo "$item" | jq -r '.created_at')
82+
created_epoch=$(date -u -d "$created_at" +%s)
83+
84+
age_days=$(( (TODAY_EPOCH - created_epoch) / 86400 ))
85+
if (( created_epoch < cutoff_epoch )); then
86+
stale_ids+=("$id")
87+
stale_meta+=("${created_at} ${age_days}")
88+
if [[ "$DRY_RUN" != "0" ]]; then
89+
echo "STALE id=$id name=$artifact_name created=$created_at age=${age_days}d"
90+
elif [[ "$IS_INTERACTIVE" == "1" ]]; then
91+
echo -ne "\r ${artifact_name} age=${age_days}d "
92+
fi
93+
(( stale++ )) || true
94+
else
95+
if [[ "$IS_INTERACTIVE" == "1" ]]; then
96+
echo -ne "\r ${artifact_name} age=${age_days}d "
97+
fi
98+
(( kept++ )) || true
99+
fi
100+
done <<< "$items"
101+
102+
item_count=$(echo "$response" | jq '.artifacts | length')
103+
(( item_count < 100 )) && break
104+
(( page++ ))
105+
done
106+
107+
if [[ "$DRY_RUN" != "0" ]]; then
108+
continue
109+
fi
110+
111+
# End the progress line before printing deletion output
112+
[[ "$IS_INTERACTIVE" == "1" && ${#stale_ids[@]} -gt 0 ]] && echo
113+
114+
for i in "${!stale_ids[@]}"; do
115+
id="${stale_ids[$i]}"
116+
created_at="${stale_meta[$i]% *}"
117+
age_days="${stale_meta[$i]##* }"
118+
gh api --method DELETE "/repos/${REPO}/actions/artifacts/${id}"
119+
echo "DELETED id=$id name=$artifact_name created=$created_at age=${age_days}d"
120+
(( deleted++ )) || true
121+
done
122+
done
123+
124+
echo ""
125+
if [[ "$DRY_RUN" != "0" ]]; then
126+
echo "Done. Stale: $stale Within-policy: $kept (dry run)"
127+
else
128+
echo "Done. Deleted: $deleted Within-policy: $kept"
129+
fi

Documentation/ABI/testing/sysfs-fs-erofs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,16 @@ Description: Shows all enabled kernel features.
1010
What: /sys/fs/erofs/<disk>/sync_decompress
1111
Date: November 2021
1212
Contact: "Huang Jianan" <huangjianan@oppo.com>
13-
Description: Control strategy of sync decompression:
13+
Description: Control strategy of synchronous decompression. Synchronous
14+
decompression tries to decompress in the reader thread for
15+
synchronous reads and small asynchronous reads (<= 12 KiB):
1416

15-
- 0 (default, auto): enable for readpage, and enable for
16-
readahead on atomic contexts only.
17-
- 1 (force on): enable for readpage and readahead.
18-
- 2 (force off): disable for all situations.
17+
- 0 (auto, default): apply to synchronous reads only, but will
18+
switch to 1 (force on) if any decompression
19+
request is detected in atomic contexts;
20+
- 1 (force on): apply to synchronous reads and small
21+
asynchronous reads;
22+
- 2 (force off): disable synchronous decompression completely.
1923

2024
What: /sys/fs/erofs/<disk>/drop_caches
2125
Date: November 2024

Documentation/arch/arm64/silicon-errata.rst

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,16 +128,28 @@ stable kernels.
128128
+----------------+-----------------+-----------------+-----------------------------+
129129
| ARM | Cortex-A76 | #3324349 | ARM64_ERRATUM_3194386 |
130130
+----------------+-----------------+-----------------+-----------------------------+
131+
| ARM | Cortex-A76 | #4193800 | ARM64_ERRATUM_4118414 |
132+
+----------------+-----------------+-----------------+-----------------------------+
133+
| ARM | Cortex-A76AE | #4193801 | ARM64_ERRATUM_4118414 |
134+
+----------------+-----------------+-----------------+-----------------------------+
131135
| ARM | Cortex-A77 | #1491015 | N/A |
132136
+----------------+-----------------+-----------------+-----------------------------+
133137
| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
134138
+----------------+-----------------+-----------------+-----------------------------+
135139
| ARM | Cortex-A77 | #3324348 | ARM64_ERRATUM_3194386 |
136140
+----------------+-----------------+-----------------+-----------------------------+
141+
| ARM | Cortex-A77 | #4193798 | ARM64_ERRATUM_4118414 |
142+
+----------------+-----------------+-----------------+-----------------------------+
137143
| ARM | Cortex-A78 | #3324344 | ARM64_ERRATUM_3194386 |
138144
+----------------+-----------------+-----------------+-----------------------------+
145+
| ARM | Cortex-A78 | #4193791 | ARM64_ERRATUM_4118414 |
146+
+----------------+-----------------+-----------------+-----------------------------+
147+
| ARM | Cortex-A78AE | #4193793 | ARM64_ERRATUM_4118414 |
148+
+----------------+-----------------+-----------------+-----------------------------+
139149
| ARM | Cortex-A78C | #3324346,3324347| ARM64_ERRATUM_3194386 |
140150
+----------------+-----------------+-----------------+-----------------------------+
151+
| ARM | Cortex-A78C | #4193794 | ARM64_ERRATUM_4118414 |
152+
+----------------+-----------------+-----------------+-----------------------------+
141153
| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
142154
+----------------+-----------------+-----------------+-----------------------------+
143155
| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
@@ -146,6 +158,8 @@ stable kernels.
146158
+----------------+-----------------+-----------------+-----------------------------+
147159
| ARM | Cortex-A710 | #3324338 | ARM64_ERRATUM_3194386 |
148160
+----------------+-----------------+-----------------+-----------------------------+
161+
| ARM | Cortex-A710 | #4193788 | ARM64_ERRATUM_4118414 |
162+
+----------------+-----------------+-----------------+-----------------------------+
149163
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
150164
+----------------+-----------------+-----------------+-----------------------------+
151165
| ARM | Cortex-A715 | #3456084 | ARM64_ERRATUM_3194386 |
@@ -158,20 +172,32 @@ stable kernels.
158172
+----------------+-----------------+-----------------+-----------------------------+
159173
| ARM | Cortex-X1 | #3324344 | ARM64_ERRATUM_3194386 |
160174
+----------------+-----------------+-----------------+-----------------------------+
175+
| ARM | Cortex-X1 | #4193791 | ARM64_ERRATUM_4118414 |
176+
+----------------+-----------------+-----------------+-----------------------------+
161177
| ARM | Cortex-X1C | #3324346 | ARM64_ERRATUM_3194386 |
162178
+----------------+-----------------+-----------------+-----------------------------+
179+
| ARM | Cortex-X1C | #4193792 | ARM64_ERRATUM_4118414 |
180+
+----------------+-----------------+-----------------+-----------------------------+
163181
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
164182
+----------------+-----------------+-----------------+-----------------------------+
165183
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
166184
+----------------+-----------------+-----------------+-----------------------------+
167185
| ARM | Cortex-X2 | #3324338 | ARM64_ERRATUM_3194386 |
168186
+----------------+-----------------+-----------------+-----------------------------+
187+
| ARM | Cortex-X2 | #4193788 | ARM64_ERRATUM_4118414 |
188+
+----------------+-----------------+-----------------+-----------------------------+
169189
| ARM | Cortex-X3 | #3324335 | ARM64_ERRATUM_3194386 |
170190
+----------------+-----------------+-----------------+-----------------------------+
191+
| ARM | Cortex-X3 | #4193786 | ARM64_ERRATUM_4118414 |
192+
+----------------+-----------------+-----------------+-----------------------------+
171193
| ARM | Cortex-X4 | #3194386 | ARM64_ERRATUM_3194386 |
172194
+----------------+-----------------+-----------------+-----------------------------+
195+
| ARM | Cortex-X4 | #4118414 | ARM64_ERRATUM_4118414 |
196+
+----------------+-----------------+-----------------+-----------------------------+
173197
| ARM | Cortex-X925 | #3324334 | ARM64_ERRATUM_3194386 |
174198
+----------------+-----------------+-----------------+-----------------------------+
199+
| ARM | Cortex-X925 | #4193781 | ARM64_ERRATUM_4118414 |
200+
+----------------+-----------------+-----------------+-----------------------------+
175201
| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
176202
+----------------+-----------------+-----------------+-----------------------------+
177203
| ARM | Neoverse-N1 | #1349291 | N/A |
@@ -182,6 +208,8 @@ stable kernels.
182208
+----------------+-----------------+-----------------+-----------------------------+
183209
| ARM | Neoverse-N1 | #3324349 | ARM64_ERRATUM_3194386 |
184210
+----------------+-----------------+-----------------+-----------------------------+
211+
| ARM | Neoverse-N1 | #4193800 | ARM64_ERRATUM_4118414 |
212+
+----------------+-----------------+-----------------+-----------------------------+
185213
| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 |
186214
+----------------+-----------------+-----------------+-----------------------------+
187215
| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 |
@@ -190,20 +218,34 @@ stable kernels.
190218
+----------------+-----------------+-----------------+-----------------------------+
191219
| ARM | Neoverse-N2 | #3324339 | ARM64_ERRATUM_3194386 |
192220
+----------------+-----------------+-----------------+-----------------------------+
221+
| ARM | Neoverse-N2 | #4193789 | ARM64_ERRATUM_4118414 |
222+
+----------------+-----------------+-----------------+-----------------------------+
193223
| ARM | Neoverse-N3 | #3456111 | ARM64_ERRATUM_3194386 |
194224
+----------------+-----------------+-----------------+-----------------------------+
195225
| ARM | Neoverse-V1 | #1619801 | N/A |
196226
+----------------+-----------------+-----------------+-----------------------------+
197227
| ARM | Neoverse-V1 | #3324341 | ARM64_ERRATUM_3194386 |
198228
+----------------+-----------------+-----------------+-----------------------------+
229+
| ARM | Neoverse-V1 | #4193790 | ARM64_ERRATUM_4118414 |
230+
+----------------+-----------------+-----------------+-----------------------------+
199231
| ARM | Neoverse-V2 | #3324336 | ARM64_ERRATUM_3194386 |
200232
+----------------+-----------------+-----------------+-----------------------------+
233+
| ARM | Neoverse-V2 | #4193787 | ARM64_ERRATUM_4118414 |
234+
+----------------+-----------------+-----------------+-----------------------------+
201235
| ARM | Neoverse-V3 | #3312417 | ARM64_ERRATUM_3194386 |
202236
+----------------+-----------------+-----------------+-----------------------------+
237+
| ARM | Neoverse-V3 | #4193784 | ARM64_ERRATUM_4118414 |
238+
+----------------+-----------------+-----------------+-----------------------------+
203239
| ARM | Neoverse-V3AE | #3312417 | ARM64_ERRATUM_3194386 |
204240
+----------------+-----------------+-----------------+-----------------------------+
241+
| ARM | Neoverse-V3AE | #4193784 | ARM64_ERRATUM_4118414 |
242+
+----------------+-----------------+-----------------+-----------------------------+
243+
| ARM | C1-Premium | #4193780 | ARM64_ERRATUM_4118414 |
244+
+----------------+-----------------+-----------------+-----------------------------+
205245
| ARM | C1-Pro | #4193714 | ARM64_ERRATUM_4193714 |
206246
+----------------+-----------------+-----------------+-----------------------------+
247+
| ARM | C1-Ultra | #4193780 | ARM64_ERRATUM_4118414 |
248+
+----------------+-----------------+-----------------+-----------------------------+
207249
| ARM | MMU-500 | #841119,826419 | ARM_SMMU_MMU_500_CPRE_ERRATA|
208250
| | | #562869,1047329 | |
209251
+----------------+-----------------+-----------------+-----------------------------+
@@ -246,6 +288,8 @@ stable kernels.
246288
+----------------+-----------------+-----------------+-----------------------------+
247289
| NVIDIA | Carmel Core | N/A | NVIDIA_CARMEL_CNP_ERRATUM |
248290
+----------------+-----------------+-----------------+-----------------------------+
291+
| NVIDIA | Olympus core | T410-OLY-1029 | ARM64_ERRATUM_4118414 |
292+
+----------------+-----------------+-----------------+-----------------------------+
249293
| NVIDIA | T241 GICv3/4.x | T241-FABRIC-4 | N/A |
250294
+----------------+-----------------+-----------------+-----------------------------+
251295
+----------------+-----------------+-----------------+-----------------------------+
@@ -307,3 +351,5 @@ stable kernels.
307351
+----------------+-----------------+-----------------+-----------------------------+
308352
| Microsoft | Azure Cobalt 100| #3324339 | ARM64_ERRATUM_3194386 |
309353
+----------------+-----------------+-----------------+-----------------------------+
354+
| Microsoft | Azure Cobalt 100| #4193789 | ARM64_ERRATUM_4118414 |
355+
+----------------+-----------------+-----------------+-----------------------------+

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 18
4-
SUBLEVEL = 35
4+
SUBLEVEL = 36
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

@@ -603,6 +603,7 @@ KBUILD_RUSTFLAGS := $(rust_common_flags) \
603603
-Crelocation-model=static \
604604
-Zfunction-sections=n \
605605
-Wclippy::float_arithmetic
606+
KBUILD_RUSTFLAGS_OPTION_CHKS :=
606607

607608
KBUILD_AFLAGS_KERNEL :=
608609
KBUILD_CFLAGS_KERNEL :=
@@ -639,7 +640,7 @@ export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS
639640

640641
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
641642
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
642-
export KBUILD_RUSTFLAGS RUSTFLAGS_KERNEL RUSTFLAGS_MODULE
643+
export KBUILD_RUSTFLAGS RUSTFLAGS_KERNEL RUSTFLAGS_MODULE KBUILD_RUSTFLAGS_OPTION_CHKS
643644
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
644645
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_RUSTFLAGS_MODULE KBUILD_LDFLAGS_MODULE
645646
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL KBUILD_RUSTFLAGS_KERNEL

arch/arm/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ config ARM
134134
select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
135135
select HAVE_REGS_AND_STACK_ACCESS_API
136136
select HAVE_RSEQ
137-
select HAVE_RUST if CPU_LITTLE_ENDIAN && CPU_32v7
137+
select HAVE_RUST if CPU_LITTLE_ENDIAN && CPU_32v7 && !KASAN
138138
select HAVE_STACKPROTECTOR
139139
select HAVE_SYSCALL_TRACEPOINTS
140140
select HAVE_UID16

arch/arm/boot/dts/microchip/sam9x7.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -990,9 +990,9 @@
990990
<62 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 3 */
991991
<63 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 4 */
992992
<64 IRQ_TYPE_LEVEL_HIGH 3>; /* Queue 5 */
993-
clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_GCK 24>, <&pmc PMC_TYPE_GCK 67>;
994-
clock-names = "hclk", "pclk", "tx_clk", "tsu_clk";
995-
assigned-clocks = <&pmc PMC_TYPE_GCK 67>;
993+
clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_GCK 24>;
994+
clock-names = "hclk", "pclk", "tsu_clk";
995+
assigned-clocks = <&pmc PMC_TYPE_GCK 24>;
996996
assigned-clock-rates = <266666666>;
997997
status = "disabled";
998998
};

arch/arm/boot/dts/overlays/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
269269
seeed-can-fd-hat-v2.dtbo \
270270
sh1106-spi.dtbo \
271271
si446x-spi0.dtbo \
272+
sixfab_m1m.dtbo \
272273
smi.dtbo \
273274
smi-dev.dtbo \
274275
smi-nand.dtbo \

arch/arm/boot/dts/overlays/README

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4822,6 +4822,12 @@ Params: speed SPI bus speed (default 4000000)
48224822
reset_pin GPIO pin for RESET (default 27)
48234823

48244824

4825+
Name: sixfab_m1m
4826+
Info: Overlay for the Sixfab M1M PCIe Gen3 AI HAT+
4827+
Load: dtoverlay=sixfab_m1m
4828+
Params: <None>
4829+
4830+
48254831
Name: smi
48264832
Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25!
48274833
Load: dtoverlay=smi
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/dts-v1/;
3+
/plugin/;
4+
/ {
5+
compatible = "brcm,bcm2712";
6+
fragment@0 {
7+
target = <&pciex1>;
8+
__overlay__ {
9+
status = "okay";
10+
max-link-speed = <3>;
11+
};
12+
};
13+
};

arch/arm/include/asm/io.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,19 @@ void __raw_readsl(const volatile void __iomem *addr, void *data, int longlen);
5656
* the bus. Rather than special-case the machine, just let the compiler
5757
* generate the access for CPUs prior to ARMv6.
5858
*/
59-
#define __raw_readw(a) (__chk_io_ptr(a), *(volatile unsigned short __force *)(a))
60-
#define __raw_writew(v,a) ((void)(__chk_io_ptr(a), *(volatile unsigned short __force *)(a) = (v)))
59+
#define __raw_writew __raw_writew
60+
static __no_kasan_or_inline void __raw_writew(u16 val, volatile void __iomem *addr)
61+
{
62+
__chk_io_ptr(addr);
63+
*(volatile unsigned short __force *)addr = val;
64+
}
65+
66+
#define __raw_readw __raw_readw
67+
static __no_kasan_or_inline u16 __raw_readw(const volatile void __iomem *addr)
68+
{
69+
__chk_io_ptr(addr);
70+
return *(const volatile unsigned short __force *)addr;
71+
}
6172
#else
6273
/*
6374
* When running under a hypervisor, we want to avoid I/O accesses with

0 commit comments

Comments
 (0)