Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp2331039rdf; Mon, 6 Nov 2023 10:49:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IEC2jRxIc8Y5ldg/ajSUmdTChylpi6oM8dNMIeVy5Um1eLPWDVhRcEVk40kEUH9KI1PuVD0 X-Received: by 2002:a17:902:ec84:b0:1cc:4cb0:d273 with SMTP id x4-20020a170902ec8400b001cc4cb0d273mr27824031plg.56.1699296553972; Mon, 06 Nov 2023 10:49:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699296553; cv=none; d=google.com; s=arc-20160816; b=tboRvYak4F8q1nlqIAbyHJWRzhD/wkaVfr2BWxmSaOYg3cCSNFUbKcs0F7tbVJezpS OqIWVRb3kAhSJUQHom2sJdRtwVuK4qLNMY7tRZfnsJvdiuvs33prXVeqB1WiZMa12yxW iSDDF+ZvnoF9zn+7xnfnaFHZKAS9qkD4382aLSGMi7EuJgDfCcb6oNZb1LdANtqcLT1o Q2b8FFkQwL6cYYQnRMI1iyCYqR9sFbD67xvkEy6KFJmY05aXTd7D76mG4mbAiFiq5twx sme7xfJ3wXu45/dwQtr5ud+Bk2NntyS6CRXx5hmPspBQK725JZhovVLYPxZIuXYvLei6 EnwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=GEU/T0YzjOtkbVZizp15U02rtKoeqg1sHvW0/B5DtdA=; fh=iARIUTu3PuLq495Ar2rsgafqzBQNyt0qtbvPZRCGBlM=; b=UC1duHOz9U4feSDbbeR78Xhx0u9xYZOuvSDq3JhnKWXKlZbVWAsYGaKEMwPTYpbTVA fyS3QLnBU5unDrO5M3sbfvwLP6nne6nBhNLbGq/mwnq6RoEq0pmKk8BLdk62NMKWBPCn l7LnLQza1+zxhre83ivelj2cXEyg1kklHdlLZOgvajxCOhXQS23DH0FDauRB6i28QZC2 YUgf89bkNlAUKoCn9JH8Pn1H11UTdZ4TTxPdhmXiVnNgEtFTgZfy07a2zZyT6Soo9Bko dYx6SrarFlQ8tPrPagH/KPIzH/WMTL3KsPthjZGxdVjIX4URoqnDjRyGcyV2jDLDwSlz 79Lw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=haS10GIX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id l8-20020a170903244800b001cc5152e657si9186537pls.248.2023.11.06.10.49.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 10:49:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=haS10GIX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id DA25480A9B34; Mon, 6 Nov 2023 10:49:10 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232519AbjKFSsy (ORCPT + 99 others); Mon, 6 Nov 2023 13:48:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232006AbjKFSsx (ORCPT ); Mon, 6 Nov 2023 13:48:53 -0500 Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95CB1B0 for ; Mon, 6 Nov 2023 10:48:50 -0800 (PST) Received: by mail-oi1-x22b.google.com with SMTP id 5614622812f47-3b5aee410f2so436061b6e.1 for ; Mon, 06 Nov 2023 10:48:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699296530; x=1699901330; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=GEU/T0YzjOtkbVZizp15U02rtKoeqg1sHvW0/B5DtdA=; b=haS10GIXKagjWC3mP4TQsvo2NwWqKSR1Cch2O9FynS4wdSk2Xy87l2n6AifRCIGHWF ZSullsyx3DQnSjgn+d/+9E0Ux2od9RK2rtR9Aq3ubZ+oPcIYqC06UM7q2JWf+OPr2YJC GEwGZ+p0lGWSYHxfOMYi7hSDz6aEELicO0tsL62HRVswic5hap8xZJmmNH2kJ0mhBoUA Md6j31fSQXoc3wNyH6D+r6G+wYqzciHsK4WmwRoQOfXMoq4MHW8bd6YrdD3AzwHoq/K7 i9PMyWKx0DpF7Ot4iTAaIeVpGEEF86NflzH5U+gaTIJ9CD/kulENeT9w5W3oZcV6nYyz zE6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699296530; x=1699901330; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GEU/T0YzjOtkbVZizp15U02rtKoeqg1sHvW0/B5DtdA=; b=oWhpbgYjPLS5BhZUpkM3DbcaYN9DGf+VBwLMVB9bQ8pF1idsqlZO61b1yab8dTzjyR HCdo9vFQMyrouznuxyA0Nrtn3bZ6liilitzRsR28QZu3j4W1o3Opq9yyaPLzTsUbznfr JJkpwSUW4atv1dbPMoz7IJABvMNplsxOpmH51TZb2B8wmC/EW9WVhEi+Mt16rFRFL+Mr t/OQkFgJ7QOST1VM6FuIddUvjey+yAROdBac+7tYeOjp3Dgc8bJac9xaRKysZuM6Ke+D vk93iuUkQQUkVbx3cWl/6mfpW5cnDU3NGNAyqVHREkuN03D+Vr/0H1Eq5YZHWgFL+E2u ksgQ== X-Gm-Message-State: AOJu0YxOh6hFA1DGA3HIosxlvqIP5krqj9i6IPfEju1UC8MODmlUYx/V 2nzLYGCrtm764vfw9XOv9GzM5KjvsZ20OFowOjSIKi3s X-Received: by 2002:a05:6870:ff84:b0:1e9:b537:51ef with SMTP id qp4-20020a056870ff8400b001e9b53751efmr554623oab.31.1699296529538; Mon, 06 Nov 2023 10:48:49 -0800 (PST) MIME-Version: 1.0 References: <87wmuwo7i3.fsf@gentoo.org> <20231105160652.374422-1-sam@gentoo.org> In-Reply-To: <20231105160652.374422-1-sam@gentoo.org> From: Alex Deucher Date: Mon, 6 Nov 2023 13:48:38 -0500 Message-ID: Subject: Re: [PATCH] amdgpu: Adjust kmalloc_array calls for new -Walloc-size To: Sam James Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 06 Nov 2023 10:49:11 -0800 (PST) Applied. Thanks! Alex On Sun, Nov 5, 2023 at 11:07=E2=80=AFAM Sam James wrote: > > GCC 14 introduces a new -Walloc-size included in -Wextra which errors out > on various files in drivers/gpu/drm/amd/amdgpu like: > ``` > amdgpu_amdkfd_gfx_v8.c:241:15: error: allocation of insufficient size =E2= =80=984=E2=80=99 for type =E2=80=98uint32_t[2]=E2=80=99 {aka =E2=80=98unsig= ned int[2]'} with size =E2=80=988=E2=80=99 [-Werror=3Dalloc-size] > ``` > > This is because each HQD_N_REGS is actually a uint32_t[2]. Move the * 2 t= o > the size argument so GCC sees we're allocating enough. > > Originally did 'sizeof(uint32_t) * 2' for the size but a friend suggested > 'sizeof(**dump)' better communicates the intent. > > Link: https://lore.kernel.org/all/87wmuwo7i3.fsf@gentoo.org/ > Signed-off-by: Sam James > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 4 ++-- > 5 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c b/driver= s/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c > index 625db444df1c..0ba15dcbe4e1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c > @@ -200,7 +200,7 @@ int kgd_arcturus_hqd_sdma_dump(struct amdgpu_device *= adev, > #undef HQD_N_REGS > #define HQD_N_REGS (19+6+7+10) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.c b/driver= s/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.c > index 490c8f5ddb60..ca7238b5535b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.c > @@ -141,7 +141,7 @@ static int kgd_gfx_v9_4_3_hqd_sdma_dump(struct amdgpu= _device *adev, > (*dump)[i++][1] =3D RREG32(addr); \ > } while (0) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c b/drivers/= gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c > index 6bf448ab3dff..ca4a6b82817f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c > @@ -214,7 +214,7 @@ static int kgd_hqd_dump(struct amdgpu_device *adev, > (*dump)[i++][1] =3D RREG32(addr); \ > } while (0) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > @@ -301,7 +301,7 @@ static int kgd_hqd_sdma_dump(struct amdgpu_device *ad= ev, > #undef HQD_N_REGS > #define HQD_N_REGS (19+4) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c b/drivers/= gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c > index cd06e4a6d1da..0f3e2944edd7 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c > @@ -238,7 +238,7 @@ static int kgd_hqd_dump(struct amdgpu_device *adev, > (*dump)[i++][1] =3D RREG32(addr); \ > } while (0) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > @@ -324,7 +324,7 @@ static int kgd_hqd_sdma_dump(struct amdgpu_device *ad= ev, > #undef HQD_N_REGS > #define HQD_N_REGS (19+4+2+3+7) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c b/drivers/= gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c > index 51011e8ee90d..a3355b90aac5 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c > @@ -365,7 +365,7 @@ int kgd_gfx_v9_hqd_dump(struct amdgpu_device *adev, > (*dump)[i++][1] =3D RREG32(addr); \ > } while (0) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > @@ -462,7 +462,7 @@ static int kgd_hqd_sdma_dump(struct amdgpu_device *ad= ev, > #undef HQD_N_REGS > #define HQD_N_REGS (19+6+7+10) > > - *dump =3D kmalloc_array(HQD_N_REGS * 2, sizeof(uint32_t), GFP_KER= NEL); > + *dump =3D kmalloc_array(HQD_N_REGS, sizeof(**dump), GFP_KERNEL); > if (*dump =3D=3D NULL) > return -ENOMEM; > > -- > 2.42.1 >