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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D83ACC3600C for ; Tue, 8 Apr 2025 06:03:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 212166B0007; Tue, 8 Apr 2025 02:03:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C28A6B002A; Tue, 8 Apr 2025 02:03:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B1E26B002B; Tue, 8 Apr 2025 02:03:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E24F56B0007 for ; Tue, 8 Apr 2025 02:03:48 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4AB26AB431 for ; Tue, 8 Apr 2025 06:03:50 +0000 (UTC) X-FDA: 83309835420.18.7391DAF Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf19.hostedemail.com (Postfix) with ESMTP id A5DAB1A0004 for ; Tue, 8 Apr 2025 06:03:48 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=tTJRJEkn; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of djwong@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=djwong@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744092228; a=rsa-sha256; cv=none; b=XQAp9MFC3XY7+n/6oftTbIQHA+xs5FqiNmuqQT+8WqtQGwEfuM0UeFPfgYSoJ8UCs16CAD 0ItHfua/jb8TGyHiRrUNnI7roo35yc+A+hvx0OCT7KJeGbEh7gyPXP0WaANr9QjpgjU1oI mhYiuO0079DDo71iIOd5O/A3V5Q15AM= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=tTJRJEkn; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of djwong@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=djwong@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744092228; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=lGUWAcTIKMTbConRfmDnpGGnXY1poRIp7x2J3LxQRuo=; b=ztAIHGRJjPi9sUJ4nZGfrL7SBPsLYmf7bvnoCEqe7Uho9VJp+qipo+FY3FW9RhaJKJHf56 XvsrAd0MAYxhVt3846RSoo/T8hqCIjDZQNQik200P3Uu/kMpQ2a62vK9/tNdwIJ0ItEZ1D 3o/WtQtrQoKydfj/VCIwi/D9Wdt+duw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 1311E60007; Tue, 8 Apr 2025 06:03:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50723C4CEE5; Tue, 8 Apr 2025 06:03:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744092227; bh=PRsC9BVHJpPW8Yut6gf9c5kL/QS75r5YGJzYfItmNnE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tTJRJEkn9t4MF/tXpivi3yh/BLPHd01VhU+C6gWtrHAACa+fZ+Kp6Llm5YlVDvii8 xYvV8obCRnyCSuMxDPLtyptM1ML/BRUjxoHTCWiooaCuypVG+S/KK6kWjJiFfjdAOe dB26geYEPkX4qHyOTFCg0ymMePl065xOxSZpSJPyoxOqEUCZKQ4jZivfpf27oiLrKv x8f9Hd5Uz90GRqk05g5fAxsUp4ZeRxNBpGli4sAL5eMkOMnjOklEnpVvcTH0/NcLLd 3flph1KCcAUPIK5gDPmFapdHfKuE3xAFPIPfzsQa481jzWiV3u3Gdcl67SFw4VDP42 VUEsMdLztVqFg== Date: Mon, 7 Apr 2025 23:03:46 -0700 From: "Darrick J. Wong" To: Christoph Hellwig Cc: Carlos Maiolino , xfs , willy@infradead.org, linux-mm@kvack.org Subject: Re: [PATCH] xfs: compute buffer address correctly in xmbuf_map_backing_mem Message-ID: <20250408060346.GG6307@frogsfrogsfrogs> References: <20250408003030.GD6283@frogsfrogsfrogs> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: A5DAB1A0004 X-Stat-Signature: fqoy3g8zhb6zdehyx6x6yq7kzbxyy1xa X-HE-Tag: 1744092228-201073 X-HE-Meta: U2FsdGVkX1/52pTqnW9uSoh1kPDhelGPxdT3EwZ4i1YQw3qkUWw+kWCO8MUMb/FyoXSWmUo8aBoYMZ+NjcImHd/XhtF7+00JCwqEgSwVAnbqu03lyXMw71MvH/yy5T0Tar14E6c66u7RGNZWCDWqYJhcTofkwpj9YY61+iKdreLDZmsl5sZfRqdqqtdWHmnDQtGYuInNAGV0eNE9+Z6Kx37liszaUkaNpET3Z8P6DKWa3Bh4qKFs13aLkV7qzAAKYPDG0kmhC/Sg4/i/mUt72PavAQKMYK85mLmmHQddQJyTXFqliOuMTGoGlqcI/frzr6LUgFLkuNN3ZNHRMvimadWNGtw0WbF8fvM0RnByb3Qj0+Ez5+KbsF1l1+XW544z1XMNOMrNFGaLaVY5LCqoiqP1TTkLHd1yJawQTFH1hbs081xezqmQPXwddMyBu/pCXDvB03EqE12riPZhk5G6XRSkgo8HNxKWBANPUR88pBo27qhmumLEZkIY0iP2dr6eWDb/pDEiQn1cksSDyK7yuHz/fogwjwdErIasxx5nPvYOVykJJwy4vNiBXvR594qxidhgcSCMuc3BbfpuDTygM6NMkdwzySGv+Z/Q4p8JwdhaZ8htU8xmLpJvDMDyCsy5lT7+c9i/TUI29TiyeFvIvH2aJRIT2XcxbXvMdqi7XDBSqTBY/50g40ptbxmExhVrSysVe7VNuFCzLPY9sRc0RSrVpoI1GqOUOjLR9BrynJiygLM01ieDqp5a+LAxHOOrUTGDh6IzMQejFprXH4NztpTEcYqXR/qN1/z78vflvUgZHSRj1Hnj4GIPSJaZla9XQhNt8d7Qoy+FsB59T25I3AJ3aEG5LaLPPhD6/I+Xamsi/h9eZVQE6ibBg06bWdpHpLP8QULNytZmVDFD6MBFKelPWol+BKF+pLjAcqRZCDNWkn304BD7r5x8nH753n5TBpsehE4um2vhsWf4DbX KlmcD87X E3v62KGGBJys7i//fgOG32/xjcUfUxYLkTsfnMG57f8RfsgYcrkOXWztVoHLhfjBoPnvYA/JAqOLSxYf5D4iZgncV3FxcDwX0MDtBGWbSWWaeAnOJmxeUd1jn0aXRJ75RDHRNYIQzTslb66eR8WExVEG/JOFLcfERv6oawSFqVA5SFVYJDd6aSfw4Mr8hj3WC+o9Q/yDUOqeYjfxY/J4Rl/TM3sH0plhuJWus8IC87UsQYOmvqwRdI+w374LhBdq+O+AFTVQY8D33YhzIjBUYhDukfdpjK5XQlC18RDHueo3WFSu/POKoKgX2rIurA7Ytialq X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Apr 07, 2025 at 10:11:08PM -0700, Christoph Hellwig wrote: > On Mon, Apr 07, 2025 at 05:30:30PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong > > > > Prior to commit e614a00117bc2d, xmbuf_map_backing_mem relied on > > folio_file_page to return the base page for the xmbuf's loff_t in the > > xfile, and set b_addr to the page_address of that base page. > > > > Now that folio_file_page has been removed from xmbuf_map_backing_mem, we > > always set b_addr to the folio_address of the folio. This is correct > > for the situation where the folio size matches the buffer size, but it's > > totally wrong if tmpfs uses large folios. We need to use > > offset_in_folio here. > > > > Found via xfs/801, which demonstrated evidence of corruption of an > > in-memory rmap btree block right after initializing an adjacent block. > > Hmm, I thought we'd never get large folios for our non-standard tmpfs > use. I guess I was wrong on that.. Yeah, you can force THPs for tmpfs. I don't know why you would, the memory usage is gawful on most files that end up in there. > The fix looks good: > > Reviewed-by: Christoph Hellwig > > But a little note below: > > > + bp->b_addr = folio_address(folio) + offset_in_folio(folio, pos); > > Given that this is or at least will become a common pattern, do we > want a mm layer helper for it? Yeah, we should; this is the third one in XFS. What to name it, though? void *folio_addr(const struct folio *folio, loff_t pos) ? I'm surprised there wasn't an equivalent for struct page. --D