* [PATCH v1 1/4] arm64: dts: qcom: kodiak: Make the ADSP remote heap no-map
2026-10-15 7:15 [PATCH v1 0/4] arm64: dts: qcom: Make ADSP remote heaps no-map Jianping Li
@ 2026-10-15 7:15 ` Jianping Li
2026-10-15 8:00 ` Konrad Dybcio
2026-10-15 7:15 ` [PATCH v1 2/4] arm64: dts: qcom: glymur: " Jianping Li
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Jianping Li @ 2026-10-15 7:15 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Jianping Li, Abel Vesa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Ekansh Gupta, Vinayak Katoch, Alexey Klimov,
linux-arm-msm, devicetree, linux-kernel, quic_chennak
The ADSP remote heap is declared as a reusable CMA pool. FastRPC
assigns the entire region to the DSP through qcom_scm_assign_mem()
during probe without allocating the pages from CMA. Consequently,
the pages remain available for movable HLOS allocations even after
HLOS access to the region has been revoked.
On Kodiak, a synchronous external abort was reported during storage
testing when the kernel accessed memory within the ADSP remote heap.
The faulting address was outside the HLOS stage-2 mapping.
Replace reusable with no-map to prevent the region from being reused
for normal kernel allocations and exclude it from the kernel's
standard memory mapping.
Fixes: 9d7d847ff1c50 ("arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap")
Link: https://lore.kernel.org/all/20260423063502.484-1-jianping.li@oss.qualcomm.com/
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kodiak.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index 8c7523602d27..057d7e62b2dd 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -194,7 +194,7 @@ rmtfs_mem: rmtfs@9c900000 {
adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
compatible = "shared-dma-pool";
alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
- reusable;
+ no-map;
alignment = <0x0 0x400000>;
size = <0x0 0x800000>;
};
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v1 1/4] arm64: dts: qcom: kodiak: Make the ADSP remote heap no-map
2026-10-15 7:15 ` [PATCH v1 1/4] arm64: dts: qcom: kodiak: Make the ADSP remote heap no-map Jianping Li
@ 2026-10-15 8:00 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-10-15 8:00 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ekansh Gupta, Vinayak Katoch, Alexey Klimov, linux-arm-msm,
devicetree, linux-kernel, quic_chennak
On 10/15/26 9:15 AM, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable CMA pool. FastRPC
> assigns the entire region to the DSP through qcom_scm_assign_mem()
> during probe without allocating the pages from CMA. Consequently,
> the pages remain available for movable HLOS allocations even after
> HLOS access to the region has been revoked.
>
> On Kodiak, a synchronous external abort was reported during storage
> testing when the kernel accessed memory within the ADSP remote heap.
> The faulting address was outside the HLOS stage-2 mapping.
>
> Replace reusable with no-map to prevent the region from being reused
> for normal kernel allocations and exclude it from the kernel's
> standard memory mapping.
>
> Fixes: 9d7d847ff1c50 ("arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap")
> Link: https://lore.kernel.org/all/20260423063502.484-1-jianping.li@oss.qualcomm.com/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 2/4] arm64: dts: qcom: glymur: Make the ADSP remote heap no-map
2026-10-15 7:15 [PATCH v1 0/4] arm64: dts: qcom: Make ADSP remote heaps no-map Jianping Li
2026-10-15 7:15 ` [PATCH v1 1/4] arm64: dts: qcom: kodiak: Make the ADSP remote heap no-map Jianping Li
@ 2026-10-15 7:15 ` Jianping Li
2026-10-15 8:00 ` Konrad Dybcio
2026-10-15 7:15 ` [PATCH v1 3/4] arm64: dts: qcom: sm8250: " Jianping Li
2026-10-15 7:15 ` [PATCH v1 4/4] arm64: dts: qcom: sm8750: " Jianping Li
3 siblings, 1 reply; 9+ messages in thread
From: Jianping Li @ 2026-10-15 7:15 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Jianping Li, Abel Vesa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Ekansh Gupta, Vinayak Katoch, Alexey Klimov,
linux-arm-msm, devicetree, linux-kernel, quic_chennak
The ADSP remote heap is declared as a reusable shared DMA pool.
Allowing the kernel to reuse this region is incompatible with handing
the entire region over to the DSP, as HLOS allocations may then access
memory for which HLOS no longer has access permissions.
The same configuration has caused synchronous external aborts on
other platforms when the kernel accesses pages within the ADSP remote
heap.
Replace reusable with no-map to keep the region reserved for the DSP
and exclude it from the kernel's standard memory mapping.
Fixes: 67641246eabd0 ("arm64: dts: qcom: glymur: Add memory-region for audio PD")
Link: https://lore.kernel.org/all/20260701-glymur-audio-v1-1-2c3862d95a09@oss.qualcomm.com/
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 65a398c0a992..4b7907cf9c82 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -690,7 +690,7 @@ smem_mem: smem@ffe00000 {
adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
compatible = "shared-dma-pool";
alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
- reusable;
+ no-map;
alignment = <0x0 0x400000>;
size = <0x0 0x800000>;
};
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v1 2/4] arm64: dts: qcom: glymur: Make the ADSP remote heap no-map
2026-10-15 7:15 ` [PATCH v1 2/4] arm64: dts: qcom: glymur: " Jianping Li
@ 2026-10-15 8:00 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-10-15 8:00 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ekansh Gupta, Vinayak Katoch, Alexey Klimov, linux-arm-msm,
devicetree, linux-kernel, quic_chennak
On 10/15/26 9:15 AM, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable shared DMA pool.
> Allowing the kernel to reuse this region is incompatible with handing
> the entire region over to the DSP, as HLOS allocations may then access
> memory for which HLOS no longer has access permissions.
>
> The same configuration has caused synchronous external aborts on
> other platforms when the kernel accesses pages within the ADSP remote
> heap.
>
> Replace reusable with no-map to keep the region reserved for the DSP
> and exclude it from the kernel's standard memory mapping.
>
> Fixes: 67641246eabd0 ("arm64: dts: qcom: glymur: Add memory-region for audio PD")
> Link: https://lore.kernel.org/all/20260701-glymur-audio-v1-1-2c3862d95a09@oss.qualcomm.com/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 3/4] arm64: dts: qcom: sm8250: Make the ADSP remote heap no-map
2026-10-15 7:15 [PATCH v1 0/4] arm64: dts: qcom: Make ADSP remote heaps no-map Jianping Li
2026-10-15 7:15 ` [PATCH v1 1/4] arm64: dts: qcom: kodiak: Make the ADSP remote heap no-map Jianping Li
2026-10-15 7:15 ` [PATCH v1 2/4] arm64: dts: qcom: glymur: " Jianping Li
@ 2026-10-15 7:15 ` Jianping Li
2026-10-15 8:00 ` Konrad Dybcio
2026-10-15 7:15 ` [PATCH v1 4/4] arm64: dts: qcom: sm8750: " Jianping Li
3 siblings, 1 reply; 9+ messages in thread
From: Jianping Li @ 2026-10-15 7:15 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Jianping Li, Abel Vesa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Ekansh Gupta, Vinayak Katoch, Alexey Klimov,
linux-arm-msm, devicetree, linux-kernel, quic_chennak
The ADSP remote heap is declared as a reusable CMA pool. FastRPC
assigns the entire region to the DSP during probe without allocating
the pages from CMA. This allows movable HLOS allocations to use pages
within the region after HLOS access permissions have been revoked,
potentially causing synchronous external aborts.
Replace reusable with no-map to prevent the region from being reused
for normal kernel allocations and exclude it from the kernel's
standard memory mapping.
Fixes: 531ce288b6dd4 ("arm64: dts: qcom: sm8250: Add memory-region for audio PD")
Link: https://lore.kernel.org/all/20260619-sm8250-audio-v1-1-8a76e033e209@oss.qualcomm.com/
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index f975c2183269..f415da478c99 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -867,7 +867,7 @@ cdsp_secure_heap: memory@8bf00000 {
adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
compatible = "shared-dma-pool";
alloc-ranges = <0x0 0x80000000 0x0 0x80000000>;
- reusable;
+ no-map;
alignment = <0x0 0x400000>;
size = <0x0 0x800000>;
};
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v1 3/4] arm64: dts: qcom: sm8250: Make the ADSP remote heap no-map
2026-10-15 7:15 ` [PATCH v1 3/4] arm64: dts: qcom: sm8250: " Jianping Li
@ 2026-10-15 8:00 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-10-15 8:00 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ekansh Gupta, Vinayak Katoch, Alexey Klimov, linux-arm-msm,
devicetree, linux-kernel, quic_chennak
On 10/15/26 9:15 AM, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable CMA pool. FastRPC
> assigns the entire region to the DSP during probe without allocating
> the pages from CMA. This allows movable HLOS allocations to use pages
> within the region after HLOS access permissions have been revoked,
> potentially causing synchronous external aborts.
>
> Replace reusable with no-map to prevent the region from being reused
> for normal kernel allocations and exclude it from the kernel's
> standard memory mapping.
>
> Fixes: 531ce288b6dd4 ("arm64: dts: qcom: sm8250: Add memory-region for audio PD")
> Link: https://lore.kernel.org/all/20260619-sm8250-audio-v1-1-8a76e033e209@oss.qualcomm.com/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 4/4] arm64: dts: qcom: sm8750: Make the ADSP remote heap no-map
2026-10-15 7:15 [PATCH v1 0/4] arm64: dts: qcom: Make ADSP remote heaps no-map Jianping Li
` (2 preceding siblings ...)
2026-10-15 7:15 ` [PATCH v1 3/4] arm64: dts: qcom: sm8250: " Jianping Li
@ 2026-10-15 7:15 ` Jianping Li
2026-10-15 8:01 ` Konrad Dybcio
3 siblings, 1 reply; 9+ messages in thread
From: Jianping Li @ 2026-10-15 7:15 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Jianping Li, Abel Vesa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Ekansh Gupta, Vinayak Katoch, Alexey Klimov,
linux-arm-msm, devicetree, linux-kernel, quic_chennak
The ADSP remote heap is declared as a reusable shared DMA pool.
Allowing the kernel to reuse this region is incompatible with handing
the entire region over to the DSP, as HLOS allocations may access
pages for which HLOS no longer has access permissions.
The same configuration has caused synchronous external aborts on
other platforms when the kernel accesses pages within the ADSP remote
heap.
Replace reusable with no-map to keep the region reserved for the DSP
and exclude it from the kernel's standard memory mapping.
Fixes: 0bcf9ca23a873 ("arm64: dts: qcom: sm8750: add memory node for adsp fastrpc")
Link: https://lore.kernel.org/all/20251209-sm8750-fastrpc-adsp-v3-1-ccfff49a8af9@linaro.org/
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8750.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index cf947acc5760..0d493359408b 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -561,7 +561,7 @@ adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
alignment = <0x0 0x400000>;
size = <0x0 0xc00000>;
- reusable;
+ no-map;
};
};
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v1 4/4] arm64: dts: qcom: sm8750: Make the ADSP remote heap no-map
2026-10-15 7:15 ` [PATCH v1 4/4] arm64: dts: qcom: sm8750: " Jianping Li
@ 2026-10-15 8:01 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-10-15 8:01 UTC (permalink / raw)
To: Jianping Li, Bjorn Andersson, Konrad Dybcio
Cc: Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ekansh Gupta, Vinayak Katoch, Alexey Klimov, linux-arm-msm,
devicetree, linux-kernel, quic_chennak
On 10/15/26 9:15 AM, Jianping Li wrote:
> The ADSP remote heap is declared as a reusable shared DMA pool.
> Allowing the kernel to reuse this region is incompatible with handing
> the entire region over to the DSP, as HLOS allocations may access
> pages for which HLOS no longer has access permissions.
>
> The same configuration has caused synchronous external aborts on
> other platforms when the kernel accesses pages within the ADSP remote
> heap.
>
> Replace reusable with no-map to keep the region reserved for the DSP
> and exclude it from the kernel's standard memory mapping.
>
> Fixes: 0bcf9ca23a873 ("arm64: dts: qcom: sm8750: add memory node for adsp fastrpc")
> Link: https://lore.kernel.org/all/20251209-sm8750-fastrpc-adsp-v3-1-ccfff49a8af9@linaro.org/
> Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread