Received: by 2002:a05:7412:ba23:b0:fa:4c10:6cad with SMTP id jp35csp982850rdb; Fri, 19 Jan 2024 05:00:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IF31sXgTobceF2Sd2J95N17ICapcyFpDhvxzcoHm1qDCQF9pdoiagqNclaw2THM0G0Xq0+n X-Received: by 2002:a17:903:2450:b0:1d3:abaa:1399 with SMTP id l16-20020a170903245000b001d3abaa1399mr1142197pls.51.1705669244901; Fri, 19 Jan 2024 05:00:44 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705669244; cv=pass; d=google.com; s=arc-20160816; b=jux7xxoZD9vSmtp2wXmJDfaAxt82qRq+OszOg9PTeXRDLF4Fj01vTmkD4GlpBKAByQ ucfeonxWRWtHCr5Hm38xFe1G3Wkq4Wjc5XVdCcLBcQGJPDeKQeY+1KKdxniDp/qdSNzl KYcz4hsQH7+TbqVJqmn6MJB0owensqhaMORwwXrZaozd4sb/SDwHGaGBUPVWf5FW6OfY PBRrqMKwztu5jcFnwdKumr9NkhogZmPu/KDSeeRG0VrxD4KqoGBy8vZOHW5m7Dv3H51S L4HfvI2uTRMSETH9R64K5CqJVsJG5aGvazLH/rGDiGdr/vvOa3RKjTG0otHZNqE2U+Kd OBtA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=siajBaaFqK44x1k/dWoEneNkoHYdap1//tkVoA2vxzc=; fh=TK+R9b+2T2ZcZJKPJM6oYzbz41a+xJC0kExOlXw0ORw=; b=SFyHdTlZOmxd9YLuxk6cG0Y8AGICL8wiYyr8AN6MpSFCYifBa4ffzU6sqEhCt2uXdB JX9SYBw5ax+U44/5yzWXL/USqhZhswXqKSq+kjq6bVf0jQ6bvWICF8juY9iLBJLzOFB8 RbFxL9SHC7f0OMwctojfmQ3rbHF0SmEhOhEBhJmNZLR/il7h/Y/RjewL0bARw5aNc6WV uNBZhGFE0qsP0Fc92HDocIJnZrNPOfcOElywJQr+Lz2DmF7cUDWt//SfAiVqcTzbtdHR B9F/+8VHhyvMe1QuK7xiB1uMheYXSDsW8YvG3ooruCnsQyNcixMdNtEFg1FF4L6gOEkk 9Lzg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VxOw+oUA; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-wireless+bounces-2250-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-2250-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id k2-20020a170902c40200b001d71213e8b2si2256442plk.508.2024.01.19.05.00.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jan 2024 05:00:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-2250-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VxOw+oUA; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-wireless+bounces-2250-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-2250-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5A8E22849DA for ; Fri, 19 Jan 2024 13:00:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A2B0E51C3D; Fri, 19 Jan 2024 13:00:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VxOw+oUA" X-Original-To: linux-wireless@vger.kernel.org Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DE6B51C50 for ; Fri, 19 Jan 2024 13:00:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705669242; cv=none; b=fEFA5QxHyBFs2bBbVj/1kNxztOaHcdlabJdKaQWSfkW1tsqTWAHnh3GbTb0PxP+bzmV24kj3NmXr6tPpW0xRju3Hx0zizd6Z/zBjd1Hz6oKUuxgVeTf1XrGN5wfxiNDPVmpqNG2yg08cNVNbxbXmVlKjOr63sGwpgkC7GbZj8QQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705669242; c=relaxed/simple; bh=mdBmJE5htP6mGHoqmVAD72lO+X8fEp+UZKSDLsltcRo=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Nr+iPGzNd2pAaD+2L4dDDrmNd21dhdEAb9boiqn0fQ3kshtNTZL0mnkyDceBtEw7zLgtyzJWtSKG457QV+Hafvn1gU/Jdq4k1kvV5Unjmr+WCZmGdgX8wKLIqvaatAJlKAQYdmNUodaSm96P+FHdAOiJnAirTZivYw3J8mhoQ54= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VxOw+oUA; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-a2f22bfb4e6so74246666b.0 for ; Fri, 19 Jan 2024 05:00:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705669238; x=1706274038; 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=siajBaaFqK44x1k/dWoEneNkoHYdap1//tkVoA2vxzc=; b=VxOw+oUAKbBN8lU/5XhYBzp2UcOx2nZnAuJLuenUd1XeSQhQmA9i96F0PGLuBaz1fT Td5G2sxberu8BHY6fpFbSS1zjfRaBiwCR8Q3Yznt17H+20DA8XkrephHgZDWznosxIps 6twPmxUPfQ+FodJVj7/+lUhNMDLnCAEwGKOajEeLZ8kghTXEzEHvcmt0dK2c6yfT8P+a +GZbr7cppQbB+XrDi0OgyBDYKzbgU2jFp6qcTi2Cgo+4tOyHT3yGgw7xOJ2rIiA5aUvE wNSLIhmq/uSTxeXLMSR5YfrSCTPIFUGyqYt7Lp4ehi7ORVTtA6+trNDmxWXQy41S+y5Y 4rtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705669238; x=1706274038; 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=siajBaaFqK44x1k/dWoEneNkoHYdap1//tkVoA2vxzc=; b=cGS/6UPzcPmFY000CI5rvN60NsWPwX9YaUshcg7GGLCIrrCDu73nfTQvoSZedMUnGt lWxGHyaFwWVTDVONv89RfAYo/oSjO1ZNxnXIvRLjfInVf+R6jcFCERO7JPs2j1d5j2PZ 49IgHVa7hMPqfOCX6vUFwlr9woiLPppXkHMw7pI6rWfZGKwmWce84/wkZ+GmOIezcLn3 BPWBSxZi61Yo5+Nh3xNbPrB4LPbQODGzGIN29K3VHIKdGns7wnaz2/7UrCPJTL97v/ro PUdn8zsOqnsqV7YRieo6gy+/NlqUIrd9q3hYiEGzpAQizRk+cUiVx0SQx3d+n1DHPC/h GKwQ== X-Gm-Message-State: AOJu0YxI7Jf8orwRG7hPN2SDJi/PIhkcPiJ+jaI59n95fBXAwUSpXZav 0/NDofZPI7Lid9+B6teXoVMMCaw6a86adKLbKQzb876J2cd8C1scXvaDXoGUqVf7tGAvigIUup3 aJXEdZbqqVI31Z/zpDe4R9/8nhms= X-Received: by 2002:a17:906:84f:b0:a28:fa55:3597 with SMTP id f15-20020a170906084f00b00a28fa553597mr1237981ejd.98.1705669238281; Fri, 19 Jan 2024 05:00:38 -0800 (PST) Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20230803052238.12147-1-rauji.raut@gmail.com> <20230803052238.12147-2-rauji.raut@gmail.com> <202401181217.1D75C32E@keescook> In-Reply-To: <202401181217.1D75C32E@keescook> From: Lukas Bulwahn Date: Fri, 19 Jan 2024 14:00:26 +0100 Message-ID: Subject: Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member To: Kees Cook Cc: Arend van Spriel , Atul Raut , aspriel@gmail.com, franky.lin@broadcom.com, kvalo@kernel.org, linux-wireless@vger.kernel.org, brcm80211-dev-list.pdl@broadcom.com, linux-kernel-mentees@lists.linuxfoundation.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jan 18, 2024 at 9:20=E2=80=AFPM Kees Cook w= rote: > > On Thu, Jan 18, 2024 at 02:53:28PM +0100, Arend van Spriel wrote: > > + Kees > > > > On 8/3/2023 7:22 AM, Atul Raut wrote: > > > One-element arrays are obsolete, and flexible > > > array members have taken their place. So, in > > > struct cca_stats_n_flags, replace the one-element > > > array with a flexible-array member. > > > > > > This fixes warnings such as: > > > ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9= : WARNING use flexible-array member instead (https://www.kernel.org/doc/htm= l/latest/process/deprecated.html#zero-length-and-one-element-arrays) > > > > I think this correct, but maybe Kees can give definitive answer here. > > > > > Signed-off-by: Atul Raut > > > --- > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg8021= 1.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > > index de8a2e27f49c..fff32e54833d 100644 > > > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > > @@ -116,7 +116,7 @@ struct brcmf_dump_survey { > > > struct cca_stats_n_flags { > > > u32 msrmnt_time; /* Time for Measurement (msec) */ > > > u32 msrmnt_done; /* flag set when measurement complete */ > > > - char buf[1]; > > > + char buf[]; > > > }; > > > struct cca_msrmnt_query { > > Normally a [1] -> [] conversion needs some details in the commit log > about why this is safe (since it runs the risk of changing sizeof(struct > cca_stats_n_flags). In this case, there's only a single user of the > struct, and nothing about its use depends on its size: > > #define BRCMF_DCMD_MEDLEN 1536 > ... > struct cca_stats_n_flags *results; > char *buf; > ... > buf =3D kzalloc(sizeof(char) * BRCMF_DCMD_MEDLEN, GFP_KERNEL); > ... > results =3D (struct cca_stats_n_flags *)(buf); > ... > brcmf_parse_dump_obss(results->buf, survey); > > So, the allocation size is big enough for the struct, and nothing > depends on the struct size. > > Reviewed-by: Kees Cook > As the linux-kernel-mentees mailing list is in CC, I assume that Atul is a linux-kernel mentee. In that case, it is certainly reasonable and at least of educational value for Atul to take Kees' explanation and add this to the patch's commit message in his own words. Then, with that, submit a PATCH v3. Lukas