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 2F59AC4167D for ; Tue, 15 Feb 2022 18:17:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242971AbiBOSR7 (ORCPT ); Tue, 15 Feb 2022 13:17:59 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:34898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242969AbiBOSR4 (ORCPT ); Tue, 15 Feb 2022 13:17:56 -0500 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 80F86119F09 for ; Tue, 15 Feb 2022 10:17:42 -0800 (PST) Received: by mail-pj1-x1035.google.com with SMTP id n19-20020a17090ade9300b001b9892a7bf9so3832919pjv.5 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=VUWJi9Jexpxhi7z5Meke24bkO8jEMKYL5t8IexLdb9iowHtxmUI0IoPxOYR3857nqW s1dBs4MNNBgFO/9PDm2CVlWjOvFH510TzBxhb63xPIKeYB/EbonLJXfxYacoRVLB2S98 DgN/niXvD0upsmcLY1QdRYg1ksYHvp335CWN+7kLFKMmPlT9BKqR5FGRLG85UZh+9ESE qG1UG0ttfUmhr4eaLz1wXRC0jjIwv0Hm6EE9Qhd9WXoUDyZG2bkBui0WRS7/Ys7Zj9Sz NDkQcG+eN53m3BqMf+/poNOA1J1FEDc7ztfKNLeIBcviiDm9fqoC7ISmuUgWQgP9fvcj eibg== X-Gm-Message-State: AOAM533pW15NQiJA8ruOuUCjkjBGfxEjMfKYm++qR/fUUmnK6VyzMfb7 KzH2P7+RxDYsxCpHyCMlSPYPPg== 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-cifs@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