Manual deep-dive analysis of this build failure (source inspection of
the 7.0 trees; no failing build log is attached to the bug).

Summary
-------
This is a source-level build failure, not a runtime bug. The 7.0.0-42.42 
resolute master source fails to compile on arm64 for the flavors that enable 
CONFIG_DRM_V3D (gcp, aws, raspi, oracle) because the v3d driver carries call 
sites for symbols that do not exist anywhere in the tree. The generic/master 
builds compile v3d as "n" (CONFIG_DRM_V3D is absent from the master config 
annotations), which is why the breakage went unnoticed until the flavor builds 
ran.

Root Cause
----------
A partial backport. Upstream fix "drm/v3d: Associate BOs with every job that 
accesses them" (fa98563ab00d) requires the 8-commit v3d submission refactor 
chain (upstream cc29c864ee50..fa98563ab00d). That series was cherry-picked into 
the resolute master source during the LP#2169638 stable-patchset preparation 
and entered the tree at 7.0.0-40.40, not 42.42. Upstream, that series is built 
on top of the 7.1-cycle v3d work - stats refcounting (266d4ba30d6a "Refcount 
v3d_stats" and 745cc3f92a4b "Hold v3d_stats references in each job") and 
runtime power management (458f2a712ab4 "Introduce Runtime Power Management") - 
none of which carry a Cc: stable tag, and none of which were cherry-picked.

Concretely, at 7.0.0-42.42 (and 40.40/41.41) v3d_submit.c contains:

- line 277: ret = v3d_pm_runtime_get(v3d);
- line 280: job->has_pm_ref = true;
- lines 285-286: job->client_stats = v3d_stats_get(...); job->global_stats = 
v3d_stats_get(...);

but v3d_pm_runtime_get() is defined nowhere in the tree (it lives in the
v3d_power.c created by 458f2a712ab4, which is absent), v3d_stats_get()
is defined nowhere (it is introduced by 266d4ba30d6a), and struct
v3d_job has no has_pm_ref/client_stats/global_stats members (added by
745cc3f92a4b). All these lines were introduced by the backported
"drm/v3d: Introduce struct v3d_submit and convert CL/TFU/CSD ioctls"
(upstream 57df8fa619c7). A whole-directory symbol scan finds no other
called-but-undefined v3d symbols.

Affected Versions / Packages
----------------------------
First broken release: 7.0.0-40.40 (tags 38.38 and 39.39 are clean; 40.40, 41.41 
and 42.42 all carry the orphan references). The same broken source state is 
present in:

- resolute master source (7.0.0-42.42)
- noble hwe-7.0-next (identical source state)

oem/oem-7.0-next is NOT affected (it does not carry the backported
series).

Missing Information
-------------------
Whether the three named commits have been backported to the 7.0.y stable series 
since the bug was filed (2026-10-20). Upstream mainline contains them.

Recommended Next Steps
----------------------
1. Backport the three commits named in the bug - plus the intermediate chain 
commits they depend on where clean application requires it - to the 7.0 master 
source, then verify by building arm64 with CONFIG_DRM_V3D=m before upload. Full 
prerequisite pool, in chronological order: 0a5b0d095bcd, 8cf1bec37b27, 
0b2a4569cd9f, 266d4ba30d6a, 745cc3f92a4b, 2f0e110735a4, 7315728ab538, 
de1e32ef1d62, ffd7371ed417, 458f2a712ab4.
2. Alternatively, if the 8-commit v3d series was pulled speculatively rather 
than for a specific raspi defect, revert the series from 40.40 onward to 
restore the self-consistent v7.0.14 v3d state - but that forgoes fa98563ab00d's 
implicit-sync corruption fix.
3. Add a build-verification gate: compile an arm64 config with CONFIG_DRM_V3D=m 
for every master upload that touches drivers/gpu/drm.
4. Record in the patchset bug (LP#2169638) why the v3d series entered the 40.40 
cycle, and audit the other non-stable cherry-picks in the 40.40-42.42 window 
for the same "consumer backported, provider not" pattern.

Kernel trees available for deeper verification by engineers: upstream
mainline; Ubuntu HWE 7.0 on noble (branch hwe-7.0-next); Ubuntu OEM 7.0
(resolute, branch oem/oem-7.0-next).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171486

Title:
  7.0.0-42.42 fails to build on arm64 for gcp, aws, raspi, oracle due to
  CONFIG_DRM_V3D enabled

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2171486/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to