Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp1085751rdb; Fri, 1 Dec 2023 06:47:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IFT3XR1AQkBIitdus23mmx+gjqSkIGv2/PBme9McUIc9gGiQDoqyLHY7DsAXo14AWC9rgUI X-Received: by 2002:a05:620a:28d0:b0:774:220c:1547 with SMTP id l16-20020a05620a28d000b00774220c1547mr40490021qkp.34.1701442062436; Fri, 01 Dec 2023 06:47:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701442062; cv=none; d=google.com; s=arc-20160816; b=aVVkXzgcwW8brlid9n2dsbeiEaIgB+2rdMOYDp0xzHgap/DWweM8wIZxjQnofrleeW X1Fhcbt0ivEaB9Z2nfAjV5aNPReJMwqTBeOoEurBtBX3Y3FqadRBXcIAXYSsFrVECc/5 2ESQTbfu5SFFQM3MxcpBG/t865w5DJumfF13QjzxnuyMtob4+2J9Yzk0vINF3oCTZiX8 H+VF7uU7KCtXbFwuOuv4qrRz4s+bcYg2N5deyHV/u60G7p2Kafcg05rbjXNq4Mqp7qEr KTSzAVa/JOr0dtJ7NEkDTmcQ4o8BXc5o3VxIuX8wo4iKmbnCTyzMAy3k80mRuen4qg5F z9/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=kArsuLagsSnYy/Wige3LZnikmXXjnr7ZjdM85XfWUMQ=; fh=ZwvfoSPBKiQZnt/MRD+ONoKw6UXi0J9EHRu+YK36J5o=; b=IwbxTYTChcW7z7/veEyefd8RQUNqIZ+vBrrqnf9+vMXEqtmXmkxDGMEoFq0/VkdP3E qZmmnQt5oKB2wNZaGS+h9lEm/L6pWig3u5KDE1vf9lgUZBN7BTopurkRfcH96LuWadjO NfzjZtdJeb3c4H732aYUmDglNGSFex9jemerT80M78sybMlvresiU+LCLUbf1OiyX3vl 4S6Y/guJOOHa8jofRGWJVFZTZggWio6X+fAJEe0HC8RXtsO2V8I8DVBx0BO4z0O6Z4p7 Vd80YjqLNNLDPcKI18iW+cld7OEvDmeVRiYoyo0E9eV4mzpjagsxD/pMaRxD4F+fXhOd 8hHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mit.edu header.s=outgoing header.b=fOxxb2mK; spf=pass (google.com: domain of linux-ext4+bounces-261-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-ext4+bounces-261-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mit.edu Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id 14-20020a05620a040e00b0076db5f0c25dsi3320693qkp.78.2023.12.01.06.47.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Dec 2023 06:47:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-ext4+bounces-261-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@mit.edu header.s=outgoing header.b=fOxxb2mK; spf=pass (google.com: domain of linux-ext4+bounces-261-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-ext4+bounces-261-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mit.edu Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 196751C20F36 for ; Fri, 1 Dec 2023 14:47:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BEF2A3DB9D; Fri, 1 Dec 2023 14:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mit.edu header.i=@mit.edu header.b="fOxxb2mK" X-Original-To: linux-ext4@vger.kernel.org Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EDD001715 for ; Fri, 1 Dec 2023 06:47:34 -0800 (PST) Received: from cwcc.thunk.org (pool-173-48-111-98.bstnma.fios.verizon.net [173.48.111.98]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 3B1EkvpZ005615 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 1 Dec 2023 09:46:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1701442020; bh=kArsuLagsSnYy/Wige3LZnikmXXjnr7ZjdM85XfWUMQ=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type; b=fOxxb2mKE0KV987CyElNlxzOFvPu7JIxFgB6eAJd2sxQKtC6QZTFGVRHEcC65W/aq 4wURw7svKD0bD3Kq0Y7hDinQBAm2JoCPhlhoD8IplEo1eM1jJuRYdiHjvTY8JYNW9p d7wxBe83et/K1i7I7lovT1D88M/Sdr4KXBx3/QrcsFkmbjXc+4CxOTLrOi3ozfjTpS B6iGc2ha+/NVtlyQxt+6h0oSN2YtdJsV60iqERx56Ygyw8CZ6Jh5JBQoOJ/MMVj06X Qhuarot+BqNf6APmPyMpI1XtEhlIe3f41psUBIqpN4UYN0zvbS3FSLKy4P9BE7prfU IGUWFDtXlgW3w== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 5E5F515C0290; Fri, 1 Dec 2023 09:46:57 -0500 (EST) From: "Theodore Ts'o" To: linux-ext4@vger.kernel.org, Baokun Li Cc: "Theodore Ts'o" , adilger.kernel@dilger.ca, jack@suse.cz, ritesh.list@gmail.com, linux-kernel@vger.kernel.org, djwong@kernel.org, yi.zhang@huawei.com, yangerkun@huawei.com, yukuai3@huawei.com, stable@kernel.org Subject: Re: [PATCH] ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS Date: Fri, 1 Dec 2023 09:46:55 -0500 Message-Id: <170144199127.633830.13561950566118838688.b4-ty@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20231127063313.3734294-1-libaokun1@huawei.com> References: <20231127063313.3734294-1-libaokun1@huawei.com> Precedence: bulk X-Mailing-List: linux-ext4@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Mon, 27 Nov 2023 14:33:13 +0800, Baokun Li wrote: > For files with logical blocks close to EXT_MAX_BLOCKS, the file size > predicted in ext4_mb_normalize_request() may exceed EXT_MAX_BLOCKS. > This can cause some blocks to be preallocated that will not be used. > And after [Fixes], the following issue may be triggered: > > ========================================================= > kernel BUG at fs/ext4/mballoc.c:4653! > Internal error: Oops - BUG: 00000000f2000800 [#1] SMP > CPU: 1 PID: 2357 Comm: xfs_io 6.7.0-rc2-00195-g0f5cc96c367f > Hardware name: linux,dummy-virt (DT) > pc : ext4_mb_use_inode_pa+0x148/0x208 > lr : ext4_mb_use_inode_pa+0x98/0x208 > Call trace: > ext4_mb_use_inode_pa+0x148/0x208 > ext4_mb_new_inode_pa+0x240/0x4a8 > ext4_mb_use_best_found+0x1d4/0x208 > ext4_mb_try_best_found+0xc8/0x110 > ext4_mb_regular_allocator+0x11c/0xf48 > ext4_mb_new_blocks+0x790/0xaa8 > ext4_ext_map_blocks+0x7cc/0xd20 > ext4_map_blocks+0x170/0x600 > ext4_iomap_begin+0x1c0/0x348 > ========================================================= > > [...] Applied, thanks! [1/1] ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS commit: 2dcf5fde6dffb312a4bfb8ef940cea2d1f402e32 Best regards, -- Theodore Ts'o