On Wed, Oct 21, 2026 at 10:47:26AM -0700, Jonathan Cameron wrote: > On Fri, 2 Oct 2026 20:31:51 -0300 > Jason Gunthorpe <[email protected]> wrote: > > > The stub always requests ARM_DRTM_LAUNCH_DMA_COMPLETE. On a system > > with an SMMU the COMPLETE option is sanely implemented using the SMMU > > global abort register. DMA_COMPLETE should be mostly a no-op. It > > seems to be designed for the region protection mode that Linux does > > not use. > > > > However, the FW can still do something interesting under it and we > > should call it. Choose late_initcall as we know the SMMU drivers are > > loaded by then. If some platform does actually block DMA beyond the > > SMMU, then this would result in a noisy failure of built-in driver > > DMA, not a silent security gap. > > > > The platforms I'm aware of are OK with this placement, and it is a > > reasonable place to start. > > > > Signed-off-by: Jason Gunthorpe <[email protected]> > > --- > > arch/arm64/kernel/drtm.c | 39 +++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 39 insertions(+) > > > > diff --git a/arch/arm64/kernel/drtm.c b/arch/arm64/kernel/drtm.c > > index 14493948a27f0d..6062980a5d9e53 100644 > > --- a/arch/arm64/kernel/drtm.c > > +++ b/arch/arm64/kernel/drtm.c > > @@ -3,8 +3,47 @@ > > * > > * Support functions for ARM DEN 0113 "DRTM Architecture for Arm" > > */ > > +#include <linux/bug.h> > > #include <linux/efi.h> > > +#include <linux/init.h> > > +#include <linux/printk.h> > > > > #include <asm/drtm.h> > > > > struct arm64_drtm_handoff arm64_drtm_handoff __efi_data_handoff; > > + > > +static int __init arm64_drtm_unprotect_memory(void) > > +{ > > + s64 status; > > + > > + if (!arm64_drtm_handoff.drtm_enabled) > > + return 0; > > + > > + /* > > + * Currently Linux can only fully support a DRTM implementation that > > + * relies only the SMMU. > > That sentence doesn't parse. relies on maybe?
Yes Jason
