All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Danilo Krummrich" <dakr@kernel.org>
To: "Matthew Auld" <matthew.auld@intel.com>
Cc: "Koen Koning" <koen.koning@linux.intel.com>,
	<dri-devel@lists.freedesktop.org>,
	"Joel Fernandes" <joelagnelf@nvidia.com>,
	"Dave Airlie" <airlied@redhat.com>,
	<intel-xe@lists.freedesktop.org>,
	"Peter Senna Tschudin" <peter.senna@linux.intel.com>,
	"dri-devel" <dri-devel-bounces@lists.freedesktop.org>
Subject: Re: [PATCH v2] gpu: Fix uninitialized buddy for built-in drivers
Date: Thu, 19 Feb 2026 13:56:48 +0100	[thread overview]
Message-ID: <DGIYEDHZTNJL.VJVC0MLJWRN9@kernel.org> (raw)
In-Reply-To: <1243e2a5-02bd-4b44-9008-6d18a706e44f@intel.com>

On Thu Feb 19, 2026 at 1:44 PM CET, Matthew Auld wrote:
> On 19/02/2026 11:14, Danilo Krummrich wrote:
>> On Thu Feb 19, 2026 at 11:38 AM CET, Matthew Auld wrote:
>>> 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.
>> 
>> I see, I think this would be a good hint for the commit message. :)
>> 
>> However, I think it was never meant to rely on a build system implementation
>> detail, nor would this be correct. So, I think this should add both Fixes: tags.
>
> Yeah, I'm really not sure tbh. From a quick grep there do seem to be 
> other users relying on this:
>
> drm/drm_drv.c:1274:module_init(drm_core_init);
> drm/scheduler/sched_fence.c:238:module_init(drm_sched_fence_slab_init);
>
> The sched one looks identical with the slab thing. Do these need to be 
> fixed also?

Yes, those should be fixed as well.

Also note that module_init() compiles down to device_initcall() when built-in,
i.e. the initcall stage that is mainly for drivers, not for subsystem code.

Do you want to send a fix for thise as well?

>> 
>> Whether it should be backported is a different question though, as it seems to
>> work by accident in previous versions, i.e. it is only a "potential bug".
>> 
>> My personal opinion is that it should be backported either way, however that's
>> ultimately up to the stable team.
>> 
>> - Danilo
>> 
>>>
>>> [1]
>>> https://lore.kernel.org/intel-xe/20260213152047.179628-1-koen.koning@linux.intel.com/
>>>
>>>>
>>>> This should rather be:
>>>>
>>>> Fixes: 6387a3c4b0c4 ("drm: move the buddy allocator from i915 into common drm")
>>>>
>>>> Also, please add:
>>>>
>>>> Cc: stable@vger.kernel.org
>>>>
>>>>> Cc: Joel Fernandes <joelagnelf@nvidia.com>
>>>>> Cc: Dave Airlie <airlied@redhat.com>
>>>>> Cc: intel-xe@lists.freedesktop.org
>>>>> Cc: Peter Senna Tschudin <peter.senna@linux.intel.com>
>>>>> Cc: Matthew Auld <matthew.auld@intel.com>
>>>>> Signed-off-by: Koen Koning <koen.koning@linux.intel.com>
>>>>
>>>> [1] https://lore.kernel.org/all/DGIUUFLC31D5.2OZBF5FWQJWMZ@kernel.org/
>> 


  reply	other threads:[~2026-02-19 12:56 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-13 15:20 [PATCH] gpu: Fix uninitialized buddy for built-in drivers Koen Koning
2026-02-13 15:29 ` ✓ CI.KUnit: success for " Patchwork
2026-02-13 16:04 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-13 17:27 ` [PATCH] " Joel Fernandes
2026-02-16 10:28   ` Matthew Auld
2026-02-14 13:43 ` ✓ Xe.CI.FULL: success for " Patchwork
2026-02-16 11:19 ` [PATCH v2] " Koen Koning
2026-02-16 21:31   ` Joel Fernandes
2026-02-19 10:16   ` Danilo Krummrich
2026-02-19 10:38     ` Matthew Auld
2026-02-19 11:14       ` Danilo Krummrich
2026-02-19 12:44         ` Matthew Auld
2026-02-19 12:56           ` Danilo Krummrich [this message]
2026-02-19 15:32             ` Matthew Auld
2026-02-19 16:08               ` Danilo Krummrich
2026-02-19 18:28             ` Koen Koning
2026-02-19 18:34               ` Danilo Krummrich
2026-02-19 21:38   ` [PATCH v3 0/3] gpu: fix module_init() usage Koen Koning
2026-02-19 21:38     ` [PATCH v3 1/3] gpu/buddy: " Koen Koning
2026-02-20  6:06       ` Greg KH
2026-02-20 10:17         ` Danilo Krummrich
2026-02-20 13:55           ` Joel Fernandes
2026-02-21  5:44             ` Greg KH
2026-02-23  0:49               ` Joel Fernandes
2026-02-23 11:17                 ` Koen Koning
2026-02-23 11:20                   ` Danilo Krummrich
2026-02-23 13:42                     ` Joel Fernandes
2026-02-23 22:31                     ` Danilo Krummrich
2026-02-24  3:41                       ` David Airlie
2026-02-19 21:38     ` [PATCH v3 2/3] drm/sched: " Koen Koning
2026-02-20  6:06       ` Greg KH
2026-02-19 21:38     ` [PATCH v3 3/3] drm/drv: " Koen Koning
2026-02-16 11:30 ` ✓ CI.KUnit: success for gpu: Fix uninitialized buddy for built-in drivers (rev2) Patchwork
2026-02-16 12:06 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-16 13:34 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-18  6:32 ` ✓ CI.KUnit: success for gpu: Fix uninitialized buddy for built-in drivers (rev3) Patchwork
2026-02-18  7:01 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-18  7:18 ` ✓ Xe.CI.FULL: " Patchwork
2026-02-18 13:16 ` ✓ CI.KUnit: success for gpu: Fix uninitialized buddy for built-in drivers (rev4) Patchwork
2026-02-18 13:51 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-18 15:27 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-23 22:30 ` [PATCH] gpu: Fix uninitialized buddy for built-in drivers Danilo Krummrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DGIYEDHZTNJL.VJVC0MLJWRN9@kernel.org \
    --to=dakr@kernel.org \
    --cc=airlied@redhat.com \
    --cc=dri-devel-bounces@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=joelagnelf@nvidia.com \
    --cc=koen.koning@linux.intel.com \
    --cc=matthew.auld@intel.com \
    --cc=peter.senna@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.