From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 22819C433FE for ; Wed, 16 Feb 2022 09:30:50 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 4C5A11A47; Wed, 16 Feb 2022 10:29:58 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 4C5A11A47 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1645003848; bh=JaPx4p3SMwP6KH5zXyV+yZMH6uQmM6+MsvdhmaW4ctI=; h=Date:From:To:Subject:References:In-Reply-To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=sush4VOPyWPuIumOVMwrBUxAq2lbNXCr1wRJ6Rz3JM6iUZWjQ4RZRzfeOgHtmhgb9 2emDCSm1ttzv/4FmerBg+KJRqFD48kWXas2neheQnl+jGG4Mri5CR0bGRPM2SQ4R8O TStYvXc5WvXA6rhFYRB9qtbzy2xs5tGxYeF0G9jE= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 11115F80567; Wed, 16 Feb 2022 10:25:56 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id A4835F80132; Tue, 15 Feb 2022 19:17:52 +0100 (CET) Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 19069F80100 for ; Tue, 15 Feb 2022 19:17:44 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 19069F80100 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="BbY3zUMb" Received: by mail-pj1-x102c.google.com with SMTP id t4-20020a17090a510400b001b8c4a6cd5dso2838648pjh.5 for ; Tue, 15 Feb 2022 10:17:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=BbY3zUMbpsKVLuD6QiFaFpnxej58wpxQPVVGisDcf+K+2coTsFmZNXGoWqBeKoLb1x 3ZptFg7el6LpqeSuHR1QjwuSCHfpkEX/T+XcjAHpaQzkvx2kHT7d0+kYGoaayuMfQhPV CAs5kcpK7DDzn/NDlTFukbq1xe316LjUYcWLM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=wz2lFIFyBPeqZK2hnTeRzGzOOmrYHwU4o8HCQuIS68d/nyF4eYPmPzFuocif3MyQjC XbhtyE4SUktoUlmaiRHfqjgX42WUl/wtBofDoWUgBHOH2I+/qIe8xPJjWqKxFPNn5gSb ungOOsknOE1cGRRu0QplpIpeZgUjnaX6z/GcB9BXQaUlDMAtKQ+RRL0ha1pX+vAWsCM4 LuWrVH076SWNyIwAanh5S0OVGCJc/1cJr91x52+xrQpW267Kkqr8dPPnufnEFr+5qOj6 6TqIkmjXVYwsYyvOEkPlC1IB35HflTcKzCsxmQmTD6hWmoW23J0sWT3gmMnExR4NPM/I UDcQ== X-Gm-Message-State: AOAM533n89iyrIIkZy55/N4PB+ujh6guPI3RptWlA41fSBagMR0yzh3n ug3IqrHiQuOi8GbexW4UV02UIQ== X-Google-Smtp-Source: ABdhPJwjJJkj0fC2gO+FdGjnaisWCk9FKkCf0qazg7PUuY4rrjoW+egyeLOWB+yCEr/MI5qa+9+dbA== X-Received: by 2002:a17:902:eb8f:: with SMTP id q15mr235036plg.67.1644949062021; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id a186sm3157627pgc.70.2022.02.15.10.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 10:17:41 -0800 (PST) Date: Tue, 15 Feb 2022 10:17:40 -0800 From: Kees Cook To: "Gustavo A. R. Silva" Subject: Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220215174743.GA878920@embeddedor> X-Mailman-Approved-At: Wed, 16 Feb 2022 10:25:43 +0100 Cc: alsa-devel@alsa-project.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, devicetree@vger.kernel.org, target-devel@vger.kernel.org, linux-hardening@vger.kernel.org, sparclinux@vger.kernel.org, linux-i3c@lists.infradead.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-rdma@vger.kernel.org, linux-staging@lists.linux.dev, linux-acpi@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-ext4@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-xtensa@linux-xtensa.org, mpi3mr-linuxdrv.pdl@broadcom.com, coresight@lists.linaro.org, sparmaintainer@unisys.com, linux-um@lists.infradead.org, greybus-dev@lists.linaro.org, linux-rpi-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devel@acpica.org, linux-cifs@vger.kernel.org, netdev@vger.kernel.org, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, GR-QLogic-Storage-Upstream@marvell.com, linux-crypto@vger.kernel.org, linux-alpha@vger.kernel.org X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote: > There is a regular need in the kernel to provide a way to declare > having a dynamically sized set of trailing elements in a structure. > Kernel code should always use “flexible array members”[1] for these > cases. The older style of one-element or zero-length arrays should > no longer be used[2]. > > This code was transformed with the help of Coccinelle: > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch) > > @@ > identifier S, member, array; > type T1, T2; > @@ > > struct S { > ... > T1 member; > T2 array[ > - 0 > ]; > }; These all look trivially correct to me. Only two didn't have the end of the struct visible in the patch, and checking those showed them to be trailing members as well, so: Reviewed-by: Kees Cook -- Kees Cook From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0A8AC433F5 for ; Tue, 15 Feb 2022 18:17:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5B4EC10E4C9; Tue, 15 Feb 2022 18:17:43 +0000 (UTC) Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6595210E4C9 for ; Tue, 15 Feb 2022 18:17:42 +0000 (UTC) Received: by mail-pj1-x102e.google.com with SMTP id b8so6164774pjb.4 for ; Tue, 15 Feb 2022 10:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=BbY3zUMbpsKVLuD6QiFaFpnxej58wpxQPVVGisDcf+K+2coTsFmZNXGoWqBeKoLb1x 3ZptFg7el6LpqeSuHR1QjwuSCHfpkEX/T+XcjAHpaQzkvx2kHT7d0+kYGoaayuMfQhPV CAs5kcpK7DDzn/NDlTFukbq1xe316LjUYcWLM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=TKqIVYWzG1O4K3A19d66WLuUoemLoi6/wAuJrimo5sG7OD6E9Y7yxy6/b3JWUuXntw 3cqNd9dtvvMAVib2RqC+rPpDFGOgVvNpwoDZKg1rIM2LQIHkWDkJMKz6dlT4NFG80U3m t8rdtC8s2QjDwLmxebbSIzcWGwaYUPSY7S8chnm8ZrKPHpfaRlbYINBqUTlgQW8LfjeJ iQaD8g2jdhoPb263zBfKDoQe04s1Y7SHEWyYTh+ASuhODqThUlqqTPwBibBUQ9d2WEOT iXupPWuCtGWzJQMGyExa2MbEuLt6QzQsZ947wI0RlfzjTrFw6ap9pIB9n+BVp/t3N3L4 MUkg== X-Gm-Message-State: AOAM532WyOGjduM3dyl0OIVruo8MtgUnOjgdKBxLyisOLGS+BTrkhKWc +BdlNkSR+5KHsiFFkYcI6KsrsA== X-Google-Smtp-Source: ABdhPJwjJJkj0fC2gO+FdGjnaisWCk9FKkCf0qazg7PUuY4rrjoW+egyeLOWB+yCEr/MI5qa+9+dbA== X-Received: by 2002:a17:902:eb8f:: with SMTP id q15mr235036plg.67.1644949062021; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id a186sm3157627pgc.70.2022.02.15.10.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 10:17:41 -0800 (PST) Date: Tue, 15 Feb 2022 10:17:40 -0800 From: Kees Cook To: "Gustavo A. R. Silva" Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220215174743.GA878920@embeddedor> Subject: Re: [Intel-gfx] [PATCH][next] treewide: Replace zero-length arrays with flexible-array members X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alsa-devel@alsa-project.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, devicetree@vger.kernel.org, target-devel@vger.kernel.org, linux-hardening@vger.kernel.org, sparclinux@vger.kernel.org, linux-i3c@lists.infradead.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-rdma@vger.kernel.org, linux-staging@lists.linux.dev, linux-acpi@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-ext4@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-xtensa@linux-xtensa.org, mpi3mr-linuxdrv.pdl@broadcom.com, coresight@lists.linaro.org, sparmaintainer@unisys.com, linux-um@lists.infradead.org, greybus-dev@lists.linaro.org, linux-rpi-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devel@acpica.org, linux-cifs@vger.kernel.org, netdev@vger.kernel.org, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, GR-QLogic-Storage-Upstream@marvell.com, linux-crypto@vger.kernel.org, linux-alpha@vger.kernel.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote: > There is a regular need in the kernel to provide a way to declare > having a dynamically sized set of trailing elements in a structure. > Kernel code should always use “flexible array members”[1] for these > cases. The older style of one-element or zero-length arrays should > no longer be used[2]. > > This code was transformed with the help of Coccinelle: > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch) > > @@ > identifier S, member, array; > type T1, T2; > @@ > > struct S { > ... > T1 member; > T2 array[ > - 0 > ]; > }; These all look trivially correct to me. Only two didn't have the end of the struct visible in the patch, and checking those showed them to be trailing members as well, so: Reviewed-by: Kees Cook -- Kees Cook From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kees Cook Subject: Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members Date: Tue, 15 Feb 2022 10:17:40 -0800 Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=BbY3zUMbpsKVLuD6QiFaFpnxej58wpxQPVVGisDcf+K+2coTsFmZNXGoWqBeKoLb1x 3ZptFg7el6LpqeSuHR1QjwuSCHfpkEX/T+XcjAHpaQzkvx2kHT7d0+kYGoaayuMfQhPV CAs5kcpK7DDzn/NDlTFukbq1xe316LjUYcWLM= Content-Disposition: inline In-Reply-To: <20220215174743.GA878920@embeddedor> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Content-Type: text/plain; charset="utf-8" To: "Gustavo A. R. Silva" Cc: alsa-devel@alsa-project.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, devicetree@vger.kernel.org, target-devel@vger.kernel.org, linux-hardening@vger.kernel.org, sparclinux@vger.kernel.org, linux-i3c@lists.infradead.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-rdma@vger.kernel.org, linux-staging@lists.linux.dev, linux-acpi@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-ext4@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-xtensa@linux-xtensa.org, mpi3mr-linuxdrv.pdl@broadcom.com, coresight@lists.linaro.org, sparmaintainer@unisys.com, linux-um@lists.infradead.org, greybus-dev@lists.linaro.org, linux-rpi-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-arm-kerne On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote: > There is a regular need in the kernel to provide a way to declare > having a dynamically sized set of trailing elements in a structure. > Kernel code should always use “flexible array members”[1] for these > cases. The older style of one-element or zero-length arrays should > no longer be used[2]. > > This code was transformed with the help of Coccinelle: > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch) > > @@ > identifier S, member, array; > type T1, T2; > @@ > > struct S { > ... > T1 member; > T2 array[ > - 0 > ]; > }; These all look trivially correct to me. Only two didn't have the end of the struct visible in the patch, and checking those showed them to be trailing members as well, so: Reviewed-by: Kees Cook -- Kees Cook From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A75BC433FE for ; Tue, 15 Feb 2022 18:17:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242977AbiBOSR7 (ORCPT ); Tue, 15 Feb 2022 13:17:59 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:34878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242973AbiBOSR4 (ORCPT ); Tue, 15 Feb 2022 13:17:56 -0500 Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 80D75119F01 for ; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: by mail-pj1-x102e.google.com with SMTP id r64-20020a17090a43c600b001b8854e682eso2881810pjg.0 for ; Tue, 15 Feb 2022 10:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=BbY3zUMbpsKVLuD6QiFaFpnxej58wpxQPVVGisDcf+K+2coTsFmZNXGoWqBeKoLb1x 3ZptFg7el6LpqeSuHR1QjwuSCHfpkEX/T+XcjAHpaQzkvx2kHT7d0+kYGoaayuMfQhPV CAs5kcpK7DDzn/NDlTFukbq1xe316LjUYcWLM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=7lBt38Y57UVCM6RmWxzDPG8s14yCLj4alHIweD2S9RCSxSQqH6anfbkNhzPv/cICai cyyZfaqTmcgfot6ZBWjynD+r0G6w87pW5OzZEsowinAmKwgEcxE7BpJ4TGEQ45w4B8++ qvQjVDlhHI0BiBZechH5riHs9uv+g7mXnhGVjHIj9SonO3SbqwezSrnB48ZmddASvLbq cUSg7PwXP86NTi/tbj/X+D9PwYkTp7AUJg0UqcmxQXXOlkToMqMHle5jMQCBiX01b9V+ PUliBrszFQpL9Lr4eRX8FuteEVc7/c1qatUqWlH9dT/3Aa6TLw3UwpHmaL4oJXsyBCX0 dgPg== X-Gm-Message-State: AOAM5327UztrONR5QJeRWhsmasgtkEssIb+bYZHit8rt57hCKgwk7hx+ ZWjpD3IWe+oL2zJN4tK3PvYGBA== X-Google-Smtp-Source: ABdhPJwjJJkj0fC2gO+FdGjnaisWCk9FKkCf0qazg7PUuY4rrjoW+egyeLOWB+yCEr/MI5qa+9+dbA== X-Received: by 2002:a17:902:eb8f:: with SMTP id q15mr235036plg.67.1644949062021; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id a186sm3157627pgc.70.2022.02.15.10.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 10:17:41 -0800 (PST) Date: Tue, 15 Feb 2022 10:17:40 -0800 From: Kees Cook To: "Gustavo A. R. Silva" Cc: GR-QLogic-Storage-Upstream@marvell.com, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org, linux-crypto@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org, linux-omap@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, linux-staging@lists.linux.dev, linux-rpi-kernel@lists.infradead.org, sparmaintainer@unisys.com, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-ext4@vger.kernel.org, linux-acpi@vger.kernel.org, devel@acpica.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, greybus-dev@lists.linaro.org, linux-i3c@lists.infradead.org, linux-rdma@vger.kernel.org, linux-bluetooth@vger.kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220215174743.GA878920@embeddedor> Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote: > There is a regular need in the kernel to provide a way to declare > having a dynamically sized set of trailing elements in a structure. > Kernel code should always use “flexible array members”[1] for these > cases. The older style of one-element or zero-length arrays should > no longer be used[2]. > > This code was transformed with the help of Coccinelle: > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch) > > @@ > identifier S, member, array; > type T1, T2; > @@ > > struct S { > ... > T1 member; > T2 array[ > - 0 > ]; > }; These all look trivially correct to me. Only two didn't have the end of the struct visible in the patch, and checking those showed them to be trailing members as well, so: Reviewed-by: Kees Cook -- Kees Cook From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0A9FC433EF for ; Tue, 15 Feb 2022 18:17:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+FDGV/xQVIw/zKgFrGGnT0YrydOFDrNVvU2rAHqEtkI=; b=wvrw4rdpMg45lz S6vtujbow1dB3qsBhPmjc2tssIASkrN32kqT03Hi5+92ZX0IqwGOff6e/6V6tdlu/d8lffxbjzHjJ eARRKFOlaZRW7levZBcQRAVTKnh61I+JjHe8ur63tSHuE5G3ZTycMTMAGIs51LuLsNhviF6w/T8Ty Jt3w6gLpg/a/+2HIv169R4F/N08AHK7MLqh8j1KGzLwldddDdpGZV4D5ZLICVNOWUk+d9yBCf4IfP DgZlhTMVoIcP4qb7njUCK/iEo5O7NvwLBtrDhQAiogTlt5IF2+/xGEq4asenqtP6WMAqcGA5gjGmf ZEVx9EqDcC31Zhzqxgrg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nK2Ok-00439o-7F; Tue, 15 Feb 2022 18:17:58 +0000 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nK2OW-00432S-Nk for linux-i3c@lists.infradead.org; Tue, 15 Feb 2022 18:17:46 +0000 Received: by mail-pj1-x102a.google.com with SMTP id y9so18079636pjf.1 for ; Tue, 15 Feb 2022 10:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=BbY3zUMbpsKVLuD6QiFaFpnxej58wpxQPVVGisDcf+K+2coTsFmZNXGoWqBeKoLb1x 3ZptFg7el6LpqeSuHR1QjwuSCHfpkEX/T+XcjAHpaQzkvx2kHT7d0+kYGoaayuMfQhPV CAs5kcpK7DDzn/NDlTFukbq1xe316LjUYcWLM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=Ge3x83YXZos+mv+VDBFAnfOg3fw4x+weWzdoxN8aa1u+Hte0MpcpgpM0HS+xx5l3NK adrUxT4nZ5SP6Qrje9I0Uoc2JoRhtAYb3BVfjv2WeBCRgPKsA9gGUaZvUOTyIMdydM+D Pq8UmrkWwkyPiMQy5ey1V1mXLOkzBMJg/tsdrb40AjvCkAqTFQ0+uVQptpMVe4sYmOWj BWWM0DHffdjZLOK1VuHYFlXltuKlpyyDAmd1UPUxYI4+TLbJUAIHmLr1h1LWJhUD+RIE IocH4Uc23zSQA9ht66vod6Id0wtPX2tkR24S8xdlqrcn5brsxtcnn//d0JNvzqNjznZD anlA== X-Gm-Message-State: AOAM533/wlY65KCwoy48T6QEBmMn/1BBK80QHYKvYdlbRAnwmFuxQsH4 uA/6n1JAkzS9+xLJO1OkWG1oQw== X-Google-Smtp-Source: ABdhPJwjJJkj0fC2gO+FdGjnaisWCk9FKkCf0qazg7PUuY4rrjoW+egyeLOWB+yCEr/MI5qa+9+dbA== X-Received: by 2002:a17:902:eb8f:: with SMTP id q15mr235036plg.67.1644949062021; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id a186sm3157627pgc.70.2022.02.15.10.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 10:17:41 -0800 (PST) Date: Tue, 15 Feb 2022 10:17:40 -0800 From: Kees Cook To: "Gustavo A. R. Silva" Cc: GR-QLogic-Storage-Upstream@marvell.com, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org, linux-crypto@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org, linux-omap@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, linux-staging@lists.linux.dev, linux-rpi-kernel@lists.infradead.org, sparmaintainer@unisys.com, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-ext4@vger.kernel.org, linux-acpi@vger.kernel.org, devel@acpica.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, greybus-dev@lists.linaro.org, linux-i3c@lists.infradead.org, linux-rdma@vger.kernel.org, linux-bluetooth@vger.kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220215174743.GA878920@embeddedor> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220215_101744_816282_775ACF46 X-CRM114-Status: GOOD ( 12.71 ) X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org T24gVHVlLCBGZWIgMTUsIDIwMjIgYXQgMTE6NDc6NDNBTSAtMDYwMCwgR3VzdGF2byBBLiBSLiBT aWx2YSB3cm90ZToKPiBUaGVyZSBpcyBhIHJlZ3VsYXIgbmVlZCBpbiB0aGUga2VybmVsIHRvIHBy b3ZpZGUgYSB3YXkgdG8gZGVjbGFyZQo+IGhhdmluZyBhIGR5bmFtaWNhbGx5IHNpemVkIHNldCBv ZiB0cmFpbGluZyBlbGVtZW50cyBpbiBhIHN0cnVjdHVyZS4KPiBLZXJuZWwgY29kZSBzaG91bGQg YWx3YXlzIHVzZSDigJxmbGV4aWJsZSBhcnJheSBtZW1iZXJz4oCdWzFdIGZvciB0aGVzZQo+IGNh c2VzLiBUaGUgb2xkZXIgc3R5bGUgb2Ygb25lLWVsZW1lbnQgb3IgemVyby1sZW5ndGggYXJyYXlz IHNob3VsZAo+IG5vIGxvbmdlciBiZSB1c2VkWzJdLgo+IAo+IFRoaXMgY29kZSB3YXMgdHJhbnNm b3JtZWQgd2l0aCB0aGUgaGVscCBvZiBDb2NjaW5lbGxlOgo+IChuZXh0LTIwMjIwMjE0JCBzcGF0 Y2ggLS1qb2JzICQoZ2V0Y29uZiBfTlBST0NFU1NPUlNfT05MTikgLS1zcC1maWxlIHNjcmlwdC5j b2NjaSAtLWluY2x1ZGUtaGVhZGVycyAtLWRpciAuID4gb3V0cHV0LnBhdGNoKQo+IAo+IEBACj4g aWRlbnRpZmllciBTLCBtZW1iZXIsIGFycmF5Owo+IHR5cGUgVDEsIFQyOwo+IEBACj4gCj4gc3Ry dWN0IFMgewo+ICAgLi4uCj4gICBUMSBtZW1iZXI7Cj4gICBUMiBhcnJheVsKPiAtIDAKPiAgIF07 Cj4gfTsKClRoZXNlIGFsbCBsb29rIHRyaXZpYWxseSBjb3JyZWN0IHRvIG1lLiBPbmx5IHR3byBk aWRuJ3QgaGF2ZSB0aGUgZW5kIG9mCnRoZSBzdHJ1Y3QgdmlzaWJsZSBpbiB0aGUgcGF0Y2gsIGFu ZCBjaGVja2luZyB0aG9zZSBzaG93ZWQgdGhlbSB0byBiZQp0cmFpbGluZyBtZW1iZXJzIGFzIHdl bGwsIHNvOgoKUmV2aWV3ZWQtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPgoK LS0gCktlZXMgQ29vawoKLS0gCmxpbnV4LWkzYyBtYWlsaW5nIGxpc3QKbGludXgtaTNjQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1pM2MK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kees Cook Date: Tue, 15 Feb 2022 18:17:40 +0000 Subject: Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members Message-Id: <202202151016.C0471D6E@keescook> List-Id: References: <20220215174743.GA878920@embeddedor> In-Reply-To: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: "Gustavo A. R. Silva" Cc: GR-QLogic-Storage-Upstream@marvell.com, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org, linux-crypto@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org, linux-omap@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, linux-staging@lists.linux.dev, linux-rpi-kernel@lists.infradead.org, sparmaintainer@unisys.com, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-ext4@vger.kernel.org, linux-acpi@vger.kernel.org, devel@acpica.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, greybus-dev@lists.linaro.org, linux-i3c@lists.infradead.org, linux-rdma@vger.kernel.org, linux-bluetooth@vger.kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-hardening@vger.kernel.org On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote: > There is a regular need in the kernel to provide a way to declare > having a dynamically sized set of trailing elements in a structure. > Kernel code should always use “flexible array members”[1] for these > cases. The older style of one-element or zero-length arrays should > no longer be used[2]. > > This code was transformed with the help of Coccinelle: > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch) > > @@ > identifier S, member, array; > type T1, T2; > @@ > > struct S { > ... > T1 member; > T2 array[ > - 0 > ]; > }; These all look trivially correct to me. Only two didn't have the end of the struct visible in the patch, and checking those showed them to be trailing members as well, so: Reviewed-by: Kees Cook -- Kees Cook From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 15 Feb 2022 10:17:40 -0800 From: Kees Cook Subject: Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220215174743.GA878920@embeddedor> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+geert.uytterhoeven=gmail.com@lists.infradead.org To: "Gustavo A. R. Silva" Cc: GR-QLogic-Storage-Upstream@marvell.com, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org, linux-crypto@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org, linux-omap@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, linux-staging@lists.linux.dev, linux-rpi-kernel@lists.infradead.org, sparmaintainer@unisys.com, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-ext4@vger.kernel.org, linux-acpi@vger.kernel.org, devel@acpica.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, greybus-dev@lists.linaro.org, linux-i3c@lists.infradead.org, linux-rdma@vger.kernel.org, linux-bluetooth@vger.kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-hardening@vger.kernel.org List-ID: T24gVHVlLCBGZWIgMTUsIDIwMjIgYXQgMTE6NDc6NDNBTSAtMDYwMCwgR3VzdGF2byBBLiBSLiBT aWx2YSB3cm90ZToKPiBUaGVyZSBpcyBhIHJlZ3VsYXIgbmVlZCBpbiB0aGUga2VybmVsIHRvIHBy b3ZpZGUgYSB3YXkgdG8gZGVjbGFyZQo+IGhhdmluZyBhIGR5bmFtaWNhbGx5IHNpemVkIHNldCBv ZiB0cmFpbGluZyBlbGVtZW50cyBpbiBhIHN0cnVjdHVyZS4KPiBLZXJuZWwgY29kZSBzaG91bGQg YWx3YXlzIHVzZSDigJxmbGV4aWJsZSBhcnJheSBtZW1iZXJz4oCdWzFdIGZvciB0aGVzZQo+IGNh c2VzLiBUaGUgb2xkZXIgc3R5bGUgb2Ygb25lLWVsZW1lbnQgb3IgemVyby1sZW5ndGggYXJyYXlz IHNob3VsZAo+IG5vIGxvbmdlciBiZSB1c2VkWzJdLgo+IAo+IFRoaXMgY29kZSB3YXMgdHJhbnNm b3JtZWQgd2l0aCB0aGUgaGVscCBvZiBDb2NjaW5lbGxlOgo+IChuZXh0LTIwMjIwMjE0JCBzcGF0 Y2ggLS1qb2JzICQoZ2V0Y29uZiBfTlBST0NFU1NPUlNfT05MTikgLS1zcC1maWxlIHNjcmlwdC5j b2NjaSAtLWluY2x1ZGUtaGVhZGVycyAtLWRpciAuID4gb3V0cHV0LnBhdGNoKQo+IAo+IEBACj4g aWRlbnRpZmllciBTLCBtZW1iZXIsIGFycmF5Owo+IHR5cGUgVDEsIFQyOwo+IEBACj4gCj4gc3Ry dWN0IFMgewo+ICAgLi4uCj4gICBUMSBtZW1iZXI7Cj4gICBUMiBhcnJheVsKPiAtIDAKPiAgIF07 Cj4gfTsKClRoZXNlIGFsbCBsb29rIHRyaXZpYWxseSBjb3JyZWN0IHRvIG1lLiBPbmx5IHR3byBk aWRuJ3QgaGF2ZSB0aGUgZW5kIG9mCnRoZSBzdHJ1Y3QgdmlzaWJsZSBpbiB0aGUgcGF0Y2gsIGFu ZCBjaGVja2luZyB0aG9zZSBzaG93ZWQgdGhlbSB0byBiZQp0cmFpbGluZyBtZW1iZXJzIGFzIHdl bGwsIHNvOgoKUmV2aWV3ZWQtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPgoK LS0gCktlZXMgQ29vawoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 858D3C433F5 for ; Mon, 21 Feb 2022 01:12:57 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7D98B10E2C9; Mon, 21 Feb 2022 01:12:38 +0000 (UTC) Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by gabe.freedesktop.org (Postfix) with ESMTPS id 752E510E4E1 for ; Tue, 15 Feb 2022 18:17:42 +0000 (UTC) Received: by mail-pj1-x1035.google.com with SMTP id qe15so18049239pjb.3 for ; Tue, 15 Feb 2022 10:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=BbY3zUMbpsKVLuD6QiFaFpnxej58wpxQPVVGisDcf+K+2coTsFmZNXGoWqBeKoLb1x 3ZptFg7el6LpqeSuHR1QjwuSCHfpkEX/T+XcjAHpaQzkvx2kHT7d0+kYGoaayuMfQhPV CAs5kcpK7DDzn/NDlTFukbq1xe316LjUYcWLM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=rU/cr+2YS83r8ZzfG0ihHyfke5lY7dzNO33vRqwTRo0=; b=SEBXPhfwq/Nf9DD+CCH19Ob+gq4/7K+n9gLDfIk4PaN+21SLAYAu7+bgQ4QtTDHcX7 hwVL/Jnt6ryzsF0n0pALE14YVTZGDZHNxGaaFM9KQ9/pQ/9PayUfWLu81YUPrju0fJW1 ucAM7XHNXEJb5RvJg5V1KZ+7Zud+MMhJ/6CpLGYujQz2A9TLyGkb++zUzN5N8QWYCBaQ uFscMljUPfWEgqyEb7v7xH93aG/sxgoR6q+D+nKbkQ5xPZ6bDxcv+/lGtiJzsJmIfcwm jdpme+RhRA4xnQgaLEL5FAe95qlEYBuVYJqlLAYjK782YvF/nZOovur6tOtxNFZIt6HZ 3p4w== X-Gm-Message-State: AOAM531KMqnek70CwRxa6IdNc8nVfSNOoacmn6CHbmWh0BWTzZBNMVp9 n5zYDbahCGu/ZBaAyZgpoIocSQ== X-Google-Smtp-Source: ABdhPJwjJJkj0fC2gO+FdGjnaisWCk9FKkCf0qazg7PUuY4rrjoW+egyeLOWB+yCEr/MI5qa+9+dbA== X-Received: by 2002:a17:902:eb8f:: with SMTP id q15mr235036plg.67.1644949062021; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id a186sm3157627pgc.70.2022.02.15.10.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 10:17:41 -0800 (PST) Date: Tue, 15 Feb 2022 10:17:40 -0800 From: Kees Cook To: "Gustavo A. R. Silva" Message-ID: <202202151016.C0471D6E@keescook> References: <20220215174743.GA878920@embeddedor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220215174743.GA878920@embeddedor> X-Mailman-Approved-At: Mon, 21 Feb 2022 01:12:29 +0000 Subject: Re: [Nouveau] [PATCH][next] treewide: Replace zero-length arrays with flexible-array members X-BeenThere: nouveau@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Nouveau development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alsa-devel@alsa-project.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, devicetree@vger.kernel.org, target-devel@vger.kernel.org, linux-hardening@vger.kernel.org, sparclinux@vger.kernel.org, linux-i3c@lists.infradead.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-rdma@vger.kernel.org, linux-staging@lists.linux.dev, linux-acpi@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-ext4@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-xtensa@linux-xtensa.org, mpi3mr-linuxdrv.pdl@broadcom.com, coresight@lists.linaro.org, sparmaintainer@unisys.com, linux-um@lists.infradead.org, greybus-dev@lists.linaro.org, linux-rpi-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devel@acpica.org, linux-cifs@vger.kernel.org, netdev@vger.kernel.org, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, GR-QLogic-Storage-Upstream@marvell.com, linux-crypto@vger.kernel.org, linux-alpha@vger.kernel.org Errors-To: nouveau-bounces@lists.freedesktop.org Sender: "Nouveau" On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote: > There is a regular need in the kernel to provide a way to declare > having a dynamically sized set of trailing elements in a structure. > Kernel code should always use “flexible array members”[1] for these > cases. The older style of one-element or zero-length arrays should > no longer be used[2]. > > This code was transformed with the help of Coccinelle: > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch) > > @@ > identifier S, member, array; > type T1, T2; > @@ > > struct S { > ... > T1 member; > T2 array[ > - 0 > ]; > }; These all look trivially correct to me. Only two didn't have the end of the struct visible in the patch, and checking those showed them to be trailing members as well, so: Reviewed-by: Kees Cook -- Kees Cook