Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] harness_reset_abi.py races with its child process when resolving the 
Generic Netlink family, leading to test failure on a fresh system.
--

--- Patch [6]: [RFC PATCH 06/12] drm/fabric: add YNL query and policy selftests 
---
commit 095db697e4004f927fd42e79eb88a4bd06030771
Author: Konstantin Sinyuk <[email protected]>
Subject: drm/fabric: add YNL query and policy selftests

This commit adds eleven kselftest programs for the drm-fabric Generic Netlink
ABI. These tests use the in-tree YNL client against fabricsim to cover paths
like policy validation, multipart dumps, and family introspection.

> diff --git 
> a/tools/testing/selftests/drivers/gpu/drm_fabric/harness_reset_abi.py 
> b/tools/testing/selftests/drivers/gpu/drm_fabric/harness_reset_abi.py
> new file mode 100755
> index 0000000000000..211613185a39b
> --- /dev/null
> +++ b/tools/testing/selftests/drivers/gpu/drm_fabric/harness_reset_abi.py

[ ... ]

> +def test_sigkill_topology_recovery(ksft, cfg):
> +    """A SIGKILL-leaked switch shape must not survive the next entry 
> reset."""
> +    # 1. Bring up the switch shape in a helper and confirm it is observable.
> +    child = subprocess.Popen([sys.executable, "-c", _CHILD])
> +    try:
> +        fab = L.DrmFabric()
[Severity: Medium]
Is there a race condition here on a fresh system where the drm_fabric module
is not yet loaded?

The child process executes a script that calls insmod('drm-fabric.ko').
However, immediately after spawning the child, the parent process calls
L.DrmFabric().

Since L.DrmFabric() synchronously resolves the generic netlink family,
wouldn't this fail with an NlError exception if the child process hasn't
finished loading the module yet?

> +        loaded = L.wait_until(
> +            lambda: L.module_loaded("drm_fabric_sim") and 
> _has_switch_peer(fab),
> +            timeout=10.0)
> +        if not loaded:
> +            child.send_signal(signal.SIGKILL)
> +            ksft.skip("harness-reset-sigkill-recovery",
> +                      "helper could not establish switch shape")

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=6

Reply via email to