October 20, 2025 at 9:12 PM, "David Heidelberg via B4 Relay" 
<[email protected] 
mailto:[email protected]?to=%22David%20Heidelberg%20via%20B4%20Relay%22%20%3Cdevnull%2Bdavid.ixit.cz%40kernel.org%3E
 > wrote:


> 
> From: David Heidelberg <[email protected]>
> 
> Use qcom,use-guard-pages property instead of polluting device-tree with
> lower and upper rmtfs guard nodes.
> 
> No functional change intended.
> 
> cosmetic: set name the node rmtfs-region.
> 
> Signed-off-by: David Heidelberg <[email protected]>
> ---
> Tested on OnePlus 6T.
> ---
>  arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 17 +++--------------
>  arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 18 +++---------------
>  2 files changed, 6 insertions(+), 29 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi 
> b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> index 99dafc6716e76..83b98bad19dd2 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> @@ -99,26 +99,15 @@ memory@9d400000 {
>  no-map;
>  };
>  
> - /* rmtfs lower guard */
> - memory@f0800000 {
> - reg = <0 0xf0800000 0 0x1000>;
> - no-map;
> - };
> -
> - rmtfs_mem: memory@f0801000 {
> + rmtfs_mem: rmtfs-region@f0800000 {
>  compatible = "qcom,rmtfs-mem";
> - reg = <0 0xf0801000 0 0x200000>;
> + reg = <0 0xf0800000 0 0x202000>;
> + qcom,use-guard-pages;
>  no-map;
>  
>  qcom,client-id = <1>;
>  qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
>  };
> -
> - /* rmtfs upper guard */
> - memory@f0a01000 {
> - reg = <0 0xf0a01000 0 0x1000>;
> - no-map;
> - };
>  };
>  
>  gpio-keys {
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi 
> b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> index dcfffb271fcf3..61d63003fa371 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> @@ -75,32 +75,20 @@ key-vol-up {
>  };
>  
>  reserved-memory {
> - /*
> - * The rmtfs_mem needs to be guarded due to "XPU limitations"
> - * it is otherwise possible for an allocation adjacent to the
> - * rmtfs_mem region to trigger an XPU violation, causing a crash.
> - */
> - rmtfs_lower_guard: rmtfs-lower-guard@f5b00000 {
> - no-map;
> - reg = <0 0xf5b00000 0 0x1000>;
> - };
>  /*
>  * The rmtfs memory region in downstream is 'dynamically allocated'
>  * but given the same address every time. Hard code it as this address is
>  * where the modem firmware expects it to be.
>  */
> - rmtfs_mem: rmtfs-mem@f5b01000 {
> + rmtfs_mem: rmtfs-region@f5b00000 {
>  compatible = "qcom,rmtfs-mem";
> - reg = <0 0xf5b01000 0 0x200000>;
> + reg = <0 0xf5b00000 0 0x202000>;
> + qcom,use-guard-pages;
>  no-map;
>  
>  qcom,client-id = <1>;
>  qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
>  };
> - rmtfs_upper_guard: rmtfs-upper-guard@f5d01000 {
> - no-map;
> - reg = <0 0xf5d01000 0 0x1000>;
> - };
>  
>  /*
>  * It seems like reserving the old rmtfs_mem region is also needed to prevent
> 
> ---
> base-commit: 606da5bb165594c052ee11de79bf05bc38bc1aa6
> change-id: 20251020-sdm845-use-guard-pages-9c2b2fa0b71e
> 
> Best regards,
> -- 
> David Heidelberg <[email protected]>
>

I tried something similar before and didn't have much luck with it. I'll test 
your patch when I have time.

Reply via email to