From nobody Wed Oct 8 20:02:01 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 E7CB025BEE9 for ; Tue, 24 Jun 2025 22:53:28 +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=1750805610; cv=none; b=aex6DVNxVR9q6FnoBePJyIp2aaN/ho+jIaCK4UbHFOSd9hgqd//ReeDWKPqY2vWEdtbx153gyBiAWzHrOtOiEe3DS5ChkVu3jpYX/wVNLksv1D03aRaZLw2yx7achtHxf4Qj5I5HDcEG7RMul4D5MLMPtVpUoLhFYko89p++Rk4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805610; c=relaxed/simple; bh=t/rZg2mXoS35Z6g/Fc1ahHAw8Dong0aRc6LecgnXaBA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J8M523K9JHwI/db3dQUrY27M2FqVMA84T+pRLzwDcCSV8VHgCpUmIh+TG7r51sHFCj0CVIQdnhVPW0K4UXMHZ5T28t9UoxqFoavKAMHCf2/EeCXHtpXbKovMIgqTjCFFyh4ZZhrH4YQSEoKBPsabV5CagFwpBuWT3VDh5/SV6O4= 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=UpsLtGOp; 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="UpsLtGOp" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55OGA8sX028706 for ; Tue, 24 Jun 2025 22:53:28 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=UpsLtGOphCfC/MZK CdD1TgsjzeHahCrZkUMFA/+NMhTfGkS+ZkCXATYs9GWw6WcH3wQm3enIdAqN6LM4 KiM9gnqtHPvtr9nUi0N4rE/96Uok3wGV1xpZi7Z+EcMiOlJ1m3/r+TzDLHad4spm rICWHPEMsyNebWaBTRhi9ltzHhFRy1v58gnPoSopwHCuA8Pf6G8Gq/RqEiC0rjGD 3wuaSZYs0ecMewsY2hEMLwtX88QLIAuUZaPH82UpcAMr0isD5j1rxmmPSGHi7/uV 6Wxk37sQGvq2vx5zhnVRzGI70YWMRVArA9ujlY3Rbx7dZYR2DJ7BA7m8q48uJ08+ 3ytqSA== 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 47esa4q39c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:28 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7d413a12847so508018885a.0 for ; Tue, 24 Jun 2025 15:53:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805606; x=1751410406; 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=qED5XkGQWQmeDLlATGtSTnN35xn5e6sSuHj/Pmc/Lu7OTqRCfMhcxffEnQ8wxW1hvK jEYHJXpIaGi67ThDtATnFSGwXfdnkVINZEFhby+1ZzP69gtSGx8ofaYvLzOjZ1meeRlW oFq+7xfW1dlC9Sa7RkQI/ESIXa53do25aKoK9gpz8je56yJ8eA9jWcBrHQnE/pMsE0e4 sTuZSlNpvAtb+u+jqP+8FXTm5f1AiMcoK7ED7okVKPreTsD8D2wtjs1gW6xlJSNovztP 563POJilZXisxAF16OmQPJtFzpehNnRdK/xNHFUT6uvhOgmWBpafkRcna3kw0oaMyZOK Sc/w== X-Forwarded-Encrypted: i=1; AJvYcCWlcxjljNms4lhHhz997Cwt/W95fIaijx/XTbzMppLD3QZX6Nu5MKlFzIEF26bisW+AT6gVNCWpEOlSKQw=@vger.kernel.org X-Gm-Message-State: AOJu0YwRmKtEfV7qyOhpd7UaRE3sb8yHMim0zcC8z6BWfe/KA6+Kxabt qvjIDEBCkyR27VvCQ9wvDjcC8UtkgnYfmX4LD9IrhyPu71eVa/WFAKKU/KYlW9flQYUYVeBt+5X bbzZk+zbfD4DvyQK85CJdh2jc4mM5hTqvZIpmS5cDwlUL0pAgJa3srC2oiC6PG5cfYA8= X-Gm-Gg: ASbGncu5JFexKFrF6GnNQ7ssxnNEHWgMeu25Rc2afyXBswURb1mpfc82FxK95ODKE9q vFd7NRa3tes6S89zJv1AtEiJ24csom+SIJzjt5vdP34wD0jU1Id/53Pm+Rx6JtpxNr8kFmraHMb DN7207HVby5BTQYYe3QBi1oU2Fy9ZJVhA91MnP+FLkR2sSx2j0I5OwppXNeLUSATAgKbvNcktOc gC5/Au750ajiEj+w00w1etSJTxOufNz+rLaKf5D2W1y0t1+a5rIlnc8G3nEO5dTkxbQzyhK5Tki tGVdP2ckOu4WP81cpBBpnLjcvCr1cZwZJSqsPid3VYBHLxTkDa7QGATY0rhr8aWNfx7vK5cX5tQ iZsO51xCn3OKzcRviUb3sOg6WBt+9dokQcy4= X-Received: by 2002:a05:620a:2815:b0:7d4:6f:a3f3 with SMTP id af79cd13be357-7d42974bbd3mr120817385a.44.1750805606652; Tue, 24 Jun 2025 15:53:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG94M3DQjJxjlOh+Wa7ZVDN2Ra0eLm5I+n3Okv+Uk1a/lJierkVbRDFtP5lW0t+YOyOA7SF3A== X-Received: by 2002:a05:620a:2815:b0:7d4:6f:a3f3 with SMTP id af79cd13be357-7d42974bbd3mr120814485a.44.1750805606292; Tue, 24 Jun 2025 15:53:26 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:25 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:20 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-1-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxivcQKN9slXayTHROefKCDktNqjipS1qirs xkySAckA9+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYgAKCRCLPIo+Aiko 1S5PCACYyB2xDS0iQyM+NvelIhDHfQwbdUlUaEjQVCCSve1uwzQm/XLjA3raAXOL+c0KmJtILQI rEOrfxnDr9JDHnVkBtOpy0n3O8UAmA7jXvjl6uC0eFJJaSmChTl+tIOc+2U3qKHv2YgtPIjB60G GpTQdxl/X27iK9dHsROC0Xs44R05PsOlrsnqZGynae9K/yHc/P11ES21H+crbemKyW94PS+AyI0 IIfUaLZrbZVe2OWBk5OAv37znQIV02F63t43l2cx7u225Ra3V5W6E2QlvGYcEcVcBLpXUxDU5/S 66JuoPiykkS2Vynu1gZ8bY55D1WC0SItw8fZdmAaaAktc2ae X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=eLYTjGp1 c=1 sm=1 tr=0 ts=685b2c68 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==: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=NFOGd7dJGGMPyQGDc5-O:22 a=xwnAI6pc5liRhupp6brZ:22 X-Proofpoint-GUID: 357eg0GBT8Ba51remjgpgM_izDdEcb25 X-Proofpoint-ORIG-GUID: 357eg0GBT8Ba51remjgpgM_izDdEcb25 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfX/2pru4Fp23cM Mlwfp4lc265brrHsyK8qP1CavSFj/MoY08E0wuv6Tzc/ZoniTBaOVIBB0ILwWzE++94QXFM/KPr uEWIPdXxg49heJYIq5Q83Xps70VCHEDJyZxF3ZZWVI19dsL5gBcD27rK5nV71q+9f3G08Rf9Ry+ BPDVzIMQ1FeqxQtwvbZsXNrh6y74gZh7/wM/x6ZcuOc/vuVPugUGttle8JwCrVC2Q1rsc1z7obn QPdgUWbydhW40lSJEEattgsisEJEpJqmILPQJObKPcDQOYovFDnKcv+5HE4/OACKEjvPh8F/x9f 8l8lmcYQfcaSDpNvRI3yKnjNYBlJhs4Oo3k+tIpi/kx4K9jK80hQoKgRAI+5UieYHVH0xIBNY32 JF6vFu2g1CtYV0Sj3NsuSoRzgwNDTUofo4daZAwVm+g2ZQ24C3ZJYeQ66iX8AAuh94B0DSwo 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_06,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 mlxscore=0 clxscore=1015 mlxlogscore=999 suspectscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240182 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 --- 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 20:02:01 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 686B925BF0B for ; Tue, 24 Jun 2025 22:53:31 +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=1750805613; cv=none; b=AzGLc6KK/UGUmV6LGwzkcTqXmtJRTQtdBD9Ko8O0aXbD8hnzvSgs7gYtGyJu5yb6GVVli+G0IPZ9NowtF+ArLnKshnkX/YWm58ynXkhPtn3aUOf+Esn5fJ4CVsXU7wUYpA8Ap+5vk+aP6XCEENnngGmGp7t0orhXIQP2ldU0e2I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805613; c=relaxed/simple; bh=qI30ERfmlxxdaltBkI9sJ1E1tFwxvXR+BM1DU9oH6SU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k93twEFR/IsVzfc04gTUB7oPpxW+OqIkBd2Q3Hv/q6wQAkBOQvq7ylfEIVG8hMEo3kw+QuF7YUwDaFHkCaUKCPrLPVr/G/0xgmbPuBcUt3Gw4HAqTh4tBZGXfwhsyc5JiB2qg5TgSjS+0/nxo2cSfcslPo6ZYcfOmZJqEFktB7Y= 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=LdqpCm7F; 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="LdqpCm7F" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55OGOkOp017607 for ; Tue, 24 Jun 2025 22:53:30 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= Gg+QL+5cDfJ0dWjuRdv78pSkTPbAQTwDQrcNodnZrsQ=; b=LdqpCm7FHOZVC7gG 3UwWeqOTefqs1AHXjhIAX2tYSF90zVudzPb5xMB05yfBb0+bMoKyWGw2OaPhP6dh KE+ZrZ0QG3YCBUOyuVeGWkTfBEvyg8WeMGwdT3LH5kTKSGiZkXmHCDQnpTr0K6d1 6ksf1xQ7JSp2uUxTiftPO8s+dIP8F+5Hh49NHt3AOEGoEJ0vPARLbujjHMRwcQWV OKw3pK4Dniq8tytx94FzQlVKg3NKnp1r3LGghyaQdKzWL4Y2V0EBdzcSwQb5c5E9 vmFTb9bOVUf79A1jI6hrBXjB36nBnIEIJjXdXF2F2auJnulY+L6T5lPGaaw9QtFV 9d5Mdg== 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 47evc5pww5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:30 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c760637fe5so153385985a.0 for ; Tue, 24 Jun 2025 15:53:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805609; x=1751410409; 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=Gg+QL+5cDfJ0dWjuRdv78pSkTPbAQTwDQrcNodnZrsQ=; b=lG56R0F5zuf9uKwTs7DVPzjUDNz2cG88rRa3S1hRA9iXQXrxbcG76cAXmzg7W+EEJR sUsTHrFfcWQql0vuRhjgaIyOz5HTai/TR0JUMJ2JQMOoZXwqQ1cdwkWcVQ2MRu6YMvbA o8BK1/SMyCmcyNyij3g+17SF6+sCc22TSj3oTUr+OlRgcm8APc7u2FyJpi+70/uDs88x ac4UGUW7wbSr/ySL7Cd9hLhxMuXsJrjOabD952bOuVTcI4gCgf/V/SYhvmIDgeTO0ewd U4ynJ10ifjQ/MAXZwPyQuOjjLo8wKrMFh530W7QT9SMxCZouCh1iFZy+nwZhpmkvQJKs oXLQ== X-Forwarded-Encrypted: i=1; AJvYcCUEQsMfg0bgsmAblU7hqXxLc4asA+qUlZM87UwOmllGI/HrtOXUiiQmkjavMUQjCwrFXjl+3lJamBle0I0=@vger.kernel.org X-Gm-Message-State: AOJu0YyBYa+71b+Lf51s7u5gOewfLX3ChQvM3N0nJT4RqJp000pRhrge 8IMgR7VrpzZMTwn9ZU/+Ns2K3mvUTOyaTGF4DKlHdOXwLwRIB1xxW6mVZPLvmUls5rJQeiwNuPF 7PH3a8wVB4cnFbPtLS0IDwZ3rTddV20S+iVpVhCl8RDJ6bcNnFdxthsx1ZVOPRm8VGKY= X-Gm-Gg: ASbGnctVlG/zyYxZk8rXUJ09WKyp3VlxKI7iapUVLAKW6FrtL5nWNPlcP8UjmA6YtWC 6KfKf94IOkaXZk2OJZKBIoKZun1qJsn/yabtEgQvSi4qoXaGWPQLiFSW68W9nN+Z3RHT8ISvyu5 VbiwrperlL2SvBGxbbSsRcnrH3y2q3kDv6gp437tcxpbOgEo6Ov9x+VXjuU0xnxREbudQQc1LPJ IR+xw2Oxbn6LNc1MD5bIfEDHgnHEFllvS6ixo9vD2pvGv8iSMrY0OHsy9Y8q7cE9wZdHDBEXWFZ VNqmDFxEs3Yr6pZa6MevTuHZwNSTgNax6F4gzBBodQgq+KxJwKkA36eeeOZ8T9S3tN1q8ceCt8J U+0UF/GOr9ut8t8dO3Hngjqf+3er/Kun+ja0= X-Received: by 2002:a05:620a:1790:b0:7d3:f3e1:b8d6 with SMTP id af79cd13be357-7d4296d4c12mr164501085a.21.1750805609130; Tue, 24 Jun 2025 15:53:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHEe3S5rzUbL7rZSSoe52k49A9nYQyjY7KkMpOvTFxCeYYeWZ8qpJarI5/v5VOrfFqkRC8V6g== X-Received: by 2002:a05:620a:1790:b0:7d3:f3e1:b8d6 with SMTP id af79cd13be357-7d4296d4c12mr164497885a.21.1750805608721; Tue, 24 Jun 2025 15:53:28 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:27 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:21 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-2-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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=4209; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=qI30ERfmlxxdaltBkI9sJ1E1tFwxvXR+BM1DU9oH6SU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxi+Rd/6xV64rmwuWSJM4867AmzJoTGctKBJ Pnn7iTMPyOJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYgAKCRCLPIo+Aiko 1eeqB/9bB8w/3g13sbXEVmXUl7dFo5AXqVuYmJed/WIuvkZRaTZWUAex7q6ORLxe31u5eySXXHM tcYfoYKew8te/krMe2LbysX0BMrMwH4NFB8QD2EN90S+Q/OoCW4ivcsImd41iz56IumY3zE+Eit gKIBQtn9DwoeKDZ6ALoeZjsPrJCL7AGBiMCSHFtjyQWxIeg5c7OQa66ejecWf6H1wnFiPC+yM5R CnKQMQqAx+aCa+kRuJyMTIbpvM8rvTYI1rrRvt7fOaA8VwRuW2xxocW14E5dw6ajNqyFWU4xxhp gBOQ/2kkG6aDRXkW5M2wuAn8tVrQRLydx1eU8rjx8ie9vOZq X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 1kiSmxdvnVC4ibFtrRpl4b7MoQKzohnZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfX8wNLuKppzN5l EuP7ICEP1bQeiQJGR6lbF0xvqjAhL8TU8SJ0HYBc8reez0BMnQlzR6eE8F1SjIEK3wAIJ6Q00te pGUPkR9kzo6BhsARkGHJKOw9o6PV/LWwnk+7lv8tz0CdGZDQOwThh1Pm7ABvuz1qOv0UC6Sjvpx ENHR6dyDS5JQblagv8DjBYlN9leeMB4xIpSgYeab8vbuWqHeb4sApfamQ8nMsTkLdicnkXp+R2Z P0S5wEvUXC6R/8lmmfEAyitKflPQb6dS5MPkZ5nWqx0C75Se3sbFsbZ4KSjuxvWeM3ivDo7KymI HCmRwy1sSb6X4Dkdg7ZJwsaZPvSY0L4mxzSY6sTDqwR3E7lHpXMhFYTwhiMQziD6ybcq6xl0aEo h0+uJLG/NDk858WMIm8Znt6izNxFM9LUDhZgs+OXczL5y3yGYG4bwk+3pRq5IcvmUjefAX6p X-Authority-Analysis: v=2.4 cv=caHSrmDM c=1 sm=1 tr=0 ts=685b2c6a 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-ORIG-GUID: 1kiSmxdvnVC4ibFtrRpl4b7MoQKzohnZ 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_06,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 adultscore=0 mlxscore=0 spamscore=0 malwarescore=0 phishscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240182 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. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- 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 20:02:01 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 B461B25C83C for ; Tue, 24 Jun 2025 22:53:33 +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=1750805615; cv=none; b=UzK685/uSTFwZ1xn0Ytet9uNRYerYX6xe5TckeRMPGL/rg01YMeTjj2RZQWq/vC5y4cjBQQpG3vXNVMSmU2anCRlzdkbgvHH5MxO5svObQIRBdB3thjI1fTcPN0MfrM55z4ror1/5hFgaXvjBSm0RzmcZ5WVrifBHCW65f2Ephw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805615; c=relaxed/simple; bh=TpzKss6UqA2cLICb253kuxKt/G/KQj9NlkXx3BbhyVI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k6HyUyKM/g6U5KN6kzUUVga9ctmggn+3wSU/mBV/jS4riuMzr1gLGGsL2oYCkppxfnKHzDBs1K10GE+Pr0D8HR/D1m2XkXS/o70vM6BM3TomFhVdcOmiZu18ww7ZTfgLi9zJnN381yLgv7z9f/kecFDxmWuUnqnbyBBchaBxnWQ= 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=b88fe+lX; 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="b88fe+lX" 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 55ODw3bY021706 for ; Tue, 24 Jun 2025 22:53:32 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= Q1+TTvG9KmmMqdJiHEKwEMvDzCclBDjJoltJ98B9ai0=; b=b88fe+lX1wJgTans u6vR+95b7xnUYDSFX8fAXT/rBgu6W5FoaA/OcW7euaanH8AyvR5qpwrdj4KTg+fL YiL9x7TF2k95M6pa1FtozBBqNcxYwcZjiLilTi+IjeU35yS6iISo2LHA/fsUBo2f tIrIep8pv5yq6Voe/XfTA0leM1opIkazOJqFvo5//m5VF9f3lftK1yx107Ffo1Xx ZtXmuhAa+/SiSTdOm1MYfCTVa7lHr/P9wBGeScSll+Z9YPCDQgfjvbm8pPZ7W5yH UODU0XDvjvZpbJK5qOKk9p/T/oct9RbFYNSpqgDqET3yaIRbWzS3Su008zFmn0NO hzf71Q== 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 47f2rpx321-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:32 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7cf6c53390eso470371485a.2 for ; Tue, 24 Jun 2025 15:53:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805611; x=1751410411; 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=Q1+TTvG9KmmMqdJiHEKwEMvDzCclBDjJoltJ98B9ai0=; b=T3M3RXwTcwHTCIKIvwDVb5P3JBSLj27/7O8KcBz6juhyUMpVbidDqeqhqOHOHxg27A LZWCcCsJFF5Yy8JeAwzPHvSiju7jDWfMRP1jA+Wiut30c4Uyn8Tvd1ZT+df13VWCBr8N FlMxEEl0e0truINi6oiz0fHMfLDX276rdhEZEbXPUfUa3t2Hu9vThhBhgUZQ2FOgIdNv qTMI/LsigR0Nce7Eakysjltzw1D8PJCzLsWdv57PvwVa4ZiTGJgo5YR5x18N/vg8baV3 wWlejOHl4m3j0GzsNd4I0/CGZn2umzhOE+Yc+a+jpne5iNxv7toSm+AAwi5uGTuxPk/3 q+/g== X-Forwarded-Encrypted: i=1; AJvYcCVUzmxXoRKobwtCZg9F6tjcW/aOEYYFusRXTOMJKqGXTSaUu5zJ5hGlN8eHN6gA22gtC9mqb/OUP3fJDQc=@vger.kernel.org X-Gm-Message-State: AOJu0YxdTcnWJ4IHVv0t0m/bMpuDUOiW86UPs1H0ZOPdqXjDk7pp6TjO tPQMcQYazziRnH+EJprn1Yn3EkNmeqQ9oQtQUuG1tIW8J41ee+zm+mG6Js7jdk7vhOY7lGViIl7 U6jQL14McsBPgTiRMAFY1GcDV6I58+KeL3YIK8vHBo1rj1pcc9ZZHU9/2hClscev9Sz8= X-Gm-Gg: ASbGncvzztwmBfkpDgd0hDBXFi5yW0R5NpinOVsZSXfuWoCOeSGs2py7dpexK8BqjNB afHBvcACDfGc6R3Xret5WxAZQU+AxPrxcEQJBuTAwqmEaxty4xCz3zWbZcZ4KVoIitH+Ww5t9EP ef/2igjVThwYN+5SrkyF960UZeIqB338d0fQCo8I2wDYaeyCNXzEPSnNmLWtve1WwdkOMqfEQJb GKcfaO4c+37IgOMr7fKI93szpkWwfxc39RM7gf/WEBaKtEchvOXWXfpCfFnxC3YYDe5V8Smf317 5z57f9/2uPQ60FyRiWBMj1U7rgtvWcHeoeai1ULzBY5fePz2LI/cUYLIpqsq8aDrrGhV8PQScjM OIScaY//RRwFqBvWcgkor5sevRg8Paz1Pgck= X-Received: by 2002:a05:620a:4591:b0:7d4:bc9:de7a with SMTP id af79cd13be357-7d4297103d3mr126984485a.4.1750805611616; Tue, 24 Jun 2025 15:53:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEP5iqcSJE9XJE1gL9pGZTU4bZ49tSTbYK91N0UVTEUFririsFG0S0LsnEPN2FuMB1s0FTIHw== X-Received: by 2002:a05:620a:4591:b0:7d4:bc9:de7a with SMTP id af79cd13be357-7d4297103d3mr126982085a.4.1750805611199; Tue, 24 Jun 2025 15:53:31 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:30 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:22 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-3-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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=2930; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=TpzKss6UqA2cLICb253kuxKt/G/KQj9NlkXx3BbhyVI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxigvWyn4A+onkiU+AFmVnTp+eG/+F69fK94 JtVCN4LCVmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYgAKCRCLPIo+Aiko 1ZhwB/49S5NGzvatWyOAaoIdQKCjjG9EEZ6OG66sXVZht8tAHyXEhVQmxE27iZqgsflAmoTqgQW 4KIpuExKh2ber1GsFTblUrTDPl0ZT/ICK95AHQsby0oIrKMZ5vHxnoHVTu48YtoPcc0jiywKYM+ UZJYxaMAFAxpv+OlrbddVdJKRWpd0vkf+vrrwnWJi456aKJRpqbQM+HfXwtHNYp5dM8DwTtXMcv 44ZUXjJlRu5tMe1sA/N2Ve2mclA6cMf4bkeJgU0Rj99Rg9NhPivnrL0PONtpck6fl+zjaK/z1Sj 1L3L8j+hcZrmgNJ6SvfMWtwJUx01YJfOwDfj2H2ceocdZUky 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=685b2c6c 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-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MSBTYWx0ZWRfX7TBwRnSbIyHn hsSWTzlOXFerOCwJDMD6ZB7cac5XlTW0SaQrOMlvD8dJlvYqjlKCxKoN7LEihsf6JOW1/OKVgGY 2FqWrwKT8vdIr0ppbLYacvPWYqWZ/SKRnl1gvFo21vIv+9cHrzZ4OiWNrzu91fvG8v8yRq5eyms gkL8ZqliJGIhud5m6qiWE3K2+Z8R9lZugywqUSssE8qHCalG/iBSuZTCoe6a+AtjSYy9KBbPOYI +PFZmMuRPfiKQN3FHFpqI7wnRDc4LKc55J1041fXvOM5YGwZynwNpa10qnwPNlp3e9ppEiLMsfD 1l1ykavW8o0m+If07qE3++XRog8miv9Px54Koybi6L2tFp91ozcKZlotnoIu8EbErVtPFzc/S88 t2sNffv2EtufTCkp3taDSxSkqCckdofE9rgFFBoWCTbzlFpzZPdcsV7uxLYvts75FhsTgpPa X-Proofpoint-ORIG-GUID: oa0spWYjH4k09qyhRV8Itpxr5XxXC8hV X-Proofpoint-GUID: oa0spWYjH4k09qyhRV8Itpxr5XxXC8hV 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_06,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-2506240181 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. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- 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 20:02:01 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 E427925D1E4 for ; Tue, 24 Jun 2025 22:53:35 +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=1750805617; cv=none; b=deZwQtZAvN5795htaoxRAXe17j1H9IZNJJRt1Uxq7Y6Hp42FCcCD8AV0R7wvXWR5GQZmAT29ssCDcqoVAV8Ex2gIlragNcCxdf8ZY6MHLYhkKD8poshL+PkFdYSGIlLbOOOLO2kukfNmKd4xQ1OyLzoWsjrME0/5IZ0B/CMRRow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805617; c=relaxed/simple; bh=v3Son85QFIExU23XS9BqES7WnyoRqHF3ETTCsPhCxq4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eNq72LLuFOIdkGwHOwP7Rtq3z5djAGDlZKC8kuYXJa/QMH02Umby65sYaDdJJroSYVORVrnPIhzMFhj/OkhRkayn9C2x1OZBd/mgIAxQUxZ0YOZpyQ+DsnHGpGN+qhjh2ESU8kMBIeKxkHeTL65BqV0vmVOr77vOjgTS5oivzME= 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=heQ7cSu0; 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="heQ7cSu0" 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 55OG4mQo013198 for ; Tue, 24 Jun 2025 22:53:35 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=heQ7cSu0oLs/xQYc +cquGbEhuUdGrXFPF+szDj46zHZlQgDcuGBQ2qWmJiwglalNK6jLjmJdm8t7R5On UGU3dOG0x39by6qlsydQR1SYc79anY81Kw/6TkFdJuxMqU5RD7oCtcMB44DM0Df8 MA8Nqm4cs5KGSKeBdE6OU3ly0Ioy24OR5tL3G0ceAPaKjj+HZkzkMTUKWwCKLYSi RR7W7HaZWN5DE9qtqNqrs+6OPyCdEuB/nfquGeqA+O+/AKSC2zCR4IPmDl5+YZsR UtpTi1jZIH8Mi3LA8QK+VfPAl6orMc4tVxawF9a8DEcI5V6LGvWx3f2LcsK64vL+ kuUs8Q== 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 47fbm1vcrs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:34 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7ceb5b5140eso147095385a.2 for ; Tue, 24 Jun 2025 15:53:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805614; x=1751410414; 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=acH+5TgKuAYY9209M5xkrbnY5kMn5OOMECBmqn3Jo+XWMufhG8DKNHvpfJoKqWcfJk 8l2WYeaj5KauPwXV7Q9pVW2maOVfVVASJBAZQzRxdfdh1ziNq3z1mNwMWI/EBaA9A44A UipiHF9QZAaIG0mgj1E8bqX6gcw1AAWu0pYALfSHfFg/yH4/yaGsMiaiXLWp1L1Rjv/N RhVbmMDEZ6MAJlYCb69Qdd4vNWOn7caLwCuh+p9Yv/NwqIwkXAdejLuysX8mLni6ezXv 8ofwrZbEoWUSB9S/xhK1g9rHyOxLHa7fT9xOj1LBfJcF6fjHZaKWbJzGujcO/lcWvb5B 4kWQ== X-Forwarded-Encrypted: i=1; AJvYcCXKvZKqeB6tBtqqHxn67ZwxEn6/hh79tlzCWAy4B6ULFRYV4Q3fuzs1JZ3BME0BmXJJnZ7QphHaPAFZKwU=@vger.kernel.org X-Gm-Message-State: AOJu0YyU7NWxWTTIYV9I51+Yv5wjMQDQ8RteDViMKOZXO04KitqKtAcf To6RLquCI+RbNTdxXYIznc/58HN/S3pSXCFaR6X5TDmSmwHK1VythIflT1gfDsbOky8l0kCrFnv wp4UBdtM97aair1Nf5NTb50qOx0p2nqNzArdtgd2kgALRCwpr6hO48CO8daafwh7LZzs= X-Gm-Gg: ASbGncvigTcmW9ByNXoxD+/LuV50GmpGBoewkXqGncPOembAUjNO7w44Kh46ByJS1XI LTvmjAvWqccmnkLP0oLl075v7dfuTVCK41VVq05Isr8c+4T1lQxjxPEA9m8efDdJEp/hKxyEcA8 6HkZyFBT0RrHN1gBgou9yKqyl/L4d53I5XlbgpiMvzxdMaKsx3GrRpT/fAwCMLyjYn+FFAoHwuE BPQZjYw9sRHKkttY37UV0nMDC8Yms4rLhEES+sYZFBPT3IhuXkH8eJSrClBCVtbGJxJa0oKA/MZ 245GNiySu4F94cRK2jwIv3xpOAxi1dVCLwMnKl/HnWjSSrV4JbucspXTaY/GsRfvScMWH2l1G4H GvXPRvn+YjurBlmKKrD+VbZUc2jnPqWY2rS4= X-Received: by 2002:a05:620a:199b:b0:7d3:9025:5db7 with SMTP id af79cd13be357-7d4296d4ca0mr130763785a.20.1750805613986; Tue, 24 Jun 2025 15:53:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG5EFwVBWDWSw9S4MgYn2dQZK8Uz4Z0djvYMBXDETMw9mP0euPEYPNpMg3/H64UETYAZ3h5cQ== X-Received: by 2002:a05:620a:199b:b0:7d3:9025:5db7 with SMTP id af79cd13be357-7d4296d4ca0mr130760585a.20.1750805613598; Tue, 24 Jun 2025 15:53:33 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:31 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:23 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-4-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxjXBPS2NQyy/aPYTJBbpm7VMncF0PvFE9DS A+loe3omLCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYwAKCRCLPIo+Aiko 1Q4CCACdhWwyMQh739/HEVce9ToBUSrcJ//fz+OcGTxMRYVSWTm6naDduwMxd/VQsacY2TrJQsC 95EWAB/b9rF4WjoWka9Sj7f5NEuxSWXpnSrjZfDa/JDt2OUqqdMF2erQv85jb7o3R7vaKY3FvCM IPeo+14nP0vC5Y+GbojPeau4kwzKtOvKm8uekRrh5n+MwJ+pvVKtcmEL6T72JGx8YOeeHZ140E9 0vehQvCBG1AxM+EFrYH/SvozwuPR7uMhfJjC93NnNmYYQ8IbwARe8yMVTRvCSek/dfbZXj/rW8F AlnLiMxWCq5ptbdPofUcm2M5D05Mr2YBULg2pn/+th//21s0 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=685b2c6e cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=WOWBbpsv7UBti09GJWYA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: 8kjgVBajXQlvDBD2oFKfqgBqvTsUAuu- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfX9ucptfgV04u6 s+gFN8I9Ek4I1aPS5rnoRI26zKqu34082TIwqeXf+83r+rjlfwicXPxwCFrLp4jpAnDjercBoJt TanrBwmTxdjoppmWlSk0sy7NbBGStBFmuHaDKA9zDowNvsNuYUXJFJnKtPIFt1vS5aBhS6/WaQP z5sa8ZbCJVKi9zJrZnA5VPGJ7HmZtrwws//n2YAzuDe5LUtCplsIVoVSaDwDMYUETLXG+xku1GE SSZgi8CFWDgeWpSEjqoOCjfHrAibYj2tQ/imxfd2D7FWJ54uMqO9r62ziBmSdsV2ILOI/o9ZlCu kRQUIhHOND20y8aGlUtKVuBfxk1IdDN4M+7doIMKd+XhONO1fHotKKxkcyF1Ox3+meVTCbht8qy 4KIfSt4VcDTW5W++tlM3G+los3aD68Hw8dgvgcXt1VTNfUQ/YwuFoIkTmxu/xw7J7sF1JcBc X-Proofpoint-ORIG-GUID: 8kjgVBajXQlvDBD2oFKfqgBqvTsUAuu- 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_06,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-2506240182 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 20:02:01 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 E799825D1ED for ; Tue, 24 Jun 2025 22:53:37 +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=1750805619; cv=none; b=i6+na3MOx8H59goWwO7vQSo+vtiz+V5hR7WEAXm0SCckN19yMLpegH5X5MaI3RUCyjRcH6GmkbRElie2ol9zSBRTnDxZLLz7NznZl25nCqJn+kjmuAmZKhiwjGTjGIA/YMCtkKfUvFo3tvinvO8aSTQMSU1dGF+HMALHUu12jWk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805619; c=relaxed/simple; bh=W0YLJNz5/2SAiapxbVHEzsfqeAiPqnoxKuIVDr0TVNM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SEuSKR4G554jHK2LD983JcaRNXwJQ8SkLn9muDzZX0d4Hcs2UvJU28LRmOJEISyTrQIDbdmUzU4chhTwIiebBqeOucUFJOYBQEyMNsBxRLr4KO91B3mp13upjiaVUqOgjVZLETzmAqLqf6UIPwCyStcZ0C62n89LVlwSeIILmFs= 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=jgTEzcUQ; 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="jgTEzcUQ" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55OFAgms008761 for ; Tue, 24 Jun 2025 22:53:37 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=jgTEzcUQJEULxLqC XiSOzdXI0rEcSbcfgr0UxPef2I6p2NEV0dA49pvPKa+GHnfoKPiO20rjwmGGx+0B EIcAzPOFOwhqWG7OQSpig5Fg3NP5wzHIIVL8m9tHge2IBm2O35XN+q6N7eo0WB30 gwtZPyEIJNX4PUpcuVdslWnYQ17WjP+Y2AgMpsYNhpSCZlom1s7rYeDTIptBEGWC Y8I5MGHFGfA6xtLwTZn6xjwErx0a6oL1uIDQSkS7x/MsW6jC04r9XlB5GScX+mcY rNB6T/h40ya7HpKijr70bxU/6ucoOLL4DTVPsnB154xLKnybLFZUQnas+Zfp3NdV PyiV7g== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47emcmqfhe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:36 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-6fabd295d12so16341356d6.1 for ; Tue, 24 Jun 2025 15:53:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805615; x=1751410415; 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=kyJRtnIuCeCRRfvQ+rUOWpaOTIFq9jyqD88PPGcsqWKS+5JpOPwsuXTiw1oHkKD6+b g7krekjWQxQYJp+k068E++9r/dYl2N0dGZYK+0OpY+LGKMBN23V/uRf1H0MPptc5ofE5 Da8wDINVOEjb5HHjzep+C4AaK7LJH2eGkicP+JaUrn+LiwMfOenEisKLOFYItFOxIRC3 22pMBsEreeFu/DnILlPFIuDGfpKmA+iGMkHba4mu8Vzk6FfxPts3Ymyi7X7a55cEgbK/ ZhUTCTrA74WgD0TlsxZtlA0Dx94kd6pWwlTDu66CZQYHfg8wnNZi076dnVrpgOcKS6+C 2eEA== X-Forwarded-Encrypted: i=1; AJvYcCX/cgIzWjaKQ3sosXfzFPOOvoFuNMivbYnffugHeuZcBK9hCggzblPTJISfFnkKw3y7MoSiHJK8pt6bAfE=@vger.kernel.org X-Gm-Message-State: AOJu0YxvDIK98yQjwo4py5wqDqNwe/f/b1Xw6jYEi6trWsDFrgJb0k2o 3BYJkdCBlX+59M1fofBjPdketq1l2174JGo9683mnQ6Ns91YfbJgPYrcEh97OiPVQFlETbDTjFv GxE6Hqu/8GfLsrI9D1B7Sv8x0k6FDxzMHI4+vAtt5NWWqzjsFsVkzrb9nbXUqMRgd1Z6hTUNvE/ zm0A== X-Gm-Gg: ASbGncteVt3RKURm/xGXtXR0VcKvMBjpbwnqAgEB1lnCFK85LDznlNnNpg5cnepFCmX AMxSYT0UhXs00SZDC7Cv8McPSpXe5hfBewgvEpSyDXiQjp6VNPXpptlB+H0BUQJVbbh4v8ntX4A CddV62uRJ3GCRqOnxAZHdctZxtN81KcWA5RpoCVTSbnLX+FwILTFKo2jsikl2isPugPVakEAOPO Cmd+yn0y/FxaxrvMOYrRUwwvU9zRLRmAkc8qApRJSVHykrThsgNKIDItlO2mHmHt+M6sefw8UNH skfM82NMHI3kSh3jI+iMzttNQ41Vb+nBRh1gZ1qvBqc7S2jfwFVaeeBtJ30M6wB90KljXh0upSy zE6pobkXuWR40jqnIGtMIOYPY6m7+ZeDiYNI= X-Received: by 2002:a05:620a:4050:b0:7c7:b4aa:85bc with SMTP id af79cd13be357-7d429660e04mr113561585a.17.1750805615314; Tue, 24 Jun 2025 15:53:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG41nDKvy8NSvFSuE+GkqRN5rEbL009m+aNzEf5Aeh6gwiaJ1JjFjqhlwEUZpFQ41nVpXLjzw== X-Received: by 2002:a05:620a:4050:b0:7c7:b4aa:85bc with SMTP id af79cd13be357-7d429660e04mr113559785a.17.1750805614907; Tue, 24 Jun 2025 15:53:34 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:34 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:24 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-5-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxj0Fb4cA5VMjgnwN72vznUyGiXQ/4qhUCvh dIttwizDleJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYwAKCRCLPIo+Aiko 1Rm9B/9T0FUesziKizU38v76pcYTiA6w4sBqSbxkzsktq0nA2q0sSBVPUtwLWt/yJTIVokgN04M MFcYDkc/AS1ImaYPtlBWux5XC4SJCh5Nvbclq5BxJDQ22fkijV0vrgTxkfYyn4V1FuzupIeWoQw Bx2Bzktqtj5ShsO6vI99DSh0LYEp9cDpfWoQoNbfVvQnwKvRKKaoSzqe5u5sJ3O47RY2qiOQOlj cRIPTCdVRn/bREB+itNQJVAkcUc7TqVPcxixkQYqtMS7Th7Bdk0bxLnR8ru6bEsFnVz5bXKEmaI ynV0525X9ouUotWTbiY7J8Vn41M2wQYrYfMAUj6zMaXXHDub X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: a-0U3ZO5EWP1rJWFlBzOhT_FHANw50SB X-Proofpoint-ORIG-GUID: a-0U3ZO5EWP1rJWFlBzOhT_FHANw50SB X-Authority-Analysis: v=2.4 cv=J+eq7BnS c=1 sm=1 tr=0 ts=685b2c71 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=GpPnMnrImHjYsJApwW0A:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfX2uuzWvUTlt1N DmKFaWi/TNjitHlfMcPW5pqXOfJFDcWtotBtScopoNnAyySe5NGwiSxffWUcTti+seGGdkGgdV+ qze92iP4VgFAdbXXo4NWJpcZB2ouX+Ib0pFSKJLk6jfBF609HK9v5XImd2pjv3eESfpzhVMdBjS 5CaIZ03m20l1cy2rEXglSy1BD9KBl2IxVEWgyS+cGDzgw/lChmOQdNb7wmzBqemYdLA/7IPDpr3 uL6sU2ue2/FbvbZ29eil8aqwajo+wXOFEOZ9nwP3KwQXLp2HoLyLCoPqmMfQC2G2GJVTlhG7v6w GIIt2R84KfRI2WVNyEDtdZgrdKc8BvmwhTuhom0n1geQisdZThEJX5bY4LM/TCOViGwRucYZElh +WsPRTvq3LvLdKmsXeqj5pCVm3urPoKIz+cAcWPRKlTPW4BmPYnmL9vAIoHJ0AErvVcMcjaq 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_06,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxlogscore=999 adultscore=0 impostorscore=0 clxscore=1015 spamscore=0 malwarescore=0 phishscore=0 priorityscore=1501 suspectscore=0 mlxscore=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-2506240182 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 20:02:01 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 2A58F25DB15 for ; Tue, 24 Jun 2025 22:53:39 +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=1750805621; cv=none; b=G0taS7iNRY5IR/zyvjT7/ZTgr4LLVHVMdi6jKGaC9rIh9f+3dhm4ppRwjUKY0pw2z8cS4NqHpwwJMYWyuMPQy3oUwqN0FCiJY+EUhlLrA8p2uGcpoK0BFGdiSMXBiddQsr5CRud8DofNzIPrLZib3df7w/RENRYpGw92coWW2bU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805621; c=relaxed/simple; bh=10gNgfM3NLul0Lyvp6Astufc/GQTsX03rgRFpk/VXnQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E+AIeMqPGU4Kqf9+U5GNtLQcsRHO4uJm/SLaTVH/akNtk6YsglbenRIUeVk0OGeQOgEif64XyjG5gRFiihE4WYornnZrifyoMkwqT3kQvxpYfvKGj0TxcAbxtS291hJRbMyForQIJfJXfa7qMS0FEmhXsA5sm5Rnann5cKKodLI= 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=CcaqReEB; 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="CcaqReEB" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55OFUYNJ014481 for ; Tue, 24 Jun 2025 22:53:39 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= kLyjXarH3NxxVphHpKrSoQJeGy8UWV9LCHE1PIZu+X8=; b=CcaqReEBMOKyP3Y6 X4BNpgQo59ePfMKqCFVaf80eDWB7uXNgkLPOSQfRTjRlCl1E+3XvJrbwJkNblyN/ ru0epCWx/gsetknq+L+08HHKuU4xNS/vOsZZ3qIi1pzgDGpZI3M3OL/95CkTdX6g ku+1JDxpMnDijpBwkkNuTq99ghw9DL1caziDAacFOBYhT7WMkiJ/Q64ndUi2rjJm 3TPcp0qf0wu0w8BBKOFF3PhC8jIMoA7PmG7u17M3ZHicHPfrSIXUzIhs695QzqHf WUZUKKygVPks5DjRcZbxvIcY/NN+pKN1TszvrVv0qJZwcB0PjhtUXKhAG3usXBZs N0mzNA== 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 47evc5pwwm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:39 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7d09ed509aaso143944285a.3 for ; Tue, 24 Jun 2025 15:53:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805618; x=1751410418; 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=kLyjXarH3NxxVphHpKrSoQJeGy8UWV9LCHE1PIZu+X8=; b=hA4empv29YxjEZKpghtwmADWo6r3MVv0grdfPFHE1PZAke229UTolOLscQXfr9K5E5 tB4gXAhykYG/gdzy3gprXIoy1Tt4rIXPNH/CqB3LCklbKO2TK5wIJdhIMF60Tn0eirbR LdtwVkUFkrWPe4sKRNe6nTJ2DG/QrsBxNYD1CpnsOM7zCPAfs2flkNKuh5yUu+bf/rlZ Kge09ItUhtP1b6oxQ9hWCX0mFsr+e+JaitcLPn5hVrlmVi7Delpe8EjAo7k/8bo44rSs LkaVNG1w+ug+ARmXIVBdDBAx5Y/fO5myAwYhyAghlYvBuo9ELOCXtt2noXYjsaaNwKK4 55cw== X-Forwarded-Encrypted: i=1; AJvYcCXyk5jkjZ0MKidFffUEwT2U7/e7oDFjWJnRQQHxJWI+5t0Z73d1NAxnfZxW+YozitbL7m2xnhwcRZIXjrA=@vger.kernel.org X-Gm-Message-State: AOJu0YyembNUJEaJ7ybIrruXfULhcGFFQuE24kJiUS3Pr7Eu+9jB/byw j9p7mITyRKz1W0vGNXnWs02+T5jNa0AybDW3qHylSDR1dM6JfQIiD6BrXaarx1xFA7SSIrQ8rmR 6vfJOoCYii9i3uunirPDCDqDlx/fg8kWLpgT6ZEzpGNkx+N+tT5pxTLhroqfrR07Oo6A= X-Gm-Gg: ASbGncvhB6IGKZfQ0RUstM9x5XX+bA6GsBqRfBPULrpLHQtjBCoVj7W+WRvcByixFkw NCP5CjZspSCaLLltH/a1fi7fsYSR79tkNQtQmRhgVyZFGOKvxHfYCAjz39pdY2g1zc0yMEMBghq QV3K0LmXyCH2WARwPpowQ9oMN5cQoinJlFToWAJ8oko5hnDGURchZ+mgDE1mPcqhcSTTbntIysk P1eMMzBaxeIrtxzUPA781K/jhkRGK5vppWgCfG/lyf3aCABie4hLjJ/PVmyBdZUWkKh3UjK0aiT QIFimkJyGkMyi8UWXbjPzO+H1B30zXSK2PzR2YVDZltpCab0QvwwYnfos7vQlrOBT4wvuTMgKnz VT5wjXdPjaTyjFxsP+bkOo/4f0/ckGE+6yxw= X-Received: by 2002:a05:620a:8909:b0:7cc:8a39:29df with SMTP id af79cd13be357-7d429682a21mr124612585a.9.1750805617759; Tue, 24 Jun 2025 15:53:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEZxK9WPfey371JlMI0Kl4hLep054ivdk3i6Eea6xZKRyLE1cASq3xVBO4HuRkxNhUSWqi4YA== X-Received: by 2002:a05:620a:8909:b0:7cc:8a39:29df with SMTP id af79cd13be357-7d429682a21mr124610385a.9.1750805617356; Tue, 24 Jun 2025 15:53:37 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:36 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:25 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-6-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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 , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3296; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=LSGRg6DIU9mZ8qaOnuLygzuTIKAfgHLBLlkkYZmls7Q=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxjCwze5H4PJrYGDKeCZ+ZE1H8HAI/i6tIA4 wCU2yG+GNmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYwAKCRCLPIo+Aiko 1dZFB/sE5W+i0dAxLPDzpyGeTG873x/4R3cwGF2Y9j4Z+buQwj7IE9C6VGiwSlirgQ9fVT8OTyQ mll8AB+gUVPIVXEB4I/Bze3t17g5U05usUORTdxcm/jT8VlPTQuW98XPztrdsXrbK+LWrRyb7nc r6dazSY4ndz4wC4Vs4lYXxWCwrBgadm5AyMlXhf7ALTBxBrm7y4yFYm6A/iUFGmKP+p28Xxk3zd OGkjk03eFtn7tEbX7CTMsXu+8lzUvmWd4+HaV52ryVoOd99TfPJ6+V/iizC8OlCk2bCun98jz3H dVoU+UHIb3NxoejIj31WOPylqSpkfIERZYudUT6gnuv5FZ80 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: ipgKcLruM75-MIQEEh_euExMQPl5xMuC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfX+h7a9ZustEjc vk/xbG2PMZhc8zqovJngcT4Kkc5q5qSv3GBaND5LN2DvJkwYVraBfe5t6v/BYvm2/vNEwqFnawl k6ACNKup+CpwHLoEhHKO4ZSuHoXQiNFfYNAk/YgAEw/0pMWd6LCErBpFgn6gEEbMOpZu6azA4Bn jLEfTjvLsJn2rf91FjtSXpZAZdrI/aS2NhqlFicKVUhwKcjHSAkYMDBNlJHsuRWrGh2cCu9OoGf ZEvttT2K+hDLhyMY86qBUaKwRllkiLuyJe1xi0x9pL+LkTzh69ftPmheMmJV3appUYLILbM42kH ylqvSRHZ9f+QV7HV4JyFZ0ElKfDxqooMh4LkFwF9RbVW0fv4PXXjX7rueXTs4TUyzKKt3qJizbK gYUot36bXlvptu/dPqVMZoKyEdcbIUwapbNfStcVFN526aRU6/To/Al1PLSSujRSmJBWz5u8 X-Authority-Analysis: v=2.4 cv=caHSrmDM c=1 sm=1 tr=0 ts=685b2c73 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==: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=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: ipgKcLruM75-MIQEEh_euExMQPl5xMuC 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_06,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 adultscore=0 mlxscore=0 spamscore=0 malwarescore=0 phishscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240182 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 Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- 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 20:02:01 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 CCC4225E458 for ; Tue, 24 Jun 2025 22:53:41 +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=1750805623; cv=none; b=hi7YuK6m3gGZCt0BzdH2Pa/anpqe7H6mL+TydAon4hKmxNVkZ1hGxgW0a9KOvBdsCTOPalEhkp1XwKu+/96qifhefk56wgjqy8kM+NH5Kg8Puk7O/NuetpXYeWVXa5vzsIw9ZbaAltmIDGmz8S+0nti0clC/krJQoyTpAkVo+4g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805623; c=relaxed/simple; bh=fzBC2xoL+zqcCdvdFp6QOzxB8vCAph7pd10rAyAoyFQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UsXbEujh09YRPM9vNgcwSPsGEPp+UOsX6I7Yr1OsylDe5AgzLqt5nJtRfDWvbh/6b4cpxt+/KoZQBAXCWmhCo2ikWiaydQ3xAHOt9QtcdYAbar75oTFGTMkZhwYC/LkXUGs4rbeL0My2Itm0OjDMMe/qi0jEDYAI08rVsgNSZZs= 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=GZXI4aAg; 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="GZXI4aAg" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55OF1M99020784 for ; Tue, 24 Jun 2025 22:53:41 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= 8NIM9T6hNdyQApd2V3NHJVIC0mrVXV0ISFYbKqPxryc=; b=GZXI4aAgC5zdYbkB RWawKfyY6Gszevvpx/HE1AhxdO1l3b1aQvRiwdVVQH+cdZtvNoh7mEy24yq16o7c IOOSt6yDbJcCw/Lc3ZbOeCJ1a/OtGzSWyxDyhmarWdFHPXJd98uArZUm6JcSJHfy +ZxufvRbZHJltHsoWkPK84LPlboRVv0PqTI4i3GQoVTb5RgssSmWk3EJYLR/TXUw JU/zTRfNKDp/2sdn/xJhcKtahfsOIzDCuarTuWOqRphDxt8h1lvLd3MdX4SVyXRl 3xxXxi5pFLnAXnRQaD7+pX4oeAykFg7bGjJFIjHYOv24iQTyLQGkNB52dexFJqI1 JI5fsg== 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 47f4b3wnsu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:40 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7d399065d55so130817885a.1 for ; Tue, 24 Jun 2025 15:53:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805619; x=1751410419; 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=8NIM9T6hNdyQApd2V3NHJVIC0mrVXV0ISFYbKqPxryc=; b=LJQb00wdXUAxKRLo6U5d31fwBKM/ogBOZ8xPoMFcge2KC3uEYxYLysqxnTDN7+xzup zxfHqN3zUbKwvZAAhXqhFE+97hhGQN5D4Cxp/MFCuDCOlL0wPPGsxH4iC/4qsuNOb7JT fH8IK9TMMraIk3R5O3h7Sx0lPDUW7gCl30TCPi1zvyQHqR2gWjcU9fGA7i2H9grtiUMv WD7Qu+fhXMcSyXsj0d+NQ+qwrTIqaVR597cEOSd5HpIhJh94vvDU42jcoGn7kH1IxgZr SH6JLr+Lr+AC98wdnlEACFLVZCZXoWb7xmLrAPnDKAAx9MfoQKx6l4BXMLQCCxpHb52n cYAQ== X-Forwarded-Encrypted: i=1; AJvYcCV4GAVIiYtBG+BpUscM5XY0HB6a0V6QOXHbFWar0UbNnxHKc3lYjjjHzRQtTOasWDCwCy4xodzHrYlV6uA=@vger.kernel.org X-Gm-Message-State: AOJu0Yyf3fy3rfmOngtzTQWy5WimqUWmJdx7Cl9GAJNqKoO9sxlUD5wK dBHYRf+KAI70UecbaundhSaVuK15uBAFmihRb5ZPlbCiwL9rlLqH/4pLBe4Z5w/2eQvBGdXXp7o bz0U5Sd07Tc1EdEOGi0MpMXySkoARjmVs03lQWR6jdUwxCqc5r9QlYeoJUggl5DOG8bk= X-Gm-Gg: ASbGncu5nCVT8NQlv5PyMu9CjjuMkTfeG5BQSFy0BdENEraD1iIoJ5AvEJAqsLsWFYj JdRblK8ro+6nRO7RzpUgeT0jFhtm1ZFPa3H8ZtyD7pv+ivISW7Av2E9xWQoFDAItWM0tOi7plCA M9Dz9k0IUU6Zs654nuBVqrsfyLlcBNXLIkB/x5Xm1CniNxATUnSKP2cwbjTxpmrN5BT2pqbJck0 hCjheQZYG8Wf8f+TdMQRh9iYigznb/maRlZ2CHVm3bRHADHJArhoUcHwqDpJQuF8gEL6GajL6rY tFLB61g1U7BQl3qteiertQINTdnsPzYhYOWOIDLK4xAH3dU1IFB7RszpbKi3/7wG2vJG7M6RAoJ o8ngSdJzWHBS6VHipiUcQPrSY3+I5S49EbrU= X-Received: by 2002:a05:620a:489a:b0:7c5:4463:29a3 with SMTP id af79cd13be357-7d4296eaeb3mr136492285a.25.1750805619200; Tue, 24 Jun 2025 15:53:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEArHTt7L3yra76vcOX9pHi5y0XwXAgplfEwKMaA+D1SyjqM/8XRnYIHLsA2KpxGeCCOQTelQ== X-Received: by 2002:a05:620a:489a:b0:7c5:4463:29a3 with SMTP id af79cd13be357-7d4296eaeb3mr136488985a.25.1750805618744; Tue, 24 Jun 2025 15:53:38 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:37 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:26 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-7-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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 , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4931; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=cWoHO0MsVGuzMZsWaCgpVEQsk3VIUIcF/KJvccYMdzs=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxjQwD68t32h8d/QHOesm1x5z3pruiLn7HRU w9Ub4Us1bCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYwAKCRCLPIo+Aiko 1RH2B/98/HW2wQwAkPEHQXtfRUHSuLSmvcQvdNliBhX9EGiDR26KoItjdnPz353c2hroFgqzkyt 5MlUIJNAARicuZ17oB8HsJAs1Fj6/kHYJil96po9yxEFUGO7CJgkVZRuDY7/RCN1mlcWlhaK53N RANcoWMs068o6HEAQblUSEMpUgB8kgxm0C/TsClgmyO9Z0ridT6n/pxmSDzhRhxPSFG5wwkpcyL mW5abuK1SGFEoUXfafScbF6uJ9/jkWQDpFWBFj1NNFrNNrfDDxhpMNJ/RkG6m7O1qDTmbQTetWy HVzEhf+q9fJ+pJl9Cx/AN1hUGGAfCt06PlpPPAcH/pCuW4qY X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfXwMTDhWuv5QHC 0CiJGzHlCBZC0d19Iwer+FHRQTOz8FKHAJdFc5pwF2+1SoVBmmwFtGAcSKpwcpx4tlgmf/s4hkx Tf0wP9xfhfyTYvw80Jd2H/514vyHgJitJGjzJEiBmuaurIMNcdYubYCTzbo8ophbgEDk9e7R3Dd LQBSErh8NyEUa8MGWPwV3fp2oW7o508hORdoeB1Gx67ntnmRXGeRMWxu1qrck2eg6cdQw90zoUL onDKW2kY3qA92qrtNPyVLGiVydBlyEiw5iaUXG+I4HiMuiTgEyzbEraKk1+6cuLFZ6v/ApI2vJG gFYRbMRj3X+m3fnkS6h7eaLHCmlmqOELLeLsUb08B59+vwyeltsnTTT6Z7MBiDbIfCc158vBh59 kc7P7QCD+aV9lyYiop/F1ZIveroROfenPA1Z9/28Z5wF2Lk0VsGlaell/daEHmBv4f2H5g1d X-Proofpoint-ORIG-GUID: wlFRi_EfFIYS8vfrQ24VFBA832oi-b0_ X-Proofpoint-GUID: wlFRi_EfFIYS8vfrQ24VFBA832oi-b0_ X-Authority-Analysis: v=2.4 cv=A8BsP7WG c=1 sm=1 tr=0 ts=685b2c74 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=-DwM1zgTEUuOfulMvEAA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 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_06,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 bulkscore=0 phishscore=0 adultscore=0 impostorscore=0 suspectscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240182 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 Reviewed-by: Konrad Dybcio 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..025f834e95b537b76d41b59b638= 71a4ce5bed717 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 &qcom_qseecom_disable. */ 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 20:02:01 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 081F825DD01 for ; Tue, 24 Jun 2025 22:53:42 +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=1750805624; cv=none; b=YarTwtvBqlwjUiRedKr5N7zKPWRgGCc220XcQcU/FV5K92ra8usR1niMEJVlwIh+iqAygZJMz0THV7rMD6sj32mRg2gJ/x3M56h2B+hKrTYCLzN4Lq4/bOxLXh8O7hWAxEzVgKkqP1JxyPm1vsxrh/yzTVJPYtHJssDz1dZqX+E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750805624; c=relaxed/simple; bh=wwPgZquGtv5ruN02X/fEQJ5qyMWldQS8yZQEL7GHlMM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bEQegM7t7imK6Gu+Tn3NFdjsTNQwgvjYwsRHUPwnHDNCrQZCgv4gce1LQeqkm+z/ZrM10txAQacMJlqMQ3t/ldxAvV6QhulK1CX0ohQiAM/FBORTVLrHdSkzhst6wAjO2rd+BXJ6QNpxQUrli1cTtbrH847EVFCUi62AKhsloxg= 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=gEPgoDpG; 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="gEPgoDpG" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55OF3rnM015714 for ; Tue, 24 Jun 2025 22:53:42 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=gEPgoDpGvLojpvmN ferkvyLbtO30MbcEM/UDeq31z2HtlUTqYLcGGFCbiqhn20mvxejazf9F/RL8ngGJ HhOCacnvpHcHC0MvgvMpdt6lwmpqc8sIBZrRB3qkhL28BbRfRpxtmWKuqNCmL7AY Lu0vcVtWZMoDhWtX+lEzqynmYDvJ3I/V6N+iVFdyc/pCEjONTR9+mQzh/1iyn5LH ouk39fIxE1HnWOXD6yxv8IT6FG+bzU9sNYyFtrLQJBflUfES9yTX8DmH9KDkFK5J SZ2fh9a/WactcTF/L8qKm+Nm3bWvLvSMjYizxqsA26vSZWR0ylXKH2pfMNThL8xE uSQFoQ== 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 47evc5pwws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 24 Jun 2025 22:53:42 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7d413a10b4cso141220785a.1 for ; Tue, 24 Jun 2025 15:53:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750805621; x=1751410421; 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=h/H4Afne/RSeA0J+HbebqK8svIj+l8DgnfSwmH1owLD8T8WBYGwcmRoIW3gJCA4TD9 KtyZF5u42H0LYijDbtjCsHe54XHP8vt2M8YqUKDm5639JA/wwlcLxQHe1yX4O5EfFZZq Yps//9CtBJEGnPhskgk4PWEHh+4JhqfnINx01jpxMVzWtzCJlkJVn46xWYsdUoCJbrwq JfFSPq5sX6Z2WXTW2gQ1Uih11mXTQprPVF8PTioVQ4Xk4+VEcN1rU703Btf8j9n2t+Nq AjyzfzmqKqO49QgPDuSGH+1U4u8wHkCGPmxfMq/zH/GW7UWgMxqOMZc0c5Lu8xp2W2tF 3uoA== X-Forwarded-Encrypted: i=1; AJvYcCW1PjOPOgo75KjWG8o60JRs3dnQOiYLzfk/IQjXurG253xZCY83TTQWWN443shZON4tbWqYcfLcHuUNuKs=@vger.kernel.org X-Gm-Message-State: AOJu0YxBxxQ4zu1Wt1V8Gj9+kQXmH9JwSVyBGikTnAuZiB0Wju5QXwgC LjGRuzg7HD1llHeaAnHf8xJ+9RrddZZnHlOn7A6aZYI/ifch0Ii+A2uBdm6UjMRAAAYKxZE7Dt3 pcjDuOvNcGCaGlnjYBPMB1ZIHTWiS4ZBkgczo1IlyRvrm7WqKaXmUoKW8AlvilU2JAoM= X-Gm-Gg: ASbGncssEUBLQ9jUO1q1RFVJ4Esgo/XRXp7S9twcBVxS3U9fYDQAniuF3d3YaESbgAR +6FSDiMfN7DLDxuQsXuWQYxhl+otFdC2KA86QoEatwlciHSa8YBnpVRin0QOhK3zvAHn21jSUzD EH4r6/VVE5rNB3qf57Y46zS8rSQ81Jor2CJs4CeFQ/W/pvTcmvfljoubPXWFpwtsmZhVhOyu4hn /jo6Fjbwk4N3hDcDowrtPSngIQ24NcLlE72WLzfgYUHOiNxUGTtQOVqpWl8EayhipDlnOucORqQ DBqZzQVG3LVluEvLC5wIwVtUAXWM22XA8U01arwTam8H0gJMr3NPPPTpv7zjXkI6QW3TrNhO6dv /qkcu4o/bK3E3jeRn7bX7xkDoLm7KGpFXVh4= X-Received: by 2002:a05:620a:27d6:b0:7cd:4b5b:a202 with SMTP id af79cd13be357-7d429660f2dmr101679085a.20.1750805620734; Tue, 24 Jun 2025 15:53:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9xF1syLAiuEsqu/heJ8lpyFR46117M7xKVjAZCzFveTqDxwrpzUPLXqhhICzq+lLpzCaIFA== X-Received: by 2002:a05:620a:27d6:b0:7cd:4b5b:a202 with SMTP id af79cd13be357-7d429660f2dmr101676185a.20.1750805620360; Tue, 24 Jun 2025 15:53:40 -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 38308e7fff4ca-32b97f5980bsm17843851fa.7.2025.06.24.15.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 15:53:39 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 25 Jun 2025 01:53:27 +0300 Subject: [PATCH v4 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: <20250625-more-qseecom-v4-8-aacca9306cee@oss.qualcomm.com> References: <20250625-more-qseecom-v4-0-aacca9306cee@oss.qualcomm.com> In-Reply-To: <20250625-more-qseecom-v4-0-aacca9306cee@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/pANAwAKAYs8ij4CKSjVAcsmYgBoWyxjU159/FTOyS5BGPqQoUzEdLnGP1il44N/x nc515L+9muJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFssYwAKCRCLPIo+Aiko 1VmMCACerDOGChKCDcExtpZQRx5lJTaSBwEz4xFhjhGd/BKiRHyF/9eb9hrZB7qJg6JKmZAYtIb 9CHm8W3pJwTyvM+GG6WKaI0CUexK2Ko/4bg0NHIiaSLaLJqmjq96/0zj+zThY5gves/Rqc4L6jT 5LS0eQKJKYv6JfZSByY0HqD8epocnxMQaEaZVzlRViknEzKLVt5Xa9LQLqsGY5FOj/rOA1dqDwg LlZGrH+BpA7VVzXnU3fDiC9KG7BHfVVOPqxDyCPfdD9tEnuyFNFOIS6DAvhNwXgsZdn+gHGtRwp ThQyNVqtrtELFswd9kF9hoKFAMnkdKyEM9xun3P565ZyKOks X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: uQcE-f2ZQRqwlZf7cOWDhFOufcZsChlN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDE4MiBTYWx0ZWRfXx7VQVImXdUCh Z52gSLyPlhUOMTCgY8CpiAzKGknWiiNt56NRBFpkmOZLZa2aQUpxG3tWziMHYApscr2OcEhDkBP bQU1TbAgzYAYCRttpFpjFrqmXbBrxBLgl9G7sAqquKAeovIGXdEE7Z2JzGIhUuxnG1d4NgttxH4 rjmy+IiseNVlFmYE1/nxn0/kARnO6SBmbevp2vo3gaco6QaeV/s8oj5vZYlMEYdWns8zUmd0dTg okyYl5tAQqw+8PS8O19+L0ZAOVB4Pq9AW8psMWMGONW0Y/X6NBM/TvfIiz5U2/bQFEm/Gk8yLsz +4IEIIAZ5s3dFzmlo0ix3QLSe8t9UEBruWeWNEHMRsluDVdqxrTqrMd+nOFCxU+WObIT4zcvwWk QVcRVZRIL3Xx5ipjTEJlSajGckpGqQlvuioA4j9CmrwV85rGqWAgq1fxiyAdfnvPiGg8xPIH X-Authority-Analysis: v=2.4 cv=caHSrmDM c=1 sm=1 tr=0 ts=685b2c76 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=lpcYNmPcDvg0ODyLRbEA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: uQcE-f2ZQRqwlZf7cOWDhFOufcZsChlN 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_06,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=982 suspectscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 adultscore=0 mlxscore=0 spamscore=0 malwarescore=0 phishscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240182 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