On Mon, Apr 28, 2025 at 01:09:46PM +0100, Tvrtko Ursulin wrote: > > On 26/04/2025 07:13, Kees Cook wrote: > > 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 <k...@kernel.org> > > --- > > Cc: Jani Nikula <jani.nik...@linux.intel.com> > > Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com> > > Cc: Rodrigo Vivi <rodrigo.v...@intel.com> > > Cc: Tvrtko Ursulin <tursu...@ursulin.net> > > Cc: David Airlie <airl...@gmail.com> > > Cc: Simona Vetter <sim...@ffwll.ch> > > Cc: Matt Roper <matthew.d.ro...@intel.com> > > Cc: Gustavo Sousa <gustavo.so...@intel.com> > > Cc: Andi Shyti <andi.sh...@linux.intel.com> > > Cc: Lucas De Marchi <lucas.demar...@intel.com> > > Cc: <intel-...@lists.freedesktop.org> > > Cc: <dri-devel@lists.freedesktop.org> > > --- > > drivers/gpu/drm/i915/gt/intel_workarounds.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c > > b/drivers/gpu/drm/i915/gt/intel_workarounds.c > > index 116683ebe074..b37e400f74e5 100644 > > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > > @@ -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), > > Will the sizeof stay, and if so, how will kmalloc be able to distinguish the > type? Or we expect one more churn on the same line?
It is expected that when (if?) this happens, there will be a pre-rc1 treewide change to convert kmalloc to kmalloc_obj[1]. (So, yes, this call would change, but it'll happen separately.) -Kees [1] Here's what v4 looked like: https://lore.kernel.org/lkml/20250315025852.it.568-k...@kernel.org/ v5 is still under development, but will look like this: https://web.git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=dev/v6.15-rc3%2b/alloc_obj/v5 -- Kees Cook