Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp53521pxf; Wed, 10 Mar 2021 20:32:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJy/FpLjc9JQOpnW9Ld9XzrQHJW4sCteC5fDc1mJkwXGkANrFyLueAXXsF4yINYo4W635WlC X-Received: by 2002:a17:907:9862:: with SMTP id ko2mr1159453ejc.222.1615437161001; Wed, 10 Mar 2021 20:32:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615437160; cv=none; d=google.com; s=arc-20160816; b=dgsXjCcTRifOpD+hyj3Rn4pspNYFmNMwfkFOk5sb2jkONnDTQ9ilwViEpGPWL0p62n AfdjVyLprjhQZZZT0EEQhOMu+bPIY+wzaUkAjVFjoHmpKXm4GuJyKd3twWRvPP57vmGR cBFE59rL00NPUyoJ9yaawTWCzFECieTiYab8J4TOl2EWWsrvwOESoXWC+Wz9j6U9vn78 D5D7KTjkcDNbuzitvZ2UMvEUUPMguCauWsFQbSulvlBiZbTUtldNlQh0ItisGLWzI0Wf 4oAqVCPZBqNXMnH+1a5/+wQy5Fl375CdG8P9IunnmgJ2v4lchaZo8Uao5eBzJZSRY7u7 peRA== 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=hGlSvfVilRdyjcxlHigRVXBapy983SK4zTZ5DVkCG4s=; b=oBeilZEycbep7NzCP5ugPym4GV3HUkPzv77TIz6bJaVZlGVWSosLZpNZroCKAcAg0N w8O5PmTYuOTph+rIqVPSSpAM7ikIWTarL2SX2HguLR6Wrhcnw6ZzCHWq3m+Zwj1E+xb0 xh9cRWGQBfl6/D097ntah/rLcK/xd7ATaYdQ7PslL55HFTxEVPD/PleLxKKVA+Mcr5mz otKfbFFyUfuv1XH/+HmUhfHsGsVyWyLwvxFlh2mtiW5cl0crV81YFQI6ecbdwGtlr3Uf BqaroUDEhPkaDC88q5OvzPiY26oeVFo+RGAw9rscanP8DKh97zYne846uc2zYqGgyWUt N2pQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@embeddedor.com header.s=default header.b=pft6ycnc; 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 jg8si941826ejc.657.2021.03.10.20.32.18; Wed, 10 Mar 2021 20:32:40 -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=pft6ycnc; 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 S231273AbhCKE22 (ORCPT + 99 others); Wed, 10 Mar 2021 23:28:28 -0500 Received: from gateway21.websitewelcome.com ([192.185.45.175]:23386 "EHLO gateway21.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231263AbhCKE2X (ORCPT ); Wed, 10 Mar 2021 23:28:23 -0500 Received: from cm17.websitewelcome.com (cm17.websitewelcome.com [100.42.49.20]) by gateway21.websitewelcome.com (Postfix) with ESMTP id E69AB400CECC5 for ; Wed, 10 Mar 2021 22:28:22 -0600 (CST) Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with SMTP id KCvulJavSA1KVKCvuldj8k; Wed, 10 Mar 2021 22:28:22 -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=hGlSvfVilRdyjcxlHigRVXBapy983SK4zTZ5DVkCG4s=; b=pft6ycncLKFmg0KMj3fsFIn7rW bWnd+RboW3SxSz09J5brSDZRt3ED+qM0oso0DQ2dT8nqUI/LmGxYCYr7vf0ytPLWVNkQXGumc6+7K zanca0/r5zIWmxLbGDiBRvExFoHO57tEO73lQ49e7aah/gQOIOmFjm/YKFkBLh/G/9V88VAByyizW bsuVLvs99FDjzGGCeWho3U2j4qdYc5lQahuowwRAenezYBTHfvnYNdb5eKhJpSukrbOugrAQ8kngE 8P1NjGReJTpPCwbTVs8bzs7OaS/Q85OyKsWFkEGjBewCnheiNAwAF8Eb0MfHgWcygXU8/uzIPBrh9 gIIDHWhQ==; Received: from 187-162-31-110.static.axtel.net ([187.162.31.110]:44512 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 1lKCvu-003P6f-Ka; Wed, 10 Mar 2021 22:28:22 -0600 Subject: Re: [PATCH v2][next] xfs: Replace one-element arrays with flexible-array members To: "Darrick J. Wong" , "Gustavo A. R. Silva" Cc: Dave Chinner , linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org References: <20210310020108.GA279881@embeddedor> <20210311031745.GT3419940@magnolia> From: "Gustavo A. R. Silva" Message-ID: Date: Wed, 10 Mar 2021 22:28:22 -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: <20210311031745.GT3419940@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: 1lKCvu-003P6f-Ka 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]:44512 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/10/21 21:17, Darrick J. Wong wrote: > Why not use size_t instead of uint? You converted the @len declaration > above. > >> + src_efi_fmt->efi_nextents); >> + uint len64 = struct_size((xfs_efi_log_format_64_t *)0, efi_extents, > > Also, please don't use the struct typedefs, we're trying to get rid of > those slowly. > > TBH I wonder if these could just be turned into static inline helpers to > decrapify the code: > > static inline size_t > sizeof_efi_log_format32(unsigned int nr) > { > return struct_size((xfs_efi_log_format_32_t *)0, efi_extents, nr); > } > > Then you only need: > > size_t len = sizeof_efi_log_format(src_efi_fmt->efi_nextents); > size_t len32 = sizeof_efi_log_format32(src_efi_fmt->efi_nextents); > size_t len64 = sizeof_efi_log_format64(src_efi_fmt->efi_nextents); > > if (len == len32) ... > else if (len == len64) ... > > And down below you can clean up the asserts a bit: > > ASSERT(item->ri_buf[0].i_len == > sizeof_efi_log_format32(efd_formatp->efd_nextents) || > item->ri_buf[0].i_len == > sizeof_efi_log_format64(efd_formatp->efd_nextents)); > Done: https://lore.kernel.org/lkml/20210311042302.GA137676@embeddedor/ Thanks for the feedback! -- Gustavo