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
