From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 308371F8BC6 for ; Tue, 24 Jun 2025 02:14:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731245; cv=none; b=JIOw+TQWrbYwKG8HR0DOqivBFY55QXFF4BEIi7NNbQMmDBLkr4aWZIAMLiWc8Hoz/lJfWKZsAKOm4yFJa0Qt5U6LaMiS8VVV/xoK3RW0ifYX3/EpMWQNINksexfHamQNDywK0eCuFLeMtpWbPGNoPPBDNDAjE6UjCrLIDD5gVzE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731245; c=relaxed/simple; bh=t/rZg2mXoS35Z6g/Fc1ahHAw8Dong0aRc6LecgnXaBA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FQHPSLjE5WcfWZskHJQl14kmxCjbZ3hsFP32ADmhk3iEu1wbzn1sUeVcA+JBczGzXvHfG0Vl2KMijlcmEhRQqpTc0V511ysAwVyOtbQMd22oZ/nczvwq7na1rKf8hFTSC5SCBE5YRhE8ev+mbl5mBuGDC2NYugTLmsN0XOTReZ8= 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=Kfm+e0gX; arc=none smtp.client-ip=205.220.180.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="Kfm+e0gX" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NKlHO0015264 for ; Tue, 24 Jun 2025 02:14:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /47YVhRJHDkRQwljfohl4e6sBDrvrN8mrp2H+cyoRUY=; b=Kfm+e0gXMOYuSCQi fd7M/lRqEXF8FgVp9C2C9Md0QYX/QC/oUtjvF472QtHC3hanXoUUFxywffpbwxF/ c9W75VjZVyOVhi9t5RcWwAEpoxUmRaqghmOzRSm8CtFSg9hfkSST3TJFBFoKZ/5Q v84SBpLX67FbZHvcRwhQMYXTN0MXLFyGeZ34PMgJY3DGNE7xZirGvxNSQQ2Fn8fZ /CRpkV96QQtKDPBrpIPBrcoJNHkmCFiP3fX7B6lrgwCSgsqzGlvQI/TCEJQGJSUm 3y+d/1fcv+e8Rk7JmfO/cqMdk97kGnerTB7EwQ3r9RQUhCqSVgakgzJZCeC2IOhC mTD/3Q== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47fbhqgy44-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:02 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5f3b8b1a1so735856285a.3 for ; Mon, 23 Jun 2025 19:14:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731242; x=1751336042; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/47YVhRJHDkRQwljfohl4e6sBDrvrN8mrp2H+cyoRUY=; b=EV0G5qrFYjNiyXSjC8wA6Goi0w1X2/7UEanFU1HbbKe/JcRa4d/0ij4fKAQ+12JKGC xrpRzvpJh4a3BaL06uRW+t5Mut7OjhHae7Rw9dHJjOR04A2TlHCYYX4rqkEW1WK0LDQM K9KfBF04rtsoGby8P7ggrbMm+lXZ3w9/u+p54AHjlh+hSEm+1t4iVjI1I/i9XZQ++pZV 4d/JsYiE5aL8pLHnxfZddEcqmlVX1r2+vVsIuochuh6p5AiBjAPAhHOuIZbdjte8KN7L xmEAkRtRn4ZmPxKInRMNklrpyn651G2jaDYJCSH/KeWyzHCNH6qUQ4m9TG+W1y3b2Jjb FCPA== X-Forwarded-Encrypted: i=1; AJvYcCW9YXSw2uxgC8SByCOc6QsLuGN8aNVl9LbFFjVgaiZOZuI0yAUm+F0Nc5iwrlKQmjbnhXFFUuAJbhomVjU=@vger.kernel.org X-Gm-Message-State: AOJu0YyVkwmrQVXpQLpSqKvXdaIVW4dH4iPLNOU8r2Q5ftASzRffI168 9JMy+hnc1DQ1Vu29KDpOiFI5eGfbNp4BjC+hILBourtQOaltCCNlU6N0VkeaHNg8zax776iw9Hk 0Sm6im7WKau35L9WotbLp/4TBVvqoQ8G7XbThwuUVH1jVgBw4G2PyzRl3nZH2mOR2haY= X-Gm-Gg: ASbGnctU/dsQc0/jKeFgc8fIN6VASwty4r/EOZMdeKCGqi6nGbahze04LrIATqqSIws qyZ+pzNNWXhnVkG9dpBqtSDCDd0VXSHUdLBFk4GO1+qOLquNLo1wrualhUNOiD62MOMx4QmorvL Rv6RTiZgyZn/E6IY8EXunOOboRH2fYag3C3EMl1cGsXb5TeoSO9RRYKSrmPStoVnwcYtmHr7lwf kuVjIPjVJy3tlDQ6rAC2VauVk5p+T29FN9X1dFzAbbuQOkRJ1rvwhpvChIkKcqttoIKPO/iXSoJ aEtCcEQfxhy0Ld5DsW/39nAaPmFLxXXTh0VD74Uu/1kSpuElsW044X35utdOFzvOhk616vx6juk NhBRCi7Yon0Ld1G8g5WyIs07RpVlKBwRayng= X-Received: by 2002:a05:620a:4246:b0:7d3:dbed:869b with SMTP id af79cd13be357-7d3f994985fmr1943749985a.42.1750731242069; Mon, 23 Jun 2025 19:14:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFqNvGeq31ZsFPXIO/lQgxlb0Vn2tpiIlaT+TQgY4zyabgD3bBEA+zw9lFvTIbJzIJ89IyVKQ== X-Received: by 2002:a05:620a:4246:b0:7d3:dbed:869b with SMTP id af79cd13be357-7d3f994985fmr1943748385a.42.1750731241667; Mon, 23 Jun 2025 19:14:01 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:00 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:52 +0300 Subject: [PATCH v3 1/8] efi: efivars: don't crash in efivar_set_variable{,_locked} in r/o case 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-1-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1258; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=t/rZg2mXoS35Z6g/Fc1ahHAw8Dong0aRc6LecgnXaBA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWgnlIwD1YOHrg11CPLxY9aW5PbRmv4EaxnsBp jEGag+qTSOJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFoJ5QAKCRCLPIo+Aiko 1a8uB/4pt+r79WsfEV7XaHTaHhmQdEWSg55qYh+hYrZtxbNHOACrQMrGLGjC0vOndbSWD5TXR5T dP+t2VrJNBLG6p6om4m8idOSq9Uv3Ga79iLTOaKPch4veQwUF4PnciRKG8f4ngPBdJjfD1PzNvg VO2EWAQjCbBXiH53lt5Os660fgYfzZa6zDZCXOMQrhIcJq9c9GQ/mHAaCGBleWRILQCWuGcth9B cgEC+cVA55MGnOMYZpbE2iOzaO0mNgw1c9lH+8Q6W/bfRPO5RO/+YxPXXoKVQWSCJ08RGIURNxx I7rwPZkkwKOL+6wgbNKyoAk+tMmx9v3OEPrkiiuNDvDxd3xW X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: E6LBt_bXBZFKoc-UOLnIlK2Ki7mnPpYA X-Authority-Analysis: v=2.4 cv=Id+HWXqa c=1 sm=1 tr=0 ts=685a09ea cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8 a=zitRP-D0AAAA:8 a=EUspDBNiAAAA:8 a=2-Wz6HayXEhRivmEhXsA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=xwnAI6pc5liRhupp6brZ:22 X-Proofpoint-GUID: E6LBt_bXBZFKoc-UOLnIlK2Ki7mnPpYA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfX8bxCy6BnLT0r 2bujncl9BFeR5rtMLzErh75YJVfi9Wj8zM3PZ79J2tXdb9DM+6lomYiagYTFKzZV92P4y0Kk3d/ A0rAxGVUPNbbpkwEJwsPPKmHJZmFcgwBVF70RMzxqY5oLW76XwxMb+Bdj+cP4o6opOQ5XWWu6ue hEZGKrTU4WI6nNgFwhIb9EIUMqr9lRZ8wY3Nzi75rfMgk1BwmIv+GH3A9AWXDyODCeL1aBV48L5 5Ydp5sfs5UX4NVc0q6NtzlOSQE8g4bcDF+GeDUetHRaqKlCc6loDiAqPiR/5RvZgxXoMHxL8T/u 4PwRA4yiZG0TPZnaV79Tr3ur7FPT1Z1wBG7PtLP4nmraRPWJJqL0WO1uvsfuWSDaTTjCWz1p4Mz ClT+2Lc7LMGvq254B/6iwMocrrMt+VH2aJ6+Vvx2xHZCiVWD1u7bjC5rOrNrj5tD8tm8LpLm X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 mlxscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 If efivar implementation doesn't provide write support, then calling efivar_set_variable() (e.g. when PM8xxx RTC driver tries to update the RTC offset) will crash the system. Prevent that by checking that set_variable callback is actually provided and fail with an EFI_WRITE_PROTECTED if it is not. Fixes: 472831d4c4b2 ("efi: vars: Add thin wrapper around EFI get/set variab= le interface") Reported-by: Johan Hovold Closes: https://lore.kernel.org/r/aFlps9iUcD42vN4w@hovoldconsulting.com Signed-off-by: Dmitry Baryshkov Acked-by: Ard Biesheuvel --- drivers/firmware/efi/vars.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/firmware/efi/vars.c b/drivers/firmware/efi/vars.c index 3700e98697676d8e6f04f061f447391503f9abba..11c5f785c09364f61642d824168= 22cb2e1a027fd 100644 --- a/drivers/firmware/efi/vars.c +++ b/drivers/firmware/efi/vars.c @@ -227,6 +227,8 @@ efi_status_t efivar_set_variable_locked(efi_char16_t *n= ame, efi_guid_t *vendor, setvar =3D __efivars->ops->set_variable_nonblocking; if (!setvar || !nonblocking) setvar =3D __efivars->ops->set_variable; + if (!setvar) + return EFI_WRITE_PROTECTED; =20 return setvar(name, vendor, attr, data_size, data); } --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 6D5572222B2 for ; Tue, 24 Jun 2025 02:14:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731249; cv=none; b=j39v0WaVrI8yMncXHQxtDRheC9ZTfcAuRRO2wzay/URz9+HbzHsUzFpinHCjaZbgPODiR9y1W48t80VRoWyTWhYaCm1wBAUPKN7f5HhGaqLO4t86zeRILNc9dFndotf3fXBehqmcvnbUb4RKWsvmhLiWDmCcnFTrFXSz3OQVN8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731249; c=relaxed/simple; bh=0ZB/tSQJTgO/V9bw25UKkVrXHkwPDk176SMtQVZy7AQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mjt9ehI3/e478aYxprT+A7n+RxAMZpQ/HCDYYFbMGT1Rcqiuh30i1ftYbLFhMA5sMHH+Ea0YpQEDuGXn1RXoeo2oZUF+FLnijttdfUUYIfPmVLe+r3wa9Y+ezD0X8M2EZkm4Mq8bP402rutH7nP2N9WR1g9HdGGYtxEZ3ozymzI= 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=VKY3KZmf; arc=none smtp.client-ip=205.220.180.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="VKY3KZmf" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NHkdut032752 for ; Tue, 24 Jun 2025 02:14:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AmT60A9lLQ9BuGQyHbamKb2liQFhTaf9+85rsO1JS60=; b=VKY3KZmfKORozMEd g6Uevva+FWVhlZwL8faIPGLO2lXyItKoexwRQFwnbN+1+Wy04GxrcevaBolvZmLJ MWhmzWWMTo96c47/3DFEDBoL5rEqHedbyvg2SfC/QRzuNWwzy3qNUMUaBJyL0kPl V6p46X+WPf0QSxJGGt1ulHSpmjzhHW6wyLkyUqPqKaK8FO8D3cf3efQiEBNc3eF8 Pn3lH1eZpFLvT+QhR+JscCck40xIX6QDZ8KcsAEAcjGI4/JWqrnWDeF15chbcTcT xCsFFt6j09a7wE9c6Vz61+xCbYaw/nZ6RcWS+L4rL0ygUmgS3svMPCm3/7j2Pxlt IKcIUw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47fbm1ryxe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:06 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7d40185a630so662697985a.2 for ; Mon, 23 Jun 2025 19:14:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731244; x=1751336044; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AmT60A9lLQ9BuGQyHbamKb2liQFhTaf9+85rsO1JS60=; b=fn15q2l7xGKyX55/QLf8KusF06Ll4yjpAVLtHnz3MgkShK3dhtAcZzdrhOi71XUaLZ Tj87OwMVEf9EuKIq1+WQxIBzgsl4O/ncKkfOF4k5Gy5OdZSyV1NuCrxM9iXpwfF227VX 8B/HlQb+u+eVAsyGzXtN99mNjxv6wotYMJra/X7adz2G2GuNwqfDs9wgKVHknbl1wctc P6HL0YYDywbky2hF6n+B7DTimghx1N/g9Vghgm/4TCrsAp4d9dWDT6Kmyokenk9iDvJY vJz6gxi66Qefl2WOFU7urQj8pet+enE40VCs4yVy++bbJas6hpw5bHXtX0pWhPoVgvxc walw== X-Forwarded-Encrypted: i=1; AJvYcCUFDY+226X6Dyi3YVkXjqEuo67ulFGLdZ+/eUyR9sWc4+pJ9A5kF8HnuokDld5yo4LfbAlPuA8xbgkIX+U=@vger.kernel.org X-Gm-Message-State: AOJu0Yxs4/tVqa1Fa1znT7eRg0kuYT0iNG6DWBz6rNbrp2uVNkz+y2DR ODlAsM8yFLohxw3R3a7OGKrt6ybWNFCIXu8tytekptTR8TjJFEU+bB0rBo2IVC6kPiQxw21tSsJ 2dx9ThYsTl+p3EIPfn/NV0jverlDI2DWUHPco+EoH1TNjycyBxzSuaWDrcPA7TbGAp9ExvRgBrv Z/KA== X-Gm-Gg: ASbGncsSzUpKLkMeSmvX7ac9BztXkKkkg4QHu5d/RL7T4ydVBIbZbTwIRE4gFVMzo1U HrpsT3G0XQtzRWfGi1P3s5IGXYKqkG6mWlnQCL1xNJgQC1WSx+3nC4HWDmQ6DE9icJjo68kqqeN CpuhRyHHL3HrgHlGLvxssleLrmBKKBzplXOFpFCTiSA+YuqP62jakjGdk80smn0Vd0nR+D3naVK oa4sVSxA4W0Rs3lq/3cw1mSWaVVoDLfzZ/lZC0zPUsNHtZl/xtKu0XRJXA+VSPThdHtRBHGTFfa qLobVa54cBkUVUSxHV1sxXq3clmjfYXkCsR9HhnQvadb8AthXdG+ewsf8zPmpYtNpig2ZQ3oxdN NGgctySMdzHNvIO5YhI1KvQLJreJzTbvSObo= X-Received: by 2002:a05:620a:4392:b0:7c5:5a51:d2d1 with SMTP id af79cd13be357-7d3f995f1c7mr2572885385a.55.1750731244539; Mon, 23 Jun 2025 19:14:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFYIL4+l3frydW5f5l5oqZb7/2v7MXWN/9Lgrqu/VuEHi7B++dwsM5L4Gh5qOtGXS/DiuKkOg== X-Received: by 2002:a05:620a:4392:b0:7c5:5a51:d2d1 with SMTP id af79cd13be357-7d3f995f1c7mr2572882785a.55.1750731244164; Mon, 23 Jun 2025 19:14:04 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:03 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:53 +0300 Subject: [PATCH v3 2/8] firmware: qcom: scm: allow specifying quirks for QSEECOM implementations 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-2-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4148; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=0ZB/tSQJTgO/V9bw25UKkVrXHkwPDk176SMtQVZy7AQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWgnlffFPCByp4RKefp3ZNXphmsBnCnVx4XS1R V5Q1j07lkCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFoJ5QAKCRCLPIo+Aiko 1aeYCACWko1A2fakj7OHXikH01sxkD5jypkMNfkD+er9snZS8sOBHOyRBA5xSXFrDKYldT1vpES oGdMf5oDThzf9XSVunYVT0tJ4KdkuEmnAznWz9CTByqnEIStF0BB+nfqQYtvg7+GCrbTdX9x4gZ 6q2ialmgnWIRTX9Yf2eLw/vE0kOemOH69Ip7ABWh2b80cmazsNbfqQ+Qke3v8ZI7M1M2QVBK35i EnVVYASvUZ120xd0DrxuJ4mQJN7sLgQ5mpa8oZrIXltYqU5ovk2Omwjegf/+QF9Oq3Yjx7LFVws pe14dBhueJpOTLsPi1XNk9D1DFzknFvgWfE+6LtXAWhZ2f2V X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=YYu95xRf c=1 sm=1 tr=0 ts=685a09ee cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=wTlJEWXFZO-q-0qxHBMA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: m5Rc3LkHdFae7TlSVr9vV9Lbv8f9ASyh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfX31Gs06sTXNCI cA6w6g06iuxcBm2c4Y5b1VjbionVh1gnirXlZCvOcwX/z3gYiQTfg5JCfUhteuJ4IMC7g6ZoMif hS1Bd3d+o9n8aFBkn7gAlwQz6z0NumFOkZzNI73b/gfwSnFr4r0fEkIIbe9yY64mrlblA5JlgQa gKkJLBn/2LKS3cx7p8jv2tcFYUuVS9pHseXZ2UfddMKhSD2Os0H2QvukKUUbFfyJ4M4VWqRy0TU ihLS+YNOTucpHtHw/lxYubcUGWy/x+xxPH0ImguizigWHSxTtu2ykTJ5gV2Ql28ZMWUlvWhTPdO XL0+IeCsCC9qzgrKZSrlUpMFYsLFRQZurlAQ8GrS6PVkmaF9O3zkhl08jlnJGGG7uHmRTx50Lw9 YZ1n0ZO4JbSgTtQBNa3UtW8PaDEPxKa1PrDlkG84leWqK9Kb+J0MnMMCxTkwcr9ezfXxZqyO X-Proofpoint-ORIG-GUID: m5Rc3LkHdFae7TlSVr9vV9Lbv8f9ASyh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 spamscore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 mlxlogscore=999 clxscore=1015 mlxscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 Some of QSEECOM implementations might need additional quirks (e.g. some of the platforms don't (yet) support read-write UEFI variables access). Pass the quirks to the QSEECOM driver and down to individual app drivers. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/firmware/qcom/qcom_qseecom.c | 6 +++++- drivers/firmware/qcom/qcom_scm.c | 28 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/drivers/firmware/qcom/qcom_qseecom.c b/drivers/firmware/qcom/q= com_qseecom.c index 731e6d5719f9e3e9e698f5de0117540f51ebab63..aab0d61f0420c4f3d6c1a73e384= 195b9513f3ef9 100644 --- a/drivers/firmware/qcom/qcom_qseecom.c +++ b/drivers/firmware/qcom/qcom_qseecom.c @@ -36,6 +36,7 @@ static void qseecom_client_remove(void *data) } =20 static int qseecom_client_register(struct platform_device *qseecom_dev, + void *data, const struct qseecom_app_desc *desc) { struct qseecom_client *client; @@ -56,6 +57,7 @@ static int qseecom_client_register(struct platform_device= *qseecom_dev, =20 client->aux_dev.name =3D desc->dev_name; client->aux_dev.dev.parent =3D &qseecom_dev->dev; + client->aux_dev.dev.platform_data =3D data; client->aux_dev.dev.release =3D qseecom_client_release; client->app_id =3D app_id; =20 @@ -89,12 +91,14 @@ static const struct qseecom_app_desc qcom_qseecom_apps[= ] =3D { =20 static int qcom_qseecom_probe(struct platform_device *qseecom_dev) { + void *data =3D dev_get_platdata(&qseecom_dev->dev); int ret; int i; =20 /* Set up client devices for each base application */ for (i =3D 0; i < ARRAY_SIZE(qcom_qseecom_apps); i++) { - ret =3D qseecom_client_register(qseecom_dev, &qcom_qseecom_apps[i]); + ret =3D qseecom_client_register(qseecom_dev, data, + &qcom_qseecom_apps[i]); if (ret) return ret; } diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index f63b716be5b027550ae3a987e784f0814ea6d678..fc2ed02dbd30b389b5058f5cac7= 0c184df7ca873 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -2008,10 +2008,10 @@ static const struct of_device_id qcom_scm_qseecom_a= llowlist[] __maybe_unused =3D { { } }; =20 -static bool qcom_scm_qseecom_machine_is_allowed(void) +static bool qcom_scm_qseecom_machine_is_allowed(unsigned long *quirks) { + const struct of_device_id *match; struct device_node *np; - bool match; =20 np =3D of_find_node_by_path("/"); if (!np) @@ -2020,6 +2020,11 @@ static bool qcom_scm_qseecom_machine_is_allowed(void) match =3D of_match_node(qcom_scm_qseecom_allowlist, np); of_node_put(np); =20 + if (match && match->data) + *quirks =3D *(unsigned long *)(match->data); + else + *quirks =3D 0; + return match; } =20 @@ -2034,6 +2039,7 @@ static void qcom_scm_qseecom_free(void *data) static int qcom_scm_qseecom_init(struct qcom_scm *scm) { struct platform_device *qseecom_dev; + unsigned long quirks; u32 version; int ret; =20 @@ -2054,7 +2060,7 @@ static int qcom_scm_qseecom_init(struct qcom_scm *scm) =20 dev_info(scm->dev, "qseecom: found qseecom with version 0x%x\n", version); =20 - if (!qcom_scm_qseecom_machine_is_allowed()) { + if (!qcom_scm_qseecom_machine_is_allowed(&quirks)) { dev_info(scm->dev, "qseecom: untested machine, skipping\n"); return 0; } @@ -2063,17 +2069,11 @@ static int qcom_scm_qseecom_init(struct qcom_scm *s= cm) * Set up QSEECOM interface device. All application clients will be * set up and managed by the corresponding driver for it. */ - qseecom_dev =3D platform_device_alloc("qcom_qseecom", -1); - if (!qseecom_dev) - return -ENOMEM; - - qseecom_dev->dev.parent =3D scm->dev; - - ret =3D platform_device_add(qseecom_dev); - if (ret) { - platform_device_put(qseecom_dev); - return ret; - } + qseecom_dev =3D platform_device_register_data(scm->dev, + "qcom_qseecom", -1, + &quirks, sizeof(quirks)); + if (IS_ERR(qseecom_dev)) + return PTR_ERR(qseecom_dev); =20 return devm_add_action_or_reset(scm->dev, qcom_scm_qseecom_free, qseecom_= dev); } --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 C690C21CA07 for ; Tue, 24 Jun 2025 02:14:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731250; cv=none; b=pHlQzS+hPixRoUnaSprLsW1FlJBVS1YNKI3NofPrr4NhUgG3TYOqf/d9yiaxC13xEsKRUucSB0xUpnCUJ/wDRSijWbQA8X03ww0kArJD2NawtLQM74vyCArDzGepc8rSBpldbkRxRXgQbcOhiBi66DK9fjP0EfU7yINfbCzK2dw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731250; c=relaxed/simple; bh=wG551jlH0C2VxSckm5aelE4czzDPVSQlL7LK/7YjW04=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JRyQgSLUWFPncCbTyRlTpccPtg5R3CYf8lTYp7FEFPt2vzZnyjSxLsp0HGWCqLDqP+ctJtxC/FnLGSwlU57JFirqC3i1zQ5+EL0VJR0B/BDU8tEw2nHqrwlroE5bRHDMiVzSvpiKN1C99zpOQO3H4l++sbD3qi9JOnIp18BXcqY= 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=pjdmwOXO; arc=none smtp.client-ip=205.220.180.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="pjdmwOXO" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NKlQ6a008157 for ; Tue, 24 Jun 2025 02:14:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= cvUFSAy9l8jMi9mogfX6vjAbGULsygLy9EYrsovMUQs=; b=pjdmwOXOmVPsTvYX Wx8Schg4YuQH/zvPFHiWsYud922Kza1sKs9PvLHBX3ff7uGQ8v2V69Fk79Oc0+37 SwBpK2gx6ND9SS3jbcakmeahzK3QHNlmSNw4qcbCIt70d9Khslr4e4Dx9l/fMY3G Kd6UKR6eVGyV93+uKd4xqCcxIOAra81gmFd0lbh9i+2nIPrbkCRAdKtApMSEisTR yLDBVP8BYOxTtD3wiKmM5fJGHvmjv1aBn1QayuVt/laImqRysMWnTSrvcd+05M+t VN7d+ixaqmk/ZBQsTRsrThIn2NXXKS/QbZisf8MiNs3pRC9W9qcFR13/dH5WIkXx VO6DSA== 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 47f7ttspvy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:07 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5e2872e57so745956685a.0 for ; Mon, 23 Jun 2025 19:14:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731246; x=1751336046; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cvUFSAy9l8jMi9mogfX6vjAbGULsygLy9EYrsovMUQs=; b=ekpTH8XjdbEBEOTJGJdIN42CjWPLAvsNBR26g3Q39O9jhVhM+4J1ueESAslcF5cC6K ds4z7vyxu+9x8oLqSZXi+pdxdcZiK5bs0L5Ih5Qk+y3TCXtT3RDb4dDFNkRLEbxdQ/0d wOQZYdtnjURIUplaGdR0TvUta+nFjvprqH04adMx2HcQO6ktFiwtutzs3JrrC0LPjhGk /J7+71EAKX9gY4xb2HMqpimJAYP24/444XCw9Pbsja2BBhxOjWDkDPNOsm7oMW0uV7Vf Y0bWCIcu/cklTYaC2YSebtLT1kwig0Xhhp9wg6STW1BWnbfxrAGeBd2dniE2oGLwkGke Lgkw== X-Forwarded-Encrypted: i=1; AJvYcCUvENPR+idFzQr5IZT0QO44DVIs8uvGVZ2fYe8RHTPqqvW6ECnILjdgY3E/4ylXsBIi2KX+M5lZj3SwG9M=@vger.kernel.org X-Gm-Message-State: AOJu0Yyj02WvOf8BvLVhqMat9x7Y3ixuuU1NPZDSzvvisPKg5pOdpkVi Nc3UA5Ph838qpXiJyZ6mWWxrHb55Bi2Ch1lNFa7b7piMAitKuV+6+dXAbUZM60ITGR+gKUNCvKZ zpm+PbD1o/HUsCm6e3nk5+IQbZL/UmCOD8xTIO/kprhpDa7prvj3cFnk+MQFFjl5MbD0= X-Gm-Gg: ASbGncuXBe8++8x3SQbLbUdplbj7/XEewgrVKqGv8REbEVeGcI8UGOKm+F7R92Ym6Sz gft1BwClYYJC+lnnu4ECkyzvGk6cqWIv2qYbcFfY+q7LPKMuiMpI9Dw7HSgy6+XOWmflFPCLtn8 2/z7Ne7PGy+3KON6t1bRa/6w4bbIT14aLdSwJmgs1RIXkWPmH6OJwTkVyDOjb1wfvxCBz1vO0E4 7wjDK4TP/7qeMkCmusdZG97ROkFxnMui33r5klEY1SEoV+z3n5BBEXAR5DDWUqSNePUjb/cwg6/ KqSyRALjvKN2kD5ANmLN4JNdVVAlBpsTym7b7sNEAflu8DPeqMCS8ZeXPMkrTesChF3pIreb/Qd XbqJmq84u4idUqjLgfcCnBp/KWBfIdGXKs04= X-Received: by 2002:a05:620a:2947:b0:7d0:97d6:e94b with SMTP id af79cd13be357-7d3f9935975mr2351199585a.31.1750731246381; Mon, 23 Jun 2025 19:14:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHkXbJittVHOSyXOOLR1ysMuHaAOy9QfdW5AffuasgX73iivo36XMGte8oHvZuzT9Ip0TpTtA== X-Received: by 2002:a05:620a:2947:b0:7d0:97d6:e94b with SMTP id af79cd13be357-7d3f9935975mr2351196685a.31.1750731245967; Mon, 23 Jun 2025 19:14:05 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:04 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:54 +0300 Subject: [PATCH v3 3/8] firmware: qcom: uefisecapp: add support for R/O UEFI vars 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-3-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2869; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=wG551jlH0C2VxSckm5aelE4czzDPVSQlL7LK/7YjW04=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ0YU51MeVrlae4UlrlnnYqbzb/6qnhx8TOdaYcICmbnXL vuwf7vXyWjMwsDIxSArpsjiU9AyNWZTctiHHVPrYQaxMoFMYeDiFICJeL9n/+9jxL3+bqdxJOf3 82b9bDekLtscEFZocS+zqC/6L9v3QYxn35TgxxHVi7a0uIXyOr/tVTP443dSgyVdu+vWF7WEjdk LDsj06Lc8+Sb6QFjiRrzcNPd/EzPfRTxuXMf3q6nBY0eL+1kF+8MLd8Qec1jW+qBH2+bGL/+ab9 90/ee8WHO/PCjX6VifckiR644jxVEH3zax7TZl2hB3adYWnc97Nx4IqO3TZSxy7t9SxH0sYE7a0 S7JPKZ5/161PklOz27bEGGdWnlOsijIz9y3frPxrq9FZrGH/od+ehryMO78RmZn5TmbX/orJoSV rXkQt9x/6dbFz1U3Ky/slucy47q3dGJsZrZy0rxM3y13AA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=QINoRhLL c=1 sm=1 tr=0 ts=685a09ef cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=hoImanld2GFzOgiN87EA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: 2M62LhOgB-SxuFX-pL6znuNLh4gm0OHU X-Proofpoint-GUID: 2M62LhOgB-SxuFX-pL6znuNLh4gm0OHU X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNiBTYWx0ZWRfX4jhvFIq+7Ojm DMeAe3HUF7SCFT7NsoIqfP6Vi3YgPS6AU8ZrsSCvypu2W0KY/kykZ+xQI0ORQV+q/nW5PVkD0vM qHrxQBlm++IINO34YMcqa6r9aSIjkPBxYJoAoZRMVk6qPynTXXMRYRZmpHdf6Zox8OvQFLoqnKA GqGuF7sSjt1UwQ1r+fwC+XMW6WiEs5EK1Y4q8kW1IQ8WEjK/hKxru7yKTU6X21BXBwTTwLvpmes KD9FhAB6v2CBtmhdvNJu22W50lRZ3D1+tlqdMUpP1rS1wdKcMT3dd1aoUz0ha9VttSMxHB/T5p4 /n7wM6e1UTNT4rLQYWq8ZdF5dZCNQzwEvVXnxpKkgSX8agVClZnZi2eYuqeTvQszXkbuc0mqPxg o48J8zgWgzkNkMyUX7USZDMvpi9N9OZdR/wLSuU9lTSixxVGCT0wxgPMeR9ia58d+oArdkp0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 malwarescore=0 adultscore=0 mlxscore=0 clxscore=1015 mlxlogscore=999 bulkscore=0 suspectscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240016 For some platforms (e.g. Lenovo Yoga C630) we don't yet know a way to update variables in the permanent storage. However being able to read the vars is still useful as it allows us to get e.g. RTC offset. Add a quirk for QSEECOM specifying that UEFI variables for this platform should be registered in read-only mode. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/firmware/qcom/qcom_qseecom_uefisecapp.c | 18 +++++++++++++++++- include/linux/firmware/qcom/qcom_qseecom.h | 2 ++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/qcom/qcom_qseecom_uefisecapp.c b/drivers/firm= ware/qcom/qcom_qseecom_uefisecapp.c index 98a463e9774bf04f2deb0f7fa1318bd0d2edfa49..05f700dcb8cf3189f640237ff0e= 045564abb8264 100644 --- a/drivers/firmware/qcom/qcom_qseecom_uefisecapp.c +++ b/drivers/firmware/qcom/qcom_qseecom_uefisecapp.c @@ -792,6 +792,12 @@ static efi_status_t qcuefi_query_variable_info(u32 att= r, u64 *storage_space, u64 return status; } =20 +static const struct efivar_operations qcom_efivars_ro_ops =3D { + .get_variable =3D qcuefi_get_variable, + .get_next_variable =3D qcuefi_get_next_variable, + .query_variable_info =3D qcuefi_query_variable_info, +}; + static const struct efivar_operations qcom_efivar_ops =3D { .get_variable =3D qcuefi_get_variable, .set_variable =3D qcuefi_set_variable, @@ -804,7 +810,9 @@ static const struct efivar_operations qcom_efivar_ops = =3D { static int qcom_uefisecapp_probe(struct auxiliary_device *aux_dev, const struct auxiliary_device_id *aux_dev_id) { + unsigned long *quirks =3D aux_dev->dev.platform_data; struct qcom_tzmem_pool_config pool_config; + const struct efivar_operations *ops; struct qcuefi_client *qcuefi; int status; =20 @@ -829,7 +837,15 @@ static int qcom_uefisecapp_probe(struct auxiliary_devi= ce *aux_dev, if (status) return status; =20 - status =3D efivars_register(&qcuefi->efivars, &qcom_efivar_ops); + if (quirks && + *quirks & QCOM_QSEECOM_QUIRK_RO_UEFIVARS) { + dev_dbg(&aux_dev->dev, "R/O UEFI vars implementation\n"); + ops =3D &qcom_efivars_ro_ops; + } else { + ops =3D &qcom_efivar_ops; + } + + status =3D efivars_register(&qcuefi->efivars, ops); if (status) qcuefi_set_reference(NULL); =20 diff --git a/include/linux/firmware/qcom/qcom_qseecom.h b/include/linux/fir= mware/qcom/qcom_qseecom.h index 3387897bf36843cccd0bd933dd562390bf674b14..8d6d660e854fdb0fabbef10ab5e= e6ff23ad79826 100644 --- a/include/linux/firmware/qcom/qcom_qseecom.h +++ b/include/linux/firmware/qcom/qcom_qseecom.h @@ -51,4 +51,6 @@ static inline int qcom_qseecom_app_send(struct qseecom_cl= ient *client, return qcom_scm_qseecom_app_send(client->app_id, req, req_size, rsp, rsp_= size); } =20 +#define QCOM_QSEECOM_QUIRK_RO_UEFIVARS BIT(0) + #endif /* __QCOM_QSEECOM_H */ --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 111EE22CBF1 for ; Tue, 24 Jun 2025 02:14:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731253; cv=none; b=XmATRMzYj/3MeCbCz+daws5VfOibgP5hS+UJzUHYkMF27sTJdP1DbSyaS6ti1bN1PmHwYz7xg17Wspx+Dp+w6SdWBJfo0OmuqPqLpJE2nJb2gT9TGmXwFQka6fCZUk2biD+OTXkLmHJJSWnZNWnGI79MAdlgXBejBCql4uWDLOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731253; c=relaxed/simple; bh=v3Son85QFIExU23XS9BqES7WnyoRqHF3ETTCsPhCxq4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CXxmHY+LYmCjrxm0C3nyB0FQ0P/UthztwgwyjUJDNzbFrgnDhbH4kSsxvOO2UtNnh/7jBNExwGOKBaFPaGtWnd9STZJOw8WAHg89SnYE+QOrnieJxWqxEcixD20TkgUKAsExRmButPlG61MuJ/rv6uoaa9gHUl2U+Dtksk+JZxs= 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=L+OJCMA2; arc=none smtp.client-ip=205.220.180.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="L+OJCMA2" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NGhqV2021793 for ; Tue, 24 Jun 2025 02:14:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= i5QrZxszEjgpMGIfh5fARAtG0+hpGYQPrZxwwktP520=; b=L+OJCMA2bzzxfTu/ T2KN4PKx4LDls5LRt0MDzBtb9r12kbNertfiuH0viP/9SRgdjA8ThK0GmsRLrAVe 5sZMWHdatnTFxU5icLoFxIPWVOWrJB1ndZIoG3aIlo0XzdK/EWt1LC4/7HbtmBWU jLwvpLdAYodPVa/WQTu0SMvjVTLA2ai6Mo/RRQjsJbeEXQgaz1mIRq93oxAUnGO8 XN/JgF5s9UGqvYwqHt2woHfxL5uK9ngs2a0hN8mfbiLymyI6caO3l9V+HpQ3yqxa hHPtJ9wnHfmuZecBTt/qgXBDpAx9yOqXkfERbbdlVLP9Ape4W/oiIO5/j37bUAVq bBfJow== 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 47f2rptpgj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:10 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7d099c1779dso687967685a.0 for ; Mon, 23 Jun 2025 19:14:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731250; x=1751336050; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i5QrZxszEjgpMGIfh5fARAtG0+hpGYQPrZxwwktP520=; b=oNa34K9+fvgqtYLimyS2tntmU7yg4CSqy4OmNg26tlLHMtc9p0/r9TdXLGnncQPe8W qWQTpJJnr7+fr51qXN0CZbVJmlSxHsLAeKGHr+VKLB9WNBaBwUoAjK76BVEI1tucIR2+ aN6DsrzZgY59glxU1i3A8ec8597fRiOfcdh008kdpaFLD5DTxvOmOpw7AinJN0wywvDJ ugJT8Cd7tlCj6cNQM0SxQrgPC+vykU6ROaoqYem9QAkh5/L+O3l/Ez1c6VL7JZPyt6eW TSVw0Kimjw3uc23WtAjSmjXch3NTpkrGnmX9nj5xyvvh5Ae36iLKhbpr7qLfloUc/xhP hZSw== X-Forwarded-Encrypted: i=1; AJvYcCVDbsb9ZPdzsfScD2W0u5KTWuTsVFGf4f/UsZj2t7lX9PNP6xxZBIuWdODGj8wKKZ2XP1nPd0dX9BlPk3c=@vger.kernel.org X-Gm-Message-State: AOJu0YxMU8PfZOami1p9M2FklS9cE4noskskB7ZGiSafsPh+XUa6B6La x9qblbyqqp9T0KwGUcx2VCtR7bqTcPbd2vZ3Cl8PZ0EH3hOjpU85DWttTzx/pMT4U6vw4F6Rpkc Nxn3RYkXgJok3CIdjvJSdL6cpDTzDxjLZ/7tZStL+658qsEIrPt3bqiJWVc5NyjgFQ9w= X-Gm-Gg: ASbGncvvqeUj9sC5xywwdFnYxqFNErnkDQfhJ+SJovlfG+IA2SJrZFX43bLnUUXXM9F cM42yjKvaewudQn4Ga4odZ0/EEs9YcTjIqDy6N1ZmYqeSEU5ypPSBAAm7pe2udqwuZSXrf/UoDr ml7Xx6kbhk+yBJNSHHDyAytJJAdIypnJ96+xicFkM0hDMC5W6UMvoA9xKQTcoWUxR6Jfxi2JFWS asDK/li0Lw4QyO4pOOg7IRhU8eXpHL4xqryrLM4nQkYI53gAIgLmOjExTOBRk0qndUt0nGmzvhn QNfB/P/yTQ8lbFVLat4cju3EDS6p6Xf2EMBKzPkc68SWwkvY9FIT90gCBFXjdg6q9VSEErfmRBr xC39E7KaQBEG2+tZIXX+nCAHZ4AemHm/Clhg= X-Received: by 2002:a05:620a:1a86:b0:7d3:e710:1d3 with SMTP id af79cd13be357-7d3f98c3369mr2225927985a.7.1750731249956; Mon, 23 Jun 2025 19:14:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEKmXoiRtPNEWmHEBmeQERxK7vDC1NSMXXW/JftGSNVpwOb7nUvzFKFHDL4r99WBj53u5KU3A== X-Received: by 2002:a05:620a:1a86:b0:7d3:e710:1d3 with SMTP id af79cd13be357-7d3f98c3369mr2225925485a.7.1750731249530; Mon, 23 Jun 2025 19:14:09 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:07 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:55 +0300 Subject: [PATCH v3 4/8] firmware: qcom: enable QSEECOM on Lenovo Yoga C630 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-4-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1983; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=v3Son85QFIExU23XS9BqES7WnyoRqHF3ETTCsPhCxq4=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWgnm3R9FHErq2BcU8gbUjr0GQ+28hQ1zTQF2F 7xwmaXb9xyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFoJ5gAKCRCLPIo+Aiko 1eKrB/94cDUgCnfyhIrD3o/4vYyVA6SWxvaGs1Y0Qpy5Nel7viljJpaPK9rV2HF0DYE/Hk5yHjP E6ssnHmeaqqYEN9y2L0MkmW58T5Zy2PP9V9lFhK5M1t9uHOd9JuNGgb7bK7R+5tDpiI07Vf6j3y qg1JZ/riJqhUQkm1m/JUo9jGbNGd0cWlpOXOyp3LLNd2g6DrAtyGjb/wtEeTyizJ33y3E0YfLYA v+MNANaqIwSI9pj1uANbqb9zvgUFyCS1pMrSnkxyvWD4U/JKBzHOaYVdBL4rku9ynEOL3gkBeAj 7Fx/tf0R8J7cPqTv0qTuBwWKUaVPY4RnRJj5Pisaspm/7p1e X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=NdDm13D4 c=1 sm=1 tr=0 ts=685a09f2 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=WOWBbpsv7UBti09GJWYA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfX+wk94GvDtmBN TvlS4xJj+A7Vy6p/ZHL2raXw4xDs+5D1PpkWRG6DiOQaac4kJTs+zqHCh+fOXJxwoHxSDclA7ZK BZx/CA/ao2xOp92r14hmm6wGQ66sLLerQonzE/l6V0pOUZNA73iSCl3ChEXlYetyDCUgjBGrZVn 0yzK2rRH7SrZpuTEoWNJIKHV4vwsxc0OouUPN3ynr2YTv0MJMrwO0KmVb7WAoVnawRVBCtu2OE7 fu7NNKH1ebR+ehJXHftSmpvpZvvELPtt2DZLVIjXnrOppR0ZMFDNAsah5oAtA6xHaO0H6PWW53n PCbyTVhVZttakABfksfstAp2kQOOcKPb2x8MLU6UW0Srk9yJQzeSF6++1paQQjJL3FM018OGLY7 H1P8ZUKFFATem9niAoWpDW9tz4wzjaJ/YVhlyzCvO0LXIxsnoFAQiLA/5X8HjeaU2PFbqPuz X-Proofpoint-ORIG-GUID: q7iGOvXC9TiN1FotwHpwLCqXwCcqCqGG X-Proofpoint-GUID: q7iGOvXC9TiN1FotwHpwLCqXwCcqCqGG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=999 adultscore=0 clxscore=1015 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 QSEECOM driver end UEFI vars access works on the Lenovo Yoga C630. This platform has only one storage (UFS) shared between Linux and SecureOS world, uefisecapp can not update variables directly. It requires some additional steps in order to update variables, which are not yet reverse engineered. Enable the QSEECOM device on that laptop and set up a quirk, making UEFI vars read-only. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_scm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index fc2ed02dbd30b389b5058f5cac70c184df7ca873..dbb77c3f69ddaa931e7faa73911= 207a83634bda1 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -1980,6 +1981,8 @@ int qcom_scm_qseecom_app_send(u32 app_id, void *req, = size_t req_size, } EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send); =20 +static unsigned long qcom_qseecom_ro_uefi =3D QCOM_QSEECOM_QUIRK_RO_UEFIVA= RS; + /* * We do not yet support re-entrant calls via the qseecom interface. To pr= event + any potential issues with this, only allow validated machines for now. @@ -1995,6 +1998,7 @@ static const struct of_device_id qcom_scm_qseecom_all= owlist[] __maybe_unused =3D { { .compatible =3D "lenovo,flex-5g" }, { .compatible =3D "lenovo,thinkpad-t14s" }, { .compatible =3D "lenovo,thinkpad-x13s", }, + { .compatible =3D "lenovo,yoga-c630", .data =3D &qcom_qseecom_ro_uefi, }, { .compatible =3D "lenovo,yoga-slim7x" }, { .compatible =3D "microsoft,arcata", }, { .compatible =3D "microsoft,blackrock" }, --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 25226231CB0 for ; Tue, 24 Jun 2025 02:14:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731255; cv=none; b=B7WcGdFytlzZJ08Vvkn7dagzAvOlk/H1UmCn+mAsz/B2ATPTIur76sBzNmzA4QH9ui5jumdCIqtlyb0Oc2YF01o4OCmAhJhcRsQXF1EvdC1FACZd+rr9unuruuYAtVPRqdhkneUzrXpblTdE1z443ChBvO2fvwhvCBq1o8jGQQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731255; c=relaxed/simple; bh=W0YLJNz5/2SAiapxbVHEzsfqeAiPqnoxKuIVDr0TVNM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=F6Rpoz3okKBviDM6eRGImZpVWOczGzvaU5ISNQjWIP1NQtqkS37B0SvUmTBpWm5zubFtyF+mgR8u2vKNtYaRm/4fgxTMD/b+rFXpTFQqcPsvJhKs+jjtJ5FlvOKlcNHMOM6/CF7ukYVL8PkLCINUHzXxiF4teL4cCqzHsDlz3ds= 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=BrGSRHkJ; arc=none smtp.client-ip=205.220.180.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="BrGSRHkJ" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NKlpnB022985 for ; Tue, 24 Jun 2025 02:14:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 3PYGYwAigTe4Xg8FBE8LvVKj2tXUXuFCqznUuXtFksk=; b=BrGSRHkJ+ZVhmIaU VvgViOfBXB/1beYYf7lneNmkHpG5f0ibRiCfjd85pqXZ0pJ/YdZ6W+4JMZ1PwHJW WhDCkkgWslGfbdaK1kEwOkxBXv9pkw7pFJMOtovb01PfvP1Sgl9H+cxBEvBT0mii b6HA6A8tj/OPe/8RtUWYJ3+pDT8wVPaOpbqP+5vAw2zaRn3EX0Ym4iyh6H4DcHlN kJSfT9IoGdkUyqmYXDbb0VgiNrijVqKfbV7Ec55FW+LFJg6fyEaYMr85t3rpRfzo +OsH7u/XvsyRbj+tHyo7t3SCgvMev6SD44czfjWYPcdwQdIx+6reLfsTCwD/kOCk 6/0nkQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47f3bgahdw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:13 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7d15c975968so745147685a.2 for ; Mon, 23 Jun 2025 19:14:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731252; x=1751336052; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3PYGYwAigTe4Xg8FBE8LvVKj2tXUXuFCqznUuXtFksk=; b=cNXh6Vn3VdQHUKIBybd8DOErkguaK/xBnBHF38ET+F0n1nBExF9ip4aJFzUEGUOfA/ kPcBvprvhT62Doeeloi9V6J60vlS2pWV6s2GBGQk2/7N9hBlHdXX9CPMj9GQxGULkGk3 uNNFgJ3Q2Vpusl6P4oiZIbAp0utcb/fOumnOgGa4qLmoBoxlxjHgtbjrEwW5H7D+W9sy b5Z0+mUjttkTndPx+Q9Sj9szkqQUsw/wxB5tIh0UMNETrKN7YVeW3SksJBMQcLXkUzxM bN0uvRwpVcGGm1cHrd4u1UbWtVaDWX5viOKWdhOgtABAmECrc+Usz2I/oBerdGQ0OOgc yhIg== X-Forwarded-Encrypted: i=1; AJvYcCW7TwkfjUOxH7GPXiYkxlYVV9jfmxywxXRMiuRo2nvAKYrzcyYDr38NlALtHk6FuDqQp4rbSulfqBlj6s4=@vger.kernel.org X-Gm-Message-State: AOJu0Yylho77iuPsLi8qLRsfk1BGgRZmcqSOcbYYfAQuijZ7MzYp+GzJ ZFETDs1rntiwScuEBr81eIGnV1jsLZbQMDmHuSBMSzwcmoB5h7TkIBrMOy/Bps7ePJ0Z38YgEqC Kit8/NZc3UfKeVPnTQw/9cTGi8Y12xYVeZPL42gCWuVm778JTF3pnVwLcCreKQZpKq7s= X-Gm-Gg: ASbGncuvY4+3X7l+eiE/CnNe5QEe7R4pWKFw2ATrlor4FWmRnxZ1zXeAtlQ/aoV2YLP 9Os3zllYT2R9vFXynk06rN1G+rSzGqbGXI1pSpVMwS032OV5c5dQbOcsxHGBInA/jPx3fcaF1+8 8kwomXOy1URyG3tn0+jX4PZpncrS0U0ST6DEsjNleSch2obmshwx/4ZkKnYBv/ck9Jrts0I5KAd PksYJnNO0tlT+zf0KtVAPlwQ/2OGdYa9+sWhzU0k/f2wO1A6jYBFP5/c5IAvsOxZQCXQHdejH6K frCwSdirRMzpCLwcVe39LaKYcoImL3Qz7gQOx6Lilpji/0WJjApMoqpc/3PzJ1Ed6iFkyaFvgRs +wCvGCVilyhrGiqEKFUSSho5R9Ly338D+6B8= X-Received: by 2002:a05:620a:4144:b0:7d3:b3e1:af51 with SMTP id af79cd13be357-7d3f99369e0mr1998466985a.29.1750731252354; Mon, 23 Jun 2025 19:14:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHT/ySO9NQqMHT/LWZy4N2MmWqYkkmw6tiI4yElX8MxWZ75E2UpHJaJIjsjDu3cbO89+VOoCg== X-Received: by 2002:a05:620a:4144:b0:7d3:b3e1:af51 with SMTP id af79cd13be357-7d3f99369e0mr1998465885a.29.1750731251969; Mon, 23 Jun 2025 19:14:11 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:11 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:56 +0300 Subject: [PATCH v3 5/8] firmware; qcom: scm: enable QSEECOM on SC8280XP CRD 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-5-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1087; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=W0YLJNz5/2SAiapxbVHEzsfqeAiPqnoxKuIVDr0TVNM=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWgnmzxRFX3uMqrpeWnKCOEbYAqwAQm0shNR9N YZQHH4LNxWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFoJ5gAKCRCLPIo+Aiko 1fBVB/91ODQjaD57ly/5cNAYMElD9ll89OMq6NlKN0qrBbfuJ1bY2gy3jhxt9N4S5WyZRXMD/ML l9qXjPgucZH/DwUrA8oZeucUpf838fm3Ya5R/x0OeFLa3Tc0EGL5ApEeJmoShPuAebi9qaS+BuE lqxglI85n5Y3eVwKRPOkhCGNLgiSF1ZcXG9tPiW2ViY9j69ECG7Jrb/SJNOeQj54kXg4RN+XzUu yAUtaxRNLgETNHQS8NGTXaeBenNw91u5ZlyfemMtyHXlrgqDRB4xk4b8YkC8/+We1HguJLg0Nns qdNl29k53TzYzO0sHg1U1r/mxlQ5nS14SZmFXbaNSBikfI3c X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Tz2MGCmIwYMYfYuwkQ-xmpigludXmI_4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfX7/M1OKiYgg8/ 46N0a3SXFTJ8JIy8wgPWL4pLjQBtE6+sWZscS9UeLZCgX1/osWcn0NYeR8ZRLz29ch6ntRc4jKJ J6Rq6QfxkyyeDnK7xJYfXIatyOSXmpZ7GXpZFw1WydQLDiualUHtjPr9CbW62u//g/4gI1Kj1fM 2QQ57lW2Bg0tamprmgo5HgPE86yJJ/NKpeS2gR7a1Q02F15ODiMpojDtKlOv4T1zZPgmDGNAXr0 p7Nj0dHAuJtcOWmxiEz2smRWfxA36dAwWtwmB+dIHoLQkXNCwQ8NFP3D7OztIvTsxQhaZvNTCJL 4qqvMbKRwD03Egh6edyNGDJ6UNTNTazmYuByYeriBsHcFe/IxleZSLxQ5GS3RSHiBu/qqqQV1r/ Yst4l1fgo9rJyLGrEZmVk0sBoTVnkDebBUrpns2FodbSqx3yBgCg81eXbiJFjlc7YDe1HNEe X-Authority-Analysis: v=2.4 cv=L4kdQ/T8 c=1 sm=1 tr=0 ts=685a09f5 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=GpPnMnrImHjYsJApwW0A:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: Tz2MGCmIwYMYfYuwkQ-xmpigludXmI_4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 bulkscore=0 clxscore=1015 suspectscore=0 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 spamscore=0 phishscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 As reported by Johan, this platform also doesn't currently support updating of the UEFI variables. In preparation to reworking match list for QSEECOM mark this platform as supporting QSEECOM with R/O UEFI variables. Signed-off-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_scm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index dbb77c3f69ddaa931e7faa73911207a83634bda1..27ef2497089e11b5a902d949de2= e16b7443a2ca4 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -2005,6 +2005,7 @@ static const struct of_device_id qcom_scm_qseecom_all= owlist[] __maybe_unused =3D { { .compatible =3D "microsoft,romulus13", }, { .compatible =3D "microsoft,romulus15", }, { .compatible =3D "qcom,sc8180x-primus" }, + { .compatible =3D "qcom,sc8280xp-crd", .data =3D &qcom_qseecom_ro_uefi, }, { .compatible =3D "qcom,x1e001de-devkit" }, { .compatible =3D "qcom,x1e80100-crd" }, { .compatible =3D "qcom,x1e80100-qcp" }, --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 DEE5823315A for ; Tue, 24 Jun 2025 02:14:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731258; cv=none; b=WWtclOm/3OM5rgQ0qKSjHAfcsQ4qJ3KnUZgUN4faE/47sIvDVpQ1YpLr2Wefy+EWavpR6A0ljCGXYK505a3DRwvhw5qMTo5+92trQt7U0FkVmXVf7udN7xOSnBD3upv/IXw5Tqhw+hjDAxPDMX20g9VrCU+ZuEqcepkBc6kI5Uw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731258; c=relaxed/simple; bh=s2o+RnAnwuuTYdNz0c1fk/UXp0JDkRHvl3NhwSnxORg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sxwpqaFYh02jS3uPSYojlQ+O3IcDbDs9t4pLtlk4fek0maI1zolsg1rzDJbOqNECV44IE7jjtdRAY954iBQ3KzPcBlm1ZasxSi60ic2xTuNOR42Gcv02tKaZI2SUG8Afw4st9P1ZDkv0D2uY9PpJVYsu36IL8nYkAOUA/gTMx7w= 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=mTbTcNjo; arc=none smtp.client-ip=205.220.180.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="mTbTcNjo" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NKlEpi021903 for ; Tue, 24 Jun 2025 02:14:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= rXsS7jxuGefUn2n4a2PcfVZg4ooOKFqRyiTGh+plE6Q=; b=mTbTcNjoFIMpupY3 M9nf6M0iO7jrbBzOGCTzmv3I2kNdXddeHZRe0dd0S5f+z8qnJv1CHG0J8AoxAZk7 IOrfelL6P9VYacCnzrgEJgoXHNMv60fcBq+41/cSO47ZY6TS8TcW/FkmPBPfEErX kVaX4UR9oF/IDnupDcV3/1+gtp+UheDaCCwSjESMwRiDOY2DrEJHP6R8r4wMgNrw N+lqT1YympUowDsgf7W9iGveMmU5bISNygHLS0U9i9vV5K7nN4e4j1zXhXUSNgEn 3tvuiPf8En5fSQZmNmtewgJaiGNpuqB8HZU/eaMW/NOaiXxSn17UROsd53gXvhFs M7DviA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47f3bgahe5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:15 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7d15c975968so745153185a.2 for ; Mon, 23 Jun 2025 19:14:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731255; x=1751336055; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rXsS7jxuGefUn2n4a2PcfVZg4ooOKFqRyiTGh+plE6Q=; b=t8Cd8JZWrvdGCjRInASNTw+NA9HHXc7susIRz1eIob63AKI+a5EY7gORsNBXaInT7M 0koZNS8QeR7B1WHLPDTQUaSwzAA3vFVGN+nNXvztSQpzAlwpR1b0K0U17/D3W4HOpT3J 9rgQ858xT52dKL14CPASSllI+fiMwmYV8+jtZLI8d7kTvHmGVOwUfieMXCIowETCoak0 H7FloMEJ8+jEQYKp49rjfL9iF5mIF39VVHBbXfbuj+oCxKe+24eUXdPmyckkClFtvADp /6Xxh8AqCgnRnQtJwnO6MdnB8s6bpA1RI4SwXwBiaI/fqmEivWXYBilXh2Q4N+UFKTdV agcA== X-Forwarded-Encrypted: i=1; AJvYcCUjRP+ZTl4+26hJNzzZ1rlr8MsF50M2kKlToY05Umje8thJEXBd+koaJpwNON5djI2vbxXWtE+MoK7ndxM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1PCdai63q+6HFRQR4o2YDox1srAFLB9V60J9Gf4C9K6bo19+8 YGIVK8LN9jopYkkXEZ1NVZy6RMKiLiT2bwUoRnfVc/KdNWFSe1xhBN6BxyvlKPTpqY8iNQajxyJ aYalDnL+zdlPz6JKv/kAxjJsj9uYmFPa1XchNLckpFqcditneUSpSjtQPOhiGg0ayiEE= X-Gm-Gg: ASbGncvwlivTEST8sU3x3mfBLSywUUWrDb0t8w0uG2bVO4EkVTUO3VVxGzgn0KzXg08 v4EZUe/R0tc9GjUKlH7YDD5PJTclUmIYUf9ncxrzwiHXBcKazYC/8F5/RIP3wLSBuusvsqeRRx2 aeDTHMKokJYk1qoH9r8nOwHx07EpaRSdekrDHybOhxxtTtC5astyc6bI7S/tHRNO3luv7/xfJkb f6Oa2YfeyDitZVflX6E2OxiwSIJqV98V1Kjyu1gpANE1L32NdOk4+jpclLPxtcSThAZF8RhuDj8 Kxht3qwqVS1M72MB4SsbeDD+jPPa2Oj5F6ShsAfOwvL/ikrqnCkiVtGuG3HJeeqrfo89hTSSAsC 6T/0pN3raM9AB2RgOQH7GYc5p/dGDtgHUmTQ= X-Received: by 2002:a05:620a:1922:b0:7cd:331d:bb3e with SMTP id af79cd13be357-7d3f9935e7emr2022905085a.32.1750731254935; Mon, 23 Jun 2025 19:14:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHPRQEcxIl/1tKf9CY1/kqMs19qtzRY7gdh2XwyltdEkmnKpY5wXHxxDtB4ZK5neoLM+qrbsg== X-Received: by 2002:a05:620a:1922:b0:7cd:331d:bb3e with SMTP id af79cd13be357-7d3f9935e7emr2022901985a.32.1750731254441; Mon, 23 Jun 2025 19:14:14 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:12 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:57 +0300 Subject: [PATCH v3 6/8] firmware: qcom: scm: add modparam to control QSEECOM enablement 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-6-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org, Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3235; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=l/2vDz7zeLnp6OwntquJZV6YAtUYQ1dSv5z/W2j9Xfw=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ0YU57MOZyPTF/dlmU/ODlc/cNRYcel5y538c/YknT9vr KZ4qP5cJ6MxCwMjF4OsmCKLT0HL1JhNyWEfdkythxnEygQyhYGLUwAmMp+N/Z+NbJ3txjX7GioD /sdFlzMbu/ieiEotK///rsihPOJijY/1k4+bL22pOzPdPkiM629qs5+N0VG7X2tSfUulSiPflqZ l7tml6dJ9Pn+Hw/IeuSOn+H79nNe0ZEbNWen5n+/GKUcEJi0X/JI+J65Ecb4ot0yh4AH7om8MtU FLD0yNbcuQ3OVw/OSG8ss3Dbse90spqpXvPqpZsJl54b7bTpXSonahWyZ9Yr7Tk9fNl/M8vU1a4 TVzTVb+f6bLM9Y3bUyV1I3eU51z1b/0v873JzHz/t/VSBSU2NTxYbXVtB/3/qlMaS1hWcYgv7lb Uu6nROf8g5y5jA+N2ZSKU/WvfTy1k7m34nP1nQsHFNIcAQ== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: YqctLOr_V-8fnbX2wCgUY6JtapsBnf-b X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfXy2xTmckjN/F6 50skZjPIYtH+VJvHFE8PQVjqsOZGOBAGemN7F17Cp8icW3F7IfFYG8tPm/YYrFs3AVhubiWhABs 0suLDVcXVolI9piujnsF+bB/+/bkXQDMr3p7RIcfbS4IKjqOE8zejI5+Q7fId9MG0mAxZ7348fs OuOb5X8ZMe5os8Nk2xzGKPKhMNK3kDT+d5HY/AdFk8EoiGnvTLKEnygI+uKcewCK7DfVxONA7Lq EzioO1N25uAxgg96qKgKKOlMBEpToQHSv2FX40uelyhMK2aybbZ3C5vNkQG3x1oWa+zUC8NzeJV cXJEQ53u+WE9IOSXA5QzJv/IfM8J6cb0oYvkWDPzIbJueFseQtzJZdBchluNNq2104zhKrZSbpt ik1PmKkKCw894QOLOH1p3r6xstyfUjLVAk8wjKtG6RiI8sjyByedtf65XG4APWeXAWj08KOR X-Authority-Analysis: v=2.4 cv=L4kdQ/T8 c=1 sm=1 tr=0 ts=685a09f7 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=JMKUWE_9wimnfyHsXasA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: YqctLOr_V-8fnbX2wCgUY6JtapsBnf-b X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 bulkscore=0 clxscore=1015 suspectscore=0 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 spamscore=0 phishscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 From: Dmitry Baryshkov In preparation to enabling QSEECOM for the platforms rather than individual machines provide a mechanism for the user to override default selection. Allow users to use qcom_scm.qseecom modparam. Setting it to 'force' will enable QSEECOM even if it disabled or not handled by the allowlist. Setting it to 'off' will forcibly disable the QSEECOM interface, allowing incompatible machines to function. Setting it to 'roefivars' will enable the QSEECOM interface, making UEFI variables read-only. All other values mean 'auto', trusting the allowlist in the module. Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/firmware/qcom/qcom_scm.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index 27ef2497089e11b5a902d949de2e16b7443a2ca4..5bf59eba2a863ba16e59df7fa2d= e1c50b0a218d0 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -1983,9 +1983,14 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send); =20 static unsigned long qcom_qseecom_ro_uefi =3D QCOM_QSEECOM_QUIRK_RO_UEFIVA= RS; =20 +static char *qseecom =3D "auto"; +MODULE_PARM_DESC(qseecom, "Enable QSEECOM interface (force | roefivars | o= ff | auto)"); +module_param(qseecom, charp, 0); + /* * We do not yet support re-entrant calls via the qseecom interface. To pr= event - + any potential issues with this, only allow validated machines for now. + * any potential issues with this, only allow validated machines for now. = Users + * still can manually enable or disable it via the qcom_scm.qseecom modpar= am. */ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unus= ed =3D { { .compatible =3D "asus,vivobook-s15" }, @@ -2013,11 +2018,27 @@ static const struct of_device_id qcom_scm_qseecom_a= llowlist[] __maybe_unused =3D { { } }; =20 -static bool qcom_scm_qseecom_machine_is_allowed(unsigned long *quirks) +static bool qcom_scm_qseecom_machine_is_allowed(struct device *scm_dev, + unsigned long *quirks) { const struct of_device_id *match; struct device_node *np; =20 + if (!strcmp(qseecom, "off")) { + dev_info(scm_dev, "qseecom: disabled by modparam\n"); + return false; + } else if (!strcmp(qseecom, "force")) { + dev_info(scm_dev, "qseecom: forcibly enabled\n"); + *quirks =3D 0; + return true; + } else if (!strcmp(qseecom, "roefivars")) { + dev_info(scm_dev, "qseecom: enabling with R/O UEFI variables\n"); + *quirks =3D QCOM_QSEECOM_QUIRK_RO_UEFIVARS; + return true; + } else if (strcmp(qseecom, "auto")) { + dev_warn(scm_dev, "qseecom: invalid value for the modparam, ignoring\n"); + } + np =3D of_find_node_by_path("/"); if (!np) return false; @@ -2065,7 +2086,7 @@ static int qcom_scm_qseecom_init(struct qcom_scm *scm) =20 dev_info(scm->dev, "qseecom: found qseecom with version 0x%x\n", version); =20 - if (!qcom_scm_qseecom_machine_is_allowed(&quirks)) { + if (!qcom_scm_qseecom_machine_is_allowed(scm->dev, &quirks)) { dev_info(scm->dev, "qseecom: untested machine, skipping\n"); return 0; } --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 9949023AE93 for ; Tue, 24 Jun 2025 02:14:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731260; cv=none; b=WBLTMeG7ttmgBkWy2C7AhngIx9lH3/xwVJpEKecI2Agl5BbV9AnDt0tTf5EhxKeoFeAn58PJzMreL6PMx/55wleue3tpNZgRcm1KgbbtObdCvIf54Jlb1xPZk3u3GcsoNWC7+mBNNVwN1uecF+W0M+XlI4sOZo/vlt4tmzq7iiw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731260; c=relaxed/simple; bh=/NIXeaLJW7ceni+zMV2gP7uWevC/GndSzaHOxcNpLVY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AqZuV7zYAYcRS31smaKAmdhPHrOaqJzkNbt3zX+RPWgSGODiuwaxI5Rv5tov3xM4GW9EU7n1E4ulHHest+OHzJx+uWJxanxW3Wz5E67pNayFNReF4LfOEgcxFfxWL3rdQLLgURmReK/0d6brhEU1C2QeRRRo81P47tGc4gBmPhA= 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=Rnr5ft7I; arc=none smtp.client-ip=205.220.180.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="Rnr5ft7I" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NHUZVw005903 for ; Tue, 24 Jun 2025 02:14:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= KSsmFRYtKsy8tt0rPP75MYEWkXOKJnB/cMl7H48cmto=; b=Rnr5ft7IFX0ovfPY s3511GrfBjxXoVRYpTCCC70sOz7k3eNN31iMx9MVVZVw0VdQkYmfrVY5pJ5wrLkr D0CRx9pBsJU8ESC6TYN8sFayB2q5+9TSPZiJZpDp0+/f2jVHU2rXvvk2m9DctmNH egBkxVUsK+9o5zrJnFM1oCJVDjuXUQXAlL0Ab/VYQvvWHFVfp1ES5zoxhPbdQzhf R6z/95Lk6MgdB/qXRUQIjd0GS+v8imIxDBwVHYD+PhkFqTMzXP+xnjLooN7TYWxU ajKNmDpD2hUqCj8OqC7Jy4vdi/xLn0d8IOEVdGNlIxJ75p2+U7ZRqngpjNj9x0tk p0OCxg== 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 47f3bgahe8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:17 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7d09ed509aaso707900685a.3 for ; Mon, 23 Jun 2025 19:14:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731257; x=1751336057; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KSsmFRYtKsy8tt0rPP75MYEWkXOKJnB/cMl7H48cmto=; b=DebqklGF/S5im0Myle9QZq3PxquMPUDbnIQdlhhCQtRoapOsRgfh5SMwsnQbP6R9E8 Cf5X7gUpJXW3I+h3PKOpbiZ3EUlx0Wvy7nLsOg5RuGrwCCsq+uFdBGSjVyJqoTdAjGdf EGqgYcevcqXhyGQgctZKU35IYNd+jNQ8T7PKYv230d/2M9xHOjpUUIrp6XZVmDG2JR5h kJZKNu59MROkKp1QqXREJn74dzna0Z35EYu0srluvKKiJ1ffu/d3TOssz8qW9DVPZK5U /72/EvFNgsYACnrotN4ViD/cq1gazEp1yPVdjaqaYSQXtI/5gAMxyzxpufGug9ciKfSU vyMQ== X-Forwarded-Encrypted: i=1; AJvYcCUIatrSn89DKefklw4vNIQWY6hJ0hTajw6kCSge4qQhjv4r1cXjHo5eBvOqmrnvPWAxsJAzWA3jgKth4dM=@vger.kernel.org X-Gm-Message-State: AOJu0YyXdZZc+EpMd/iqtPIqynkx48xFaxYc6a3f57NbuVgrW1Ei2z+s hClao4DWjV5nheaJNZVWngUVW/6yqs2JMmWXTsk4WI2Zd3rzt6dmW4iVgXNfD7U3cZ3rmAWFQ4u HSEjSwvsiVsPVxARzzv6GyI/ULioUe6/bfNV/EKCzP7VLNYrPRtHxYdh0qzB1AH2B48Y= X-Gm-Gg: ASbGnculplDfff+T8kBu0FHk1in2XKZaWJHoQiX6NqC6gtkpqUEZJH6Ekgq7GJ8HjBx YJH7ip8yxRO43JWpaEZ80OGQhsBdj48AYfbgsWPbk5McPhjeS1T55X3kFdGavRDJBHxDLjyNlMT JhARaruYVTGYopw89G1qYz6UBnOdDrgIbpG2foDrPAby0bXBjd9RuX/LCvVCqDIKBVFDsI/I6vE 6Q43MvbxJrbmJUx6aZaEI+P9TwiNBWBgvl2yE8th9rvJBp4Ew5gieAlYu8oI98uBoUlmHswd+XT zyz+MNqxwIi/746kLA8lXN3PbKQY9cMCP8xarvp0KH2IBRx8heYQts2mlwDDN1oYBstk81oyjD/ 6VB2hkvPUYb9arKEO8hcFb7cvwiXwbDY2+xs= X-Received: by 2002:a05:620a:3184:b0:7d3:9108:2f5e with SMTP id af79cd13be357-7d3f9955eb1mr2175621385a.58.1750731256660; Mon, 23 Jun 2025 19:14:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEvPGKzqq/ERq9Ab3y+s9Q0WOIWW1WDVFqtOrmONNECLpS3Se/wffNwM0S269x7P5cnh7UfQ== X-Received: by 2002:a05:620a:3184:b0:7d3:9108:2f5e with SMTP id af79cd13be357-7d3f9955eb1mr2175619385a.58.1750731256204; Mon, 23 Jun 2025 19:14:16 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:14 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:58 +0300 Subject: [PATCH v3 7/8] firmware: qcom: scm: rework QSEECOM allowlist 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-7-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org, Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4862; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=WYHsAMervqm5DoLC3yRi7Ntut5budPkixZWiTgVfZ9k=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ0YU57OPQU7Lk6fcrjl0ptDxvHvjFHeeN1GHLPQz0sQ3S n/m/MbWyWjMwsDIxSArpsjiU9AyNWZTctiHHVPrYQaxMoFMYeDiFICJREqw/y8r9urNq1K89bSr kmv79YKERREzp3846ag1399uceyOqJNXtrJuq+xoPNuzqHPND2ON/uV5jknuvWqzY4PW6DNpF6+ We+Te1ygSVrbgiZ/RIzne0ju7pL7wtXdr/M/ct9bBsVXS4cqH8gALJ6WJLvI6pfsc2Z0Vj6ouX3 Bza/Deq6uL7FKMF20VemOxe7mT8estqZKvHCTVp626dt+lgU3F4IHhF9XM5+ximZ2yyc833VJUY N4nphLzM7gzL+lv+umIuz8nSsQUlXCWrDjPefRXu9EZpz0Xrxl2zOZbf7hpX1iefaX617JVyxW/ Ov4tiQlkC4uPkjf9s1FwYTl3VZpaebatxN75JyNEGBQA X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: GOQDvmE33GoRRzcaGWnDimfiRn5RXCKw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfXzrj8m3g08u65 33jv87ExyiCSt4hiQRU4b/z26jT+AdZxoG3bqazV82V4Z3COVyQrVApM2KKVL/OzmxtPevv+zvF rUYM+Z6UcRKD12qotwKtxUcYb98KVObNtxRbsOJ3y9x0E2gEiIlHK2UO3hAL8bpdvOrVilQXJq9 YvVmnh5THLPVbH+XV7fLzlEcalSJVcxfMcdcuRyCANqiIuA+jaKxOlYmPQRChAorC5jpASQ+Qzy bbjwhkrbtG4i84AtgKZkZBqturEkBrm0IM9laTnFVtNAvr+4UmaB4SMSAV8XC4Rvfy3id8XDX+Y 64D2OT17eKkfTYUq6DR8hGf93grDclukcBBhcuofNppD525LO3FAlN0i/x9zDpD67ZWo+A7Uwr8 BSO05ME6qUjPI5BXuLSIkZoXHcnyA1MlSCngMXExqcVfQssm8l1maNvsFrYHh0P/nCavKebz X-Authority-Analysis: v=2.4 cv=L4kdQ/T8 c=1 sm=1 tr=0 ts=685a09f9 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=-DwM1zgTEUuOfulMvEAA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: GOQDvmE33GoRRzcaGWnDimfiRn5RXCKw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 bulkscore=0 clxscore=1015 suspectscore=0 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 spamscore=0 phishscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 From: Dmitry Baryshkov Listing individual machines in qcom_scm_qseecom_allowlist doesn't scale. Allow it to function as allow and disallow list at the same time by the means of the match->data and list the SoC families instead of devices. In case a particular device has buggy or incompatible firmware user still can disable QSEECOM by specifying qcom_scm.qseecom=3Doff kernel param and (in the longer term) adding machine-specific entry to the qcom_scm_qseecom_allowlist table. Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_scm.c | 49 ++++++++++++++------------= ---- include/linux/firmware/qcom/qcom_qseecom.h | 1 + 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index 5bf59eba2a863ba16e59df7fa2de1c50b0a218d0..49dcb30311f9c5eae697317ec6f= 32ac73d81314a 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -1981,6 +1981,7 @@ int qcom_scm_qseecom_app_send(u32 app_id, void *req, = size_t req_size, } EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send); =20 +static unsigned long qcom_qseecom_disable =3D QCOM_QSEECOM_QUIRK_DISABLE; static unsigned long qcom_qseecom_ro_uefi =3D QCOM_QSEECOM_QUIRK_RO_UEFIVA= RS; =20 static char *qseecom =3D "auto"; @@ -1989,32 +1990,20 @@ module_param(qseecom, charp, 0); =20 /* * We do not yet support re-entrant calls via the qseecom interface. To pr= event - * any potential issues with this, only allow validated machines for now. = Users + * any potential issues with this, only allow validated platforms for now.= Users * still can manually enable or disable it via the qcom_scm.qseecom modpar= am. + * + * To disable QSEECOM for a particular machine, add compatible entry and s= et + * data to (void *)false. */ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unus= ed =3D { - { .compatible =3D "asus,vivobook-s15" }, - { .compatible =3D "asus,zenbook-a14-ux3407qa" }, - { .compatible =3D "asus,zenbook-a14-ux3407ra" }, - { .compatible =3D "dell,xps13-9345" }, - { .compatible =3D "hp,elitebook-ultra-g1q" }, - { .compatible =3D "hp,omnibook-x14" }, - { .compatible =3D "huawei,gaokun3" }, - { .compatible =3D "lenovo,flex-5g" }, - { .compatible =3D "lenovo,thinkpad-t14s" }, - { .compatible =3D "lenovo,thinkpad-x13s", }, { .compatible =3D "lenovo,yoga-c630", .data =3D &qcom_qseecom_ro_uefi, }, - { .compatible =3D "lenovo,yoga-slim7x" }, - { .compatible =3D "microsoft,arcata", }, - { .compatible =3D "microsoft,blackrock" }, - { .compatible =3D "microsoft,romulus13", }, - { .compatible =3D "microsoft,romulus15", }, - { .compatible =3D "qcom,sc8180x-primus" }, + { .compatible =3D "qcom,sc8180x", }, + { .compatible =3D "qcom,sc8280xp", }, { .compatible =3D "qcom,sc8280xp-crd", .data =3D &qcom_qseecom_ro_uefi, }, - { .compatible =3D "qcom,x1e001de-devkit" }, - { .compatible =3D "qcom,x1e80100-crd" }, - { .compatible =3D "qcom,x1e80100-qcp" }, - { .compatible =3D "qcom,x1p42100-crd" }, + { .compatible =3D "qcom,sdm845", .data =3D &qcom_qseecom_disable, }, + { .compatible =3D "qcom,x1e80100", }, + { .compatible =3D "qcom,x1p42100", }, { } }; =20 @@ -2046,12 +2035,22 @@ static bool qcom_scm_qseecom_machine_is_allowed(str= uct device *scm_dev, match =3D of_match_node(qcom_scm_qseecom_allowlist, np); of_node_put(np); =20 - if (match && match->data) + if (!match) { + dev_info(scm_dev, "qseecom: untested machine, skipping\n"); + return false; + } + + if (match->data) *quirks =3D *(unsigned long *)(match->data); else *quirks =3D 0; =20 - return match; + if (*quirks & QCOM_QSEECOM_QUIRK_DISABLE) { + dev_info(scm_dev, "qseecom: disabled by the quirk\n"); + return false; + } + + return true; } =20 static void qcom_scm_qseecom_free(void *data) @@ -2086,10 +2085,8 @@ static int qcom_scm_qseecom_init(struct qcom_scm *sc= m) =20 dev_info(scm->dev, "qseecom: found qseecom with version 0x%x\n", version); =20 - if (!qcom_scm_qseecom_machine_is_allowed(scm->dev, &quirks)) { - dev_info(scm->dev, "qseecom: untested machine, skipping\n"); + if (!qcom_scm_qseecom_machine_is_allowed(scm->dev, &quirks)) return 0; - } =20 /* * Set up QSEECOM interface device. All application clients will be diff --git a/include/linux/firmware/qcom/qcom_qseecom.h b/include/linux/fir= mware/qcom/qcom_qseecom.h index 8d6d660e854fdb0fabbef10ab5ee6ff23ad79826..d48044ece20cc9ebac3357a642d= c671c349d4343 100644 --- a/include/linux/firmware/qcom/qcom_qseecom.h +++ b/include/linux/firmware/qcom/qcom_qseecom.h @@ -52,5 +52,6 @@ static inline int qcom_qseecom_app_send(struct qseecom_cl= ient *client, } =20 #define QCOM_QSEECOM_QUIRK_RO_UEFIVARS BIT(0) +#define QCOM_QSEECOM_QUIRK_DISABLE BIT(1) =20 #endif /* __QCOM_QSEECOM_H */ --=20 2.39.5 From nobody Wed Oct 8 22:34:48 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 51CC723BCE7 for ; Tue, 24 Jun 2025 02:14:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731262; cv=none; b=Sx9S1Meo4IJD0JFBh0uf4H2ES9QudpjhnH1yr7PehF0sPKW6e0kdBUo88alkRg9DtXuxclFB3C4YkWWyb5MZDjpm2bZ7bVbVXw477D1kc4U8A+fYu+R++qR6QNDXbgV+bmmlKAZhJjWp7+WTGLwBgIojmOQCEypcfy/4P6rLcqg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750731262; c=relaxed/simple; bh=wwPgZquGtv5ruN02X/fEQJ5qyMWldQS8yZQEL7GHlMM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Sb180DxvoYWhxdg9Kz9ym52vGTsfPCbjv6lK1Ruymc/QrscKxQ2H4Cjj9tc+XWvH+dDP+MizkY8UuqCWX2P5t2Z9tqcoV3nL3ucpLBB9Pvo4gvKEAlkvYd0C9hC+VbmoWsjccdfrdXb0ylWI/ycklQx/aA1fgygPDh2ZqjKlAZs= 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=RhIrK496; arc=none smtp.client-ip=205.220.180.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="RhIrK496" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55NHfl2k028021 for ; Tue, 24 Jun 2025 02:14:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= tyyvulGuGpaTaUXvNlB8/sd2dCkHRiL8Dbbs2iTh6WI=; b=RhIrK496DGvoc9Wq TQqdEOsYTafZ1lXbcNr9n7kduseRDUEh9YBoZy+lFrygL8hAip0xcWtLTWBmPxTO 2j1DZdgbzxPJFL84zRGE/kDitfLPpPnb89DkYBndni+JCeQ/DPz8n69v8s0yQiya /AQiMFSK8ciEP4WfRiZ2tvzu6e7InG/du1GtHvGxWmgzjQG4imYKsk/vNRBU01S7 2CQ9LQ9kc+lYv8c/LAUPsNrinSBs7UnHEH5ng1+kp+YkBrxoIJrFU909NGzD07SO iBKARZA98YVixRxXxZyoE9bpkoDIpCrUR1v+NZ8kHoPA9FzIHr+rXSzBbzR0uF6D iYelgA== 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 47fbhqgy5b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 02:14:20 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7d40185a630so662726385a.2 for ; Mon, 23 Jun 2025 19:14:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750731259; x=1751336059; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tyyvulGuGpaTaUXvNlB8/sd2dCkHRiL8Dbbs2iTh6WI=; b=X1vyX1CBZ5yR1U9UolTqsyavISeyOkAoOSSloNSoCR1IR3VlzBXl8wNvIm94BM6PTY 1WzvSwgrf3ZfX1pXWLoyePvtjzMPj03sdCpVxdETcSMrth5xogCfzb/EO9daFziTPHHr STL9BMNP0f4FwYNbSBBgNJKZ7zRs3iSLeF7hW4rE63IeUVhPh9uCJ1gqUjUWgBycTi77 E+ZBGqsr2d2d98eb2xfCh0pYfyHgnBbRF0QaUKWxPFchdteom1nwEOAkVVwMRFWDOH/e aqwRUH7MMPMsbHQZ/rzd6CkYt1v3oVr4YKnBGPNnc9rWc6BPd/fWXrs6a4b2qqiFTSc3 2LAw== X-Forwarded-Encrypted: i=1; AJvYcCUf/OwZtx06ZDLN2j+CI6HswqzQkdnqJsvUdqiAj0qWOWEsujXQPxC+TkOHee/Ba1YRLkROMbeBkxrrZHQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxLggPCGwKuviA3ArRnAFxMDZghEOG3PPvL+7INdgxAjUbx6qAi NzIVLgpE+qwTr3iP519or5qy/PBS4POYR6iq9DtH7E42I7Uea50uSPqUdTNdLB0lbiwz27eal+x nf9meeMKFfYzd/tj55ThPnEUOf7A5SmRJ0brFcX4/qt/zzh03XgaFMF+alPZs9/UzjgM= X-Gm-Gg: ASbGncvkRYy7Ba5dptCB8L1E19ziv33knWTHN0eFcsLqgvG1n7wPKMRuOPIty9BQWJ3 3wQqvl7HH/HWeKbD24msLVpMlPGBBLA9bxUpUi62blnhi5yer7cB1Djj96cBe0csQPoMm36wbOt +BZ5S+Bc4HmthMdSdGq+rn5DZctpXIluJCMHvW/4LM+oWGXx56M7YSuiNqs3uL/v9w+YWSe9k+l +c2DApFoptkoM1o8fdOD++CkRofxJPYnrn03Sh5jqciADxgtxflzSJy5N8DyaF7KIr4HCLuL790 yvAzTHJ7Bu0ROzVBkMwv5tU8OT00XnLyH3BGLOEFS2gBl1LY9L0K5YqFs08ic8h+oV5Sh+lnGSq GljruwTLZm15U9l9H2UQi3eiM9l9Pr3FJOzk= X-Received: by 2002:a05:620a:c4a:b0:7d0:a096:cf80 with SMTP id af79cd13be357-7d3f9932d64mr2264381585a.31.1750731259207; Mon, 23 Jun 2025 19:14:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEA55butSic+ng2eWxkWHewC/1gHyAW1PqwPfZPRr+TsnW2sMpp6SRzI1+0SpA8shvosX3lrw== X-Received: by 2002:a05:620a:c4a:b0:7d0:a096:cf80 with SMTP id af79cd13be357-7d3f9932d64mr2264378685a.31.1750731258714; Mon, 23 Jun 2025 19:14:18 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41446e2sm1637764e87.32.2025.06.23.19.14.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 19:14:17 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 24 Jun 2025 05:13:59 +0300 Subject: [PATCH v3 8/8] arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix RTC offset info 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250624-more-qseecom-v3-8-95205cd88cc2@oss.qualcomm.com> References: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> In-Reply-To: <20250624-more-qseecom-v3-0-95205cd88cc2@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ard Biesheuvel , Konrad Dybcio Cc: Johan Hovold , Steev Klimaszewski , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-efi@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1628; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=wwPgZquGtv5ruN02X/fEQJ5qyMWldQS8yZQEL7GHlMM=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWgnmG1HaZB/YzzH63NYrvRaoUuv8/0tpXEBpI iEyvwE9gBqJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFoJ5gAKCRCLPIo+Aiko 1YhKB/9SkuLIh9Eh2/Cyz3LLhzdaEGoxyryhuSqprotgQQyo4Emt0TqpBt5aW0XKf96gbkh9iRD CTE2U3rM+DE9TtfBW8fAFWuZSNSRlagYb1kUoqgcT/ZDbN/Av7r2eUgUuc/5twxpbSzrzIpNMJO uiDsAbHRd3euOJmD8zyDjBmQcg+/l9Bl9WsQNbW8EQwop8GXOnjBv2cij9GOv9PURcJ/ylFfKU+ ZrWP3Djdnb1iC9UAry83VRNtpJIP2DC9aQvv2zpUECjFZf682RYwQUqPYfea9oml2Io2eiUMFbz GYh2tX2XCvtFpT0YdWbxSw9Oc/hv6CFOCRe1G1mOyJkTb1/E X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: xyvrE7G6GxkKqq4N2ROaZEeaRX91D3DF X-Authority-Analysis: v=2.4 cv=Id+HWXqa c=1 sm=1 tr=0 ts=685a09fc cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=lpcYNmPcDvg0ODyLRbEA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: xyvrE7G6GxkKqq4N2ROaZEeaRX91D3DF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDAxNyBTYWx0ZWRfX6KZH2W5WGRCL RC0vvx+4CzxZDbK3SHnkxRGBXealXu50yrmE/L7Q80q+PkszMlu4qVSJC+fbAKTckoO23rW7ksf E/e80sm9zU6KEl/ud9+PEdzh+e1CTVxiu3L5zHDOVWRK4LuTLUrqaIbmHAMHw0ApGMCgYxxr5we l0zGo2V9pi3xAucpGI0VwnOA9h3v8VEiQx9EnqM22O7CAknl0Pa1DFuyrKuD/9hYGmkR+qN6ncR eEETrONwOJjkUn/F9BBB5ede13dQtt0MbXUPSSTwm+6bN74yvokQdjzqGcQU3uUKsSYlFgmXwMV DgjccDqmCzujTrz6JsCArziPZe4FK4Hfi8afuCn+thKYZ59iv0WOqu16NIc+Ri48fXs83AAlTr2 FMiOJYICtsKaY6D63lF66b1lotSwdSvxS+8y+n+B456mOczhCw4aDmnfOwXXCKaEBF28pEjf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_01,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 mlxlogscore=982 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 mlxscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240017 Lenovo Yoga C630 as most of the other WoA devices stores RTC offset in the UEFI variable. Add corresponding property to the RTC device in order to make RTC driver wait for UEFI variables to become available and then read offset value from the corresponding variable. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +- arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/pm8998.dtsi b/arch/arm64/boot/dts/qco= m/pm8998.dtsi index 3ecb330590e59a6640f833a0bf4d2c62f40de17d..50b41942b06cf1a3f43f9c754b3= bf2e1eaa4d353 100644 --- a/arch/arm64/boot/dts/qcom/pm8998.dtsi +++ b/arch/arm64/boot/dts/qcom/pm8998.dtsi @@ -101,7 +101,7 @@ pm8998_adc_tm: adc-tm@3400 { status =3D "disabled"; }; =20 - rtc@6000 { + pm8998_rtc: rtc@6000 { compatible =3D "qcom,pm8941-rtc"; reg =3D <0x6000>, <0x6100>; reg-names =3D "rtc", "alarm"; diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/ar= m64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts index 8ef6db3be6e3dffe4ec819288193a183b32db8e8..c0c007ce8682cacd1cbfe816ddb= 975c0a099ac89 100644 --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts @@ -592,6 +592,10 @@ sw_edp_1p2_en: pm8998-gpio9-state { }; }; =20 +&pm8998_rtc { + qcom,uefi-rtc-info; +}; + &qup_i2c10_default { drive-strength =3D <2>; bias-disable; --=20 2.39.5