public inbox for intel-xe@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox