drm/xe: skip devcoredump registration on kernels without dev_coredump_put()#325
Open
knayana-gse wants to merge 1 commit into
Open
drm/xe: skip devcoredump registration on kernels without dev_coredump_put()#325knayana-gse wants to merge 1 commit into
knayana-gse wants to merge 1 commit into
Conversation
…_put() dev_coredump_put() was added in v6.10 (commit a28380f119a9). On older kernels, xe_driver_devcoredump_fini() calling it unconditionally causes mutex corruption (DEBUG_LOCKS_WARN_ON) during module unload/reload. A header-only backport is not possible: dev_coredump_put() relies on devcd_class, a file-scope static in drivers/base/devcoredump.c that is never exported. On kernels where BPM_DEVCOREDUMP_PUT_NOT_PRESENT is defined, the deferred snapshot worker frees captured state immediately instead of registering a persistent coredump entry, and the fini callback skips the dev_coredump_put() call. Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
smuqthya
reviewed
Apr 9, 2026
| devcd_class, a file-scope static in drivers/base/devcoredump.c that is | ||
| never exported. | ||
|
|
||
| On kernels below 6.10, where BPM_DEVCOREDUMP_PUT_NOT_PRESENT is defined, |
Contributor
There was a problem hiding this comment.
we should have it as a limitation in documentation. Please add a note on the readme
Contributor
There was a problem hiding this comment.
What is the implication of the calling freeing snapshot. are we going to miss coredump during issue
| { | ||
| struct drm_device *drm = arg; | ||
|
|
||
| +#ifndef BPM_DEVCOREDUMP_PUT_NOT_PRESENT |
Contributor
There was a problem hiding this comment.
instead cant we simply pass NULL during init if macro is defined and that way , this function wont be called "xe_driver_devcoredump_fini"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dev_coredump_put() was added in v6.10 (commit a28380f119a9). On older
kernels, xe_driver_devcoredump_fini() calling it unconditionally causes
mutex corruption (DEBUG_LOCKS_WARN_ON) during module unload/reload.
A header-only backport is not possible: dev_coredump_put() relies on
devcd_class, a file-scope static in drivers/base/devcoredump.c that is
never exported.
On kernels where BPM_DEVCOREDUMP_PUT_NOT_PRESENT is defined, the deferred
snapshot worker frees captured state immediately instead of registering a
persistent coredump entry, and the fini callback skips the
dev_coredump_put() call.
Signed-off-by: Kanaka Raju Nayana kanaka.raju.nayana@intel.com