Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp18741pxb; Tue, 9 Mar 2021 14:30:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJx7tyql33Krsc7j9oxvDyTB1RjTwDS92d3mcvmatHSYJlLTnOo5x1SRGKYVgDOEqWvb1cfi X-Received: by 2002:a17:906:d554:: with SMTP id cr20mr287323ejc.61.1615329015305; Tue, 09 Mar 2021 14:30:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615329015; cv=none; d=google.com; s=arc-20160816; b=aJOxHTmcnU234OGzHxdjWksgmGWxeVIwta88lg5oWr/6b69/Nx8I1o5T3YBVSH865y Po86mem22wvFJAHDOhCuKqBQMH/uu1idlF0d633l/rXZpXQkw78jLvopTEOaPFWHLpxT fcoDWFfJYlpNpiHjOB08b83AnnnUpqlrsTTtkbH/L77P18oAAZGUm1HFjMZO7rpRhnpW HmGPzj3a807UFauXAOW6JV5gr1hlqvMiE01fULw3wGe6OUNcFWyXL5TTBnnBgdzzO5YJ 0XcqDmjK7e6YkE1TJztmPiCRrWzmRSjFDmMly+KlB5EyZ+g7mBhyzAdL6gWfQHDysY4s QU9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=sFVC56Nr3h3444R3x8H8hPzvSqttuM8D3wbuXBin/jo=; b=nngDWx4DuX1RxrYNqOosSuMJ4x3Y1ao1/bX77pZyrjK1RHi/Fdw3rOZk32GFuPfSaE Iv+K0OmFp0vzwHJ7alLGvXiRUA2QOHeJPzN6ISfxE1T8lSMZ2HQRM5JtLL6u9urJjC63 81LNNOd0lj8mlsJDDKVfu0DuauaD+d5xveLEhpf+ihFtw9T+/9T3wwoqIj3w9K6UxjEr LtwOl2YKKLzo4HWw7p/rk5oroq6UATFhRkSOQOssxo+gnjaTWFbNeNRx/7v53blpwAD0 JDdCJQuvUrhtnFbUzkITYq3ZBVk3fcrkEg94wdCL6vnEMvkjJHdkXIi6UB3DAq7MaEB+ eOmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@embeddedor.com header.s=default header.b=PeJdk4VR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u8si10134414ejf.255.2021.03.09.14.29.48; Tue, 09 Mar 2021 14:30:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@embeddedor.com header.s=default header.b=PeJdk4VR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230450AbhCIW2s (ORCPT + 99 others); Tue, 9 Mar 2021 17:28:48 -0500 Received: from gateway30.websitewelcome.com ([192.185.192.34]:35600 "EHLO gateway30.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230086AbhCIW2g (ORCPT ); Tue, 9 Mar 2021 17:28:36 -0500 X-Greylist: delayed 1476 seconds by postgrey-1.27 at vger.kernel.org; Tue, 09 Mar 2021 17:28:36 EST Received: from cm13.websitewelcome.com (cm13.websitewelcome.com [100.42.49.6]) by gateway30.websitewelcome.com (Postfix) with ESMTP id C27993EDE for ; Tue, 9 Mar 2021 16:03:57 -0600 (CST) Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with SMTP id JkSLlxYcq4HRaJkSLlw6v1; Tue, 09 Mar 2021 16:03:57 -0600 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=embeddedor.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=sFVC56Nr3h3444R3x8H8hPzvSqttuM8D3wbuXBin/jo=; b=PeJdk4VRD7mV8U9CDR6MEC2yi3 iFWD9tLrWs10yakUaZQJ/1bFEi1TcKKME+gZAKB78pwnXG8OY6UesQV4WNCBcQ9hROzZm59ZhyRiv uUVO4J+WLc/zJD0pRWjaQD71iDzBQTkLB0YX+m6Q14ZnUXH/ey53Lyuhdm7dHvCi7WSdDacKCFDMF +4anh9P8fTcBztYaeFTf5jdd3dR+e5RVy7Maw7LL7sSyRy++sv8IJVKxQ9aRgXq/sPeiGYBrkqTp7 tkyN1HWkB85f8CA9cNSWDpE+JqvJcsE1NqLHCJ2W+QDWB42SBtXVwOV8pZQ09zdh80eEEMLI+e2Bi sd9K86pg==; Received: from 187-162-31-110.static.axtel.net ([187.162.31.110]:49312 helo=[192.168.15.8]) by gator4166.hostgator.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1lJkSL-000zzy-E3; Tue, 09 Mar 2021 16:03:57 -0600 Subject: Re: [PATCH][next] xfs: Replace one-element arrays with flexible-array members To: "Darrick J. Wong" Cc: "Gustavo A. R. Silva" , Dave Chinner , linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org References: <20210302150558.GA198498@embeddedor> <20210309174212.GV3419940@magnolia> <8bf7e1d2-e2d4-c56f-cd04-0045dc4c7e2f@embeddedor.com> <20210309212643.GZ3419940@magnolia> From: "Gustavo A. R. Silva" Message-ID: <6cd7c00a-a49c-41f9-06cb-e3123bb32d6c@embeddedor.com> Date: Tue, 9 Mar 2021 16:03:56 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210309212643.GZ3419940@magnolia> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 187.162.31.110 X-Source-L: No X-Exim-ID: 1lJkSL-000zzy-E3 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 187-162-31-110.static.axtel.net ([192.168.15.8]) [187.162.31.110]:49312 X-Source-Auth: gustavo@embeddedor.com X-Email-Count: 5 X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/9/21 15:26, Darrick J. Wong wrote: >>> It seems to work all right for casted NULL pointers, and then we get all >>> the typechecking and multiplication overflow checking, e.g.: >>> >>> size_t len64 = struct_size((struct xfs_efi_log_format_32 *)NULL, >>> efi_extents src_efi_fmt->efi_nextents); >> Yeah; in that case, what do you think about casting 0, instead of NULL: >> >> uint len32 = struct_size((xfs_efi_log_format_32_t *)0, efi_extents, >> src_efi_fmt->efi_nextents); >> uint len64 = struct_size((xfs_efi_log_format_64_t *)0, efi_extents, >> src_efi_fmt->efi_nextents); > I don't have a preference either way, either here or for the half-dozen > more of these scattered elsewhere in the file. OK. I'll send v2, shortly Thanks for the feedback! -- Gustavo