From nobody Fri Dec 19 11:49:55 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88165221F17 for ; Sun, 7 Dec 2025 18:48:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765133282; cv=none; b=b49DKp2kogsIbzVqcLgSF1g4tHz8ExhaHg+O2k1OJbYYu29W98YlhkCJZMUVq0ZMhQhb2uBTMweyqRv9vQJXASj/GgvVKpWITOHJXTtk22p0PRZqW2W28a1d1RpHJgVonux6BaUBRLS29OJoVTKmwV0omGBl6N9MspLHpwVn0js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765133282; c=relaxed/simple; bh=99Gj2YbTy0YpE4/Veb809/fFjY2R3O18i4PyhLXjrZ0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LH5VYBSmNxaIx31GLWwujiW0s2efaXt0aky69DLtOGrfHbq+q4NXQlxwp4Iq0K1th5vkwhm56UEe6sCQl+cjEKmV/ojyryv5Mdcdg/QXj+pJ1go7LaccXRztCYwxb9YTvR6rbps2r7GiWXs/ljrmDB/rxQOdL2K2shGQqytwB0M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lIgsa5b+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VOSiGtGG; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lIgsa5b+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VOSiGtGG" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B71WaDk050185 for ; Sun, 7 Dec 2025 18:47:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=881/hprY17FEAvnXnTzbVcRze90NUk4lmaF wZKgibbg=; b=lIgsa5b+TD6H6QRSbSjWaWZ6X5sxS8/dwOcvINLr1+qs6Bsv+2N 2cUbGbC1cOzQrEjQDaGMwSALNbMJGGGYbkssViBj8alM/MuFBqnqSohFcL0J3EKC r/v/0AD83Rvwz2anmTMkI3gg/GgDGXaGaYBnbwGPQMAl6iLwl+wCtZD83BwVgDyI xk6Cfqg+8CAWNX6I/n9rLX82E2nCpQFlDJyY1CANRq4QcWiR6t0IgAfZ/uYZzgdk henSVmVd1Ab7+yqvHY1YvluBHksM8xUlViVI7DDsHXygbRzCYPBok0lOnjlidVNQ W7wy9nfAvWE3aEdozMFUzJiceZiuO3/sioQ== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4avds9aqeb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 07 Dec 2025 18:47:59 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b2ea3d12fcso822479785a.0 for ; Sun, 07 Dec 2025 10:47:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765133278; x=1765738078; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=881/hprY17FEAvnXnTzbVcRze90NUk4lmaFwZKgibbg=; b=VOSiGtGG7Vu6RMF7vEXIGzroWyv+D0EachHktf25r+onmDEn+c4Glmtqe+yQceYPNZ H+7sWYtgjIpLsQPkGkD+9NkXpZaJcy6nxTLSvKG8PPus8+1cQRq2IiAvVgQ5gy4HQgth IjTzP5AQxOPcMFG1YjUfmpmwn8eODkuuEH77pObNX/KMbMjsHEv5HxX/VyAUpdlRvHE5 o/dKrVIg6YFmGmFqR+VhEZOuNg9DtPzKvO7cQpJSV99jSaadtQy8HHa/fd7XfT0Dtkol RNajQ8Iqkt6X/h5DXc6FcuJstzDOXv01LdwSdw6oLxM8XWXI3ShcZ6dLB/K01vWuiHwe 3DXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765133278; x=1765738078; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=881/hprY17FEAvnXnTzbVcRze90NUk4lmaFwZKgibbg=; b=fLFA5YP/gkBN3ys/wnnpRWMtEfVpQir0Z3/zd0nFD6Y6d2l7Wxg7DLYy5XNpvoN4qC 4JXHgYBdkZ8iU26fO0BRulVZRMfcdJQNz2gayB6doTAc2HVAjx6zC9xS/BstEoNUetLf ph3Sc8SJ9uhiBMOEw8cwR0x7ftIGsvyXUvJRsreU0LESfd2LIqr/sECCveg/ErR2NFGh p6IDZYsC/AVUkQIeAV2pqX15F3MkJMZXVPJjxLqchaUOFcgB3SQdyTbJYLM76NLxQaPQ KVmgRtUWpHnkr3YoHrDx9MPbHviOl1hVDbg2oPmloeKhvoTcA4OD6De58VSNAlZfnSUk GX9w== X-Forwarded-Encrypted: i=1; AJvYcCXYI88useiQ7GxUOZHzXThFcHHThNHsE5EkDAurs/oGS8S8MMSDS6vfMZ6G/LBB+oCjX85i/B5SvfKAJPk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/xwn23NtO1hs2CGSKlmseK9ymWKFcTbk2lsKVsFO20GoVIdGg 166ZQnvjgcie68+x0XgRuSevRGgD1QkQ5TyGsCiBKy/sav6EGhbrekLYHjwLgu7pT5fdvtTNkBk SbYnSxXwlaKX+O2VUVJBACUfWPlzgYQWXDnLauFvNNFpdColDRvlWxEoTzH9GYdKEqv0= X-Gm-Gg: ASbGncs0wqWo+oIbU4EBaDNwKlibPEr0nK25RyGnrqcSkEFoPZq/EIvne8ngpBP1/l7 NsfjlVBP+hTqfKzUYF2LZ93+RDTlmv3vJsBxXYrePrQtGoKVuwGxt1hQZMO6XeYdp/MrYHbtAeJ iccPkZAGsb51myWzkA0DeX/1itWPawQgYculwkY0HOocyJohRITM/fYQBJUOBMB2hWPw8DC0ZEA NObssb1qe9U/wOw55My9RHI6wotvpFw084q7hNqbP7Qa/F+JogjFE62dMnZNtY2GBhMKeyIlkcO aLaIqzABLBdZc+paFa/sdPA06kOEHyT4fiNgto1q2DHD0TrtkNphGe48mEHYiqTSqZYjnmpyOZX cwyVw7VEOeeFSKSZEluJ2KfBx47xed9nl7ikTXoOiOT19IVuwZJFVf/0t/iy+FwFDYmjCXueDKL o+pdvSSAbpIgG92B/MAn0KAOWG X-Received: by 2002:a05:620a:461e:b0:8b2:e177:dda7 with SMTP id af79cd13be357-8b6a23f8a66mr820084085a.81.1765133278560; Sun, 07 Dec 2025 10:47:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IGQgReDwYNHorz6zJrslzpnkfHMnOvPOzPCOCqHUe8BRt+u7rtd5B4tRN/r64XQQxEvc4MdLA== X-Received: by 2002:a05:620a:461e:b0:8b2:e177:dda7 with SMTP id af79cd13be357-8b6a23f8a66mr820081885a.81.1765133278117; Sun, 07 Dec 2025 10:47:58 -0800 (PST) Received: from shalem (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b79f4976732sm908585966b.43.2025.12.07.10.47.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Dec 2025 10:47:57 -0800 (PST) From: Hans de Goede To: Marek Szyprowski , Robin Murphy Cc: Hans de Goede , iommu@lists.linux.dev, linux-kernel@vger.kernel.org, Sakari Ailus , James Clark , Nathan Chancellor , stable@vger.kernel.org Subject: [PATCH 6.18 regression fix] dma-mapping: Fix DMA_BIT_MASK() macro being broken Date: Sun, 7 Dec 2025 19:47:56 +0100 Message-ID: <20251207184756.97904-1-johannes.goede@oss.qualcomm.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: GCibmBWsn7LDKCQ4ohRe-8Wut9dvTzQT X-Authority-Analysis: v=2.4 cv=P+83RyAu c=1 sm=1 tr=0 ts=6935cbdf cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=QyXUC8HyAAAA:8 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=MYcnY-1sr40wgOoaTGwA:9 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: GCibmBWsn7LDKCQ4ohRe-8Wut9dvTzQT X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjA3MDE2NCBTYWx0ZWRfX+m6iRjVHvRh+ 2zKIGiYLORDnXaYK3tePa8Qr/Y22iVVvkIMcBLFYIv0EHWkYgJZhnEk8GsvSlOaYt0MdMGMB3NV pu9DzVv9FFi7pIeq3SujJgzI4ksIbr63ewlCL0va/YYDYXbPtOnJBxXhaSqxpcwvGMN9fCh1Arv 8moax7m0cWOiOTCTkwe03lZL8eeb90ZntaR+zwL3rT974uWapO/wHbzMdf/7h/iArxpg+vpOQXH q9DF5uVGXmQxsEm0TcsPqsSxu8+Mizln1byE65pB+xnNDiib10Zveo/2TjBpE+9VFe3sv8PuLT4 3PZ1NeU43bfM1U1+mYn9QeYkOfSRTKJBuGB+MY44DNkBkeyXLuYJJy0wQR7jPVMf5ptOQKba0a1 0L3Wg6lSnUfAKIcQ5tar3CKiYCqz7Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-06_02,2025-12-04_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 adultscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512070164 Content-Type: text/plain; charset="utf-8" After commit a50f7456f853 ("dma-mapping: Allow use of DMA_BIT_MASK(64) in global scope"), the DMA_BIT_MASK() macro is broken when passed non trivial statements for the value of 'n'. This is caused by the new version missing parenthesis around 'n' when evaluating 'n'. One example of this breakage is the IPU6 driver now crashing due to it getting DMA-addresses with address bit 32 set even though it has tried to set a 32 bit DMA mask. The IPU6 CSI2 engine has a DMA mask of either 31 or 32 bits depending on if it is in secure mode or not and it sets this masks like this: mmu_info->aperture_end =3D (dma_addr_t)DMA_BIT_MASK(isp->secure_mode ? IPU6_MMU_ADDR_BITS : IPU6_MMU_ADDR_BITS_NON_SECURE); So the 'n' argument here is "isp->secure_mode ? IPU6_MMU_ADDR_BITS : IPU6_MMU_ADDR_BITS_NON_SECURE" which gets expanded into: isp->secure_mode ? IPU6_MMU_ADDR_BITS : IPU6_MMU_ADDR_BITS_NON_SECURE - 1 With the -1 only being applied in the non secure case, causing the secure mode mask to be one 1 bit too large. Fixes: a50f7456f853 ("dma-mapping: Allow use of DMA_BIT_MASK(64) in global = scope") Cc: Sakari Ailus Cc: James Clark Cc: Nathan Chancellor Cc: stable@vger.kernel.org Signed-off-by: Hans de Goede Reviewed-by: Nathan Chancellor --- include/linux/dma-mapping.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 2ceda49c609f..aa36a0d1d9df 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -90,7 +90,7 @@ */ #define DMA_MAPPING_ERROR (~(dma_addr_t)0) =20 -#define DMA_BIT_MASK(n) GENMASK_ULL(n - 1, 0) +#define DMA_BIT_MASK(n) GENMASK_ULL((n) - 1, 0) =20 struct dma_iova_state { dma_addr_t addr; --=20 2.52.0