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]/