]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/gt: Remove const from struct i915_wa list allocation
authorKees Cook <kees@kernel.org>
Sat, 26 Apr 2025 06:13:58 +0000 (23:13 -0700)
committerAndi Shyti <andi.shyti@kernel.org>
Wed, 7 May 2025 10:34:59 +0000 (12:34 +0200)
In preparation for making the kmalloc family of allocators type aware,
we need to make sure that the returned type from the allocation matches
the type of the variable being assigned. (Before, the allocator would
always return "void *", which can be implicitly cast to any pointer type.)

The assigned type is "struct i915_wa *". The returned type, while
technically matching, will be const qualified. As there is no general
way to remove const qualifiers, adjust the allocation type to match
the assignment.

Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://lore.kernel.org/r/20250426061357.work.749-kees@kernel.org
drivers/gpu/drm/i915/gt/intel_workarounds.c

index 8e1d9e0e6daa8d2afefeaa36ece8079878e6bd9d..05106ce31975574cc686de22c70130845609ed2b 100644 (file)
@@ -156,7 +156,7 @@ static void _wa_add(struct i915_wa_list *wal, const struct i915_wa *wa)
        if (IS_ALIGNED(wal->count, grow)) { /* Either uninitialized or full. */
                struct i915_wa *list;
 
-               list = kmalloc_array(ALIGN(wal->count + 1, grow), sizeof(*wa),
+               list = kmalloc_array(ALIGN(wal->count + 1, grow), sizeof(*list),
                                     GFP_KERNEL);
                if (!list) {
                        drm_err(&i915->drm, "No space for workaround init!\n");