From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E1644230D0F for ; Tue, 6 Jan 2026 01:16:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767662200; cv=none; b=AMznoOM7q3ZDuid+vC7jb9rNZMm3FfrSF1YHlz26ijIZoHS2Iq0BGAvuPiwipL93AvalQ7DcYUC2f5eTwygYTJriqkIZGbmOmdOxijUpeU2ji6LpRkQiwTCnt00S4LMm3TpzlVvsm2ag3MQNNNU9F675785G8TkT01vLj7WE0vM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767662200; c=relaxed/simple; bh=7atvEQB/W0MrWZ5oi5VEvWdIg99MP03MI5kWg9yZPQY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=psvw/3Pf8TblRjOrUWu09qKOfdH9zcy/vdOLnNlkdoV0/o+//xUPAP0bkR/9+rxbEvrkzR84IqrvtZ7ExK0at4DVK1PFJr0XGZitvEvkGcADJ25yBfWbRWKgKPo/WVjAwcY54ffiOIE561BCVSHX9a1WPSKMf1KTGSdv1/H1J5w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca; spf=pass smtp.mailfrom=ziepe.ca; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b=G4J8tSNZ; arc=none smtp.client-ip=209.85.219.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="G4J8tSNZ" Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-88a35a00506so6006046d6.2 for ; Mon, 05 Jan 2026 17:16:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1767662198; x=1768266998; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=zwYvEJe49Eyq1mhCz3eanRMP0U05DubkNVlbpgrK6QM=; b=G4J8tSNZ22XzUSFvrR5FsP7T0+GgfqEjn4ACgB8NSx/nLywp3kEe3/gLDGM4K0Px8K pCyP4vJCbOyZvJOG5M0np7MRi7zee1UJw3L9LSA0EmRnIvyBiPRcrIh3hlI06tHCMtUS td+XpJce+Zysk4DZhxfzfhyrj5VMqzAvGRO8tPlSp7b/xZutqrG/nY+AgVCiFx8BEN3z lRqu4n3VLpELbeg6b+U5l216u31G6gc/NNe0jF5Oq/I8RJFLmxVBeaEN82cC0TKnPALV fGTRZ9vGgRrEC52n4baO76FMu0PC2Rcul7bkD/iERw7xclb+9Vb0I5EMJ8YJwCqTxPKA fJEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767662198; x=1768266998; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zwYvEJe49Eyq1mhCz3eanRMP0U05DubkNVlbpgrK6QM=; b=gf+9kftf5KNTrdZR78Kaz4cVUjeC1GFZpdso08HLQbhvCADNihEwtSEjm0H8jF9b1r cjETHw7+41p6WAhMHdI4XZ9BtbXQXKMOjn+lYoUpqGTO74miLeL7RWMrGr977CSDmxP4 u6YLJ9iP91iNMIDPaaQQTR6GByG2hWb0+oY3oGDuio5TSVnG5YGiWiG46qGruv7L3viN rQMXW+Aqq7YKIt5OX0tKhapaCFIA04RKLuuxu1pxRdB4QCaVA97zXFMBZFgrTcH4WkgO 6FeEoRl18BkVJqoGS8IviKU1G9UK+qCgZZ+YY/rShiaHBTK8rnzq48KuDRSL5U6S3xOx livw== X-Gm-Message-State: AOJu0YyfE+rQqox4cHF7fhVYmo40Nq4WguCwtspp7OjOXLI5N0Ht080m bkGq9/PxgmBOx0T2Abmn/Gd2ur0fEPaqR49tXIcW0cRjGur4ixBIhm6yhoUFpZ4W9IU= X-Gm-Gg: AY/fxX4fjNerC+gqfmOvyUcNbTShJ7tt6hMR1LPQMzlIAEjcaDUzvj+ylmKMJxFEAig L5n4umMkyTXXzcTRi+N9RsdlZzgdwGlJ92EmM/oi7SVzQstRTXCB6YFraL5XrKtj1NC+PVejrS/ LBZFZ3aT6MwXlwBYSWiA5Ov+17hlrJICPhOXIOrpvoSx/H8TvNmGXocfbCqjAtBM8h7dq79T/f1 TrvQdbOU5Y+jk/6yiXJ+FS40qA8FxJ6cB0MIQyobgRVza3LLqiLiWNfErRFV/nO3t5qv4j9qLCC LC34eT4yN1iRDs5/Ng6CF1XctScgxtCl8j5mhT8CV4WoPL+eYBPs7DaqLGquevcOlR38ZBrAPlW S7Xxac+Lv7TatSAlgIXCwaehJQDDgfOpLooEsQOl4UW+pFlAArBCoNj5xvVcTUAQMkOcyJMH55T ZcbTaJEp/oGgI26pGl4aSwbDPV3iD68PZCUC1CQqaiIqDAlrEk8xQ72wj32346H88rMF4= X-Google-Smtp-Source: AGHT+IGU4EwnENoVLZcc3PNj6UtCmKbLL+4ENJNdat+CgzEfd6wR8SIRx+LQD5e3GkbAHGRB7KzypQ== X-Received: by 2002:ad4:5767:0:b0:882:4130:d108 with SMTP id 6a1803df08f44-89075ea5df8mr23575886d6.43.1767662197793; Mon, 05 Jan 2026 17:16:37 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-162-112-119.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.112.119]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4ffa8e6ce5asm3810611cf.33.2026.01.05.17.16.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 17:16:37 -0800 (PST) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1vcvga-00000001EfI-37dn; Mon, 05 Jan 2026 21:16:36 -0400 Date: Mon, 5 Jan 2026 21:16:36 -0400 From: Jason Gunthorpe To: "Aneesh Kumar K.V (Arm)" Cc: linux-kernel@vger.kernel.org, iommu@lists.linux.dev, linux-coco@lists.linux.dev, Catalin Marinas , will@kernel.org, maz@kernel.org, tglx@linutronix.de, robin.murphy@arm.com, suzuki.poulose@arm.com, akpm@linux-foundation.org, steven.price@arm.com Subject: Re: [PATCH v2 1/4] swiotlb: dma: its: Enforce host page-size alignment for shared buffers Message-ID: <20260106011636.GQ125261@ziepe.ca> References: <20251221160920.297689-1-aneesh.kumar@kernel.org> <20251221160920.297689-2-aneesh.kumar@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20251221160920.297689-2-aneesh.kumar@kernel.org> On Sun, Dec 21, 2025 at 09:39:17PM +0530, Aneesh Kumar K.V (Arm) wrote: > +#define mem_encrypt_align mem_encrypt_align > +static inline size_t mem_encrypt_align(size_t size) > +{ > + return size; > +} > + IMHO this is the wrong API. The issue here is not about alignment, it is about the permitted granule size for shared/private. On X86 this will be PAGE_SIZE on ARM64 it is max(hypervisor_page_size, PAGE_SIZE) So think the arch helper should simply be __pure size_T mem_encrypt_granule_size(void); > + if (WARN_ON(!IS_ALIGNED(addr, mem_encrypt_align(PAGE_SIZE)))) > + return 0; > + > + if (WARN_ON(!IS_ALIGNED(numpages << PAGE_SHIFT, mem_encrypt_align(PAGE_SIZE)))) > + return 0; And then we don't end up with weiro reading stuff like this.. if (WARN_ON(!IS_ALIGNED(addr, mem_encrypt_granule_size())) || WARN_ON(!IS_ALIGNED(numpages, mem_encrypt_granule_size() / PAGE_SIZE))) Is much more readable.. > @@ -319,8 +319,8 @@ static void __init *swiotlb_memblock_alloc(unsigned long nslabs, > unsigned int flags, > int (*remap)(void *tlb, unsigned long nslabs)) > { > - size_t bytes = PAGE_ALIGN(nslabs << IO_TLB_SHIFT); > void *tlb; > + size_t bytes = mem_encrypt_align(nslabs << IO_TLB_SHIFT); The stuff like this is just ALING(nslabs << IO_TLB_SHIFT, mem_encrypt_granule_size()) etc Jason