Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp882657rwl; Fri, 7 Apr 2023 06:57:36 -0700 (PDT) X-Google-Smtp-Source: AKy350adKt0vHDssvosmi4DLdusaynRuXIh87+rfELfwXjc5scKsplJM0gME6/7mQOZ5ATTUY6/T X-Received: by 2002:a17:906:a16:b0:947:792d:bf7e with SMTP id w22-20020a1709060a1600b00947792dbf7emr2210571ejf.58.1680875856346; Fri, 07 Apr 2023 06:57:36 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1680875856; cv=pass; d=google.com; s=arc-20160816; b=pmgxu+03g5w6gmiStHDYuXXT5TqOWvdSNAA0ANPwXySIxf7qFC8XWYlwlU01AiXlSQ X8KnnceEsymBrYygs5oXDEPjgvar5FiB1SOP0GofQztyYdvqFk5tHHC0cBdv4y8sF442 YKsbNsMxCLxDcNorLfv+mroqytK+A1M03vEcyLp0RWKtevPOw+oMxob4aEikiIsUCWjz 8VifPDtJXtqpwpcKtoeSlo4W4gW1TEkHAvPjCyDPas+iTfOxtkH3qPB1sPbcej7mN22q FJDQq0zw9ioIJcFhEYNas7Ez8+y03Ci+Nqocnw9SX0e8I/FIFJCkwMC8zIQWQMi8BEAa 7NYg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=TMRN6q7owjGGN5u/NWFzsarFjf8XwvRjrUktuZa8bfo=; b=q/uJM5KzvEseQKApZ82EnEndQgz8MdpYAYxD0OXtSmroBgZGpskzEkNDtngJ/+fdZo gPV3fSYSxC/5XdWf335hj1ROAO9p4FYkO16fr76COQt7ryjV9OhGt163SXfV3FhBI8Pj NO/9xoafwDpNDv3I4oCDHj3ttb9u8XRHG++q6Y4YNDtJJQy4AbRISVC0EK2zPFJOHRbW D9EUFNvdXyTO4DfyPzm1FkqKqkwssZt+R27TLATL/pE/UjlxEyQ5YRrPAla8caUVIbin lD0Otj/aYxrjifiMhVRe6nZEBpLk1haxi31/C2yQNBO8/6oafdyLtsjQdl0mzWkmbDok 5SNg== ARC-Authentication-Results: i=2; mx.google.com; dkim=fail header.i=@unixcat.org header.s=dreamhost header.b="hm4LmFK/"; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e20-20020a17090658d400b009476ce937e0si3860185ejs.875.2023.04.07.06.57.11; Fri, 07 Apr 2023 06:57:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@unixcat.org header.s=dreamhost header.b="hm4LmFK/"; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231563AbjDGNzO (ORCPT + 99 others); Fri, 7 Apr 2023 09:55:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40990 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240378AbjDGNyv (ORCPT ); Fri, 7 Apr 2023 09:54:51 -0400 Received: from bird.elm.relay.mailchannels.net (bird.elm.relay.mailchannels.net [23.83.212.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 347A7DE; Fri, 7 Apr 2023 06:53:04 -0700 (PDT) X-Sender-Id: dreamhost|x-authsender|hussein@unixcat.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 27A3D640BA7; Fri, 7 Apr 2023 13:51:49 +0000 (UTC) Received: from pdx1-sub0-mail-a274.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A1BE8640A4E; Fri, 7 Apr 2023 13:51:48 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1680875508; a=rsa-sha256; cv=none; b=8TH02B/AOI4GWf2QyncXdDHlqw6ctjY7jjNZ7EvGk9sfeTnotAa+nzHKeqJhTnzCSSD4+2 VD1+6771oGjT1JmtQHnGL6MX++7K9RI418M9bO+rZKyj33yXV+Mi+U1vkALuu+i0oZox9O ZI5R7R1wrfYlVwQgcgFdgjkl8HcRiKvpdrAXlLdHhXB13A6iZHIcEZ4PnRCzsa8lqr/RLP uWrhu2Z3Es1RT432lhOGrRq1e15N6ddF3gjgI7Q232zs8QBai4/8mKgAcYkRgAS/KoRvqj fw/pJRE0rPw1qjUJzwfHa1cAxLsUlnHeVgtGr6ceQ7R4qHbr0Owg50dfrLMkqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1680875508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=TMRN6q7owjGGN5u/NWFzsarFjf8XwvRjrUktuZa8bfo=; b=ESAjxDlKK5wyI3GzcmnNnL3n5ZA5/GuP99Pvr95u1in+mX+xwc1EasMwO+EFbfOLLU6zxH Wh2ifc9ZNoEKe8PPzKABVtNLgbi1wAzHF3BQnG03Rc1uiG1biy+pPbipNxrjp8sqmoEMxd gwJefM7maWuqR/I0uUmaBPLI68dF1LI8+cRinCM9+boaJkx3XAGTePEY3sQ/R5LSK+35fV SPt6NdDSiLJzwuQmkqQbF3EPseJ4ahE9+vBzZcIypw65Qk5UYsUmlsSMzGHvhCUKdiPJaC CvmOOckfiAP+VMjuxkiZse9zGwnbuDioBfYghJXFs7UxJVjcYxuwLRvdygIyBw== ARC-Authentication-Results: i=1; rspamd-786cb55f77-5m7p7; auth=pass smtp.auth=dreamhost smtp.mailfrom=hussein@unixcat.org X-Sender-Id: dreamhost|x-authsender|hussein@unixcat.org X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|hussein@unixcat.org X-MailChannels-Auth-Id: dreamhost X-Name-Turn: 64c75ff54d8ca3c7_1680875508937_1928882780 X-MC-Loop-Signature: 1680875508937:1525149477 X-MC-Ingress-Time: 1680875508936 Received: from pdx1-sub0-mail-a274.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.116.217.200 (trex/6.7.2); Fri, 07 Apr 2023 13:51:48 +0000 Received: from localhost (unknown [175.144.191.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: hussein@unixcat.org) by pdx1-sub0-mail-a274.dreamhost.com (Postfix) with ESMTPSA id 4PtKXz6Tzwz1v; Fri, 7 Apr 2023 06:51:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unixcat.org; s=dreamhost; t=1680875508; bh=TMRN6q7owjGGN5u/NWFzsarFjf8XwvRjrUktuZa8bfo=; h=Date:From:To:Cc:Subject:Content-Type; b=hm4LmFK/aVQPa4qSZHYvIpqeOfJbiPKnB8JqcqfuZJ6YGLvusiong9WbfFZYpQ8Sz z1TBucFTeIto7bAcc2MekOk3AK9TEWtv9y+eQw0SrQgBRg6pI0z2WT0kFlELxPyELU Icwzy1ClVkFG8qTBiJeOfLDNJhxr+tranCGcTgYI= Date: Fri, 7 Apr 2023 21:51:44 +0800 From: Nur Hussein To: Qu Wenruo Cc: clm@fb.com, josef@toxicpanda.com, dsterba@suse.com, linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] btrfs: Avoid potential integer overflow when left-shifting 32-bit int Message-ID: References: <20230406192406.2300379-1-hussein@unixcat.org> <353b44f3-fb95-ac43-53ba-0d3b45fff574@gmx.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <353b44f3-fb95-ac43-53ba-0d3b45fff574@gmx.com> X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 07, 2023 at 08:35:40AM +0800, Qu Wenruo wrote: > > > On 2023/4/7 03:24, Nur Hussein wrote: > > In scrub_stripe(), the 32-bit signed value returned by the > > nr_data_stripes(map) function call should be cast to u64 > > before being shifted left by BTRFS_STRIPE_LEN_SHIFT (16), > > as a cautionary measure to avoid potential overflows. We > > then assign it to a u64 value anyway, so a cast before a > > shift seems prudent. > > I'd say it's a little overkilled. > > For nr_data_stripes(), it's at most hundreds of stripes (which is already > insane). > Even with 16 bits left shift, we need to get 2 ** 16 stripes to overflow > 32bits. Perhaps so, but it was flagged by Coverity, and it's a little safer with the cast, with no cost. It's up to y'all if you want it though. - Nur