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 21F7DC4332F for ; Thu, 20 Jan 2022 06:08:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237097AbiATGIs (ORCPT ); Thu, 20 Jan 2022 01:08:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58434 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231792AbiATGIs (ORCPT ); Thu, 20 Jan 2022 01:08:48 -0500 Received: from mail.marcansoft.com (marcansoft.com [IPv6:2a01:298:fe:f::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A263C061574; Wed, 19 Jan 2022 22:08:47 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: marcan@marcan.st) by mail.marcansoft.com (Postfix) with ESMTPSA id 9F2054246A; Thu, 20 Jan 2022 06:08:38 +0000 (UTC) Subject: Re: [PATCH v3 2/9] brcmfmac: firmware: Allocate space for default boardrev in nvram To: Andy Shevchenko Cc: Kalle Valo , "David S. Miller" , Jakub Kicinski , Rob Herring , "Rafael J. Wysocki" , Len Brown , Arend van Spriel , Franky Lin , Hante Meuleman , Chi-hsien Lin , Wright Feng , Dmitry Osipenko , Sven Peter , Alyssa Rosenzweig , Mark Kettenis , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Pieter-Paul Giesberts , Linus Walleij , Hans de Goede , "John W. Linville" , "brian m. carlson" , "open list:TI WILINK WIRELES..." , netdev , devicetree , Linux Kernel Mailing List , ACPI Devel Maling List , "open list:BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER" , SHA-cyfmac-dev-list@infineon.com References: <20220117142919.207370-1-marcan@marcan.st> <20220117142919.207370-3-marcan@marcan.st> From: Hector Martin Message-ID: Date: Thu, 20 Jan 2022 15:08:36 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: es-ES Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 20/01/2022 06.35, Andy Shevchenko wrote: > On Mon, Jan 17, 2022 at 4:30 PM Hector Martin wrote: >> >> If boardrev is missing from the NVRAM we add a default one, but this >> might need more space in the output buffer than was allocated. Ensure >> we have enough padding for this in the buffer. > > Do you know this ahead (before allocation happens)? > If yes, the size change should happen conditionally. > > Alternatively, krealloc() may be used. We don't know if we will have to add a boardrev until we find it's missing. The buffer is already oversized anyway, as its size is computed based on the input NVRAM size, while comments and such will be removed. This is just increasing the existing worst-case allocation to properly account for the true worst-case case. I don't think trying to keep the buffer perfectly sized buys us anything here, since it will be freed after download anyway. There's no point in saving a few bytes of memory in the interim. -- Hector Martin (marcan@marcan.st) Public Key: https://mrcn.st/pub