On 19/02/2026 10:16, Danilo Krummrich wrote:
On Mon Feb 16, 2026 at 12:19 PM CET, Koen Koning wrote:
Use subsys_initcall instead of module_init for the GPU buddy allocator,
so its initialization code runs before any gpu drivers.
Otherwise, a built-in driver that tries to use the buddy allocator will
run into a kernel NULL pointer dereference because slab_blocks is
uninitialized.

Specifically, this fixes drm/xe (as built-in) running into a kernel
panic during boot, because it uses buddy during device probe.

I just noticed that this patch was sent twice, and I posted my feedback on [1]
-- pasting it here as well.

Fixes: ba110db8e1bc ("gpu: Move DRM buddy allocator one level up (part two)")

This Fixes: tag seems wrong. How is this code move related to this problem?

This popped up as a very recent regression for us internally. It looks like it worked before since link order ensured drm_buddy came before all the driver code. With above commit the link order changed and became drm/ and then buddy. See [1] also, which is maybe clearer to see this.

[1] https://lore.kernel.org/intel-xe/[email protected]/


This should rather be:

Fixes: 6387a3c4b0c4 ("drm: move the buddy allocator from i915 into common drm")

Also, please add:

Cc: [email protected]

Cc: Joel Fernandes <[email protected]>
Cc: Dave Airlie <[email protected]>
Cc: [email protected]
Cc: Peter Senna Tschudin <[email protected]>
Cc: Matthew Auld <[email protected]>
Signed-off-by: Koen Koning <[email protected]>

[1] https://lore.kernel.org/all/[email protected]/

Reply via email to