lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b94d8ca3-af58-4a78-9a5a-12e3db0bf75f@kernel.org>
Date: Mon, 6 Oct 2025 22:03:59 +0900
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Pavan Kondeti <pavan.kondeti@....qualcomm.com>
Cc: hrishabh.rajput@....qualcomm.com, Bjorn Andersson <andersson@...nel.org>,
 Konrad Dybcio <konradybcio@...nel.org>,
 Wim Van Sebroeck <wim@...ux-watchdog.org>, Guenter Roeck
 <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, linux-arm-msm@...r.kernel.org,
 linux-watchdog@...r.kernel.org, devicetree@...r.kernel.org,
 linux-kernel@...r.kernel.org, Neil Armstrong <neil.armstrong@...aro.org>
Subject: Re: [PATCH v2] watchdog: Add driver for Gunyah Watchdog

On 06/10/2025 19:03, Pavan Kondeti wrote:
> On Mon, Oct 06, 2025 at 05:56:42PM +0900, Krzysztof Kozlowski wrote:
>> On 06/10/2025 16:37, Hrishabh Rajput via B4 Relay wrote:
>>> +
>>> +static int __init gunyah_wdt_init(void)
>>> +{
>>> +	struct arm_smccc_res res;
>>> +	struct watchdog_device *wdd;
>>> +	struct device_node *np;
>>> +	int ret;
>>> +
>>> +	np = of_find_compatible_node(NULL, NULL, "qcom,kpss-wdt");
>>> +	if (np) {
>>> +		of_node_put(np);
>>> +		return -ENODEV;
>>> +	}
>>> +
>>> +	np = of_find_compatible_node(NULL, NULL, "arm,sbsa-gwdt");
>>> +	if (np) {
>>> +		of_node_put(np);
>>> +		return -ENODEV;
>>> +	}
>>> +
>>> +	ret = gunyah_wdt_call(GUNYAH_WDT_STATUS, 0, 0, &res);
>>> +	if (ret)
>>> +		return -ENODEV;
>>
>> No, your hypervisor driver (which you have) should start the module via
>> adding platform/aux/something devices. Now you are running this on every
>> machine, which is clearly wrong...
>>
> 
> This is a good point. Thanks for bringing it up. We don't have a
> hypervisor glue driver (yet!) that can add an aux device. Based on v1
> feedback, we would like to be a standalone module that can self discover
> gunyah hypercall interface.
> 
> Currently this driver depends on ARCH_QCOM || COMPILE_TEST. So,
> technically this can be built and loaded on all non-Qualcomm machines.


Not technically, but practically. We do not make single-platform kernels
anymore, it's not 2010. Entire arm64 is multiarch.

> 
> We can make the STATUS SMCC before looking for the other watchdog
> devices and fail early.
> 
> Our Gunyah glue driver [1] do make SMCC call to establish that we
> are actually a guest under Gunyah. Since our intention here is to
> support watchdog on as many as platform as possible, it is better not to
> tie this with glue driver and make it a stand alone and self discovery
> module.


I think you should have only one driver pinging for Gunyah, so glue
driver or this. Not both. If you add such SMC here, then how do you
determine the platform in the glue driver? Via DT? Then DT supersedes this.

> 
> If this is not an acceptable solution (Please let us know), we can find other 
> ways to limit it to only work on Qualcomm machines. For ex: Socinfo
> platform device is added from SMEM driver which make it only probed on 
> Qualcomm machines. We can look into this. 


To me socinfo feels even better. That way only, really only qcom devices
will execute this SMC.

Best regards,
Krzysztof

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ