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 A3628C2BD09 for ; Mon, 15 Jul 2024 03:27:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0B6D36B0085; Sun, 14 Jul 2024 23:27:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0671B6B0088; Sun, 14 Jul 2024 23:27:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E70BF6B0089; Sun, 14 Jul 2024 23:27:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C84A76B0085 for ; Sun, 14 Jul 2024 23:27:28 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 7088B40D33 for ; Mon, 15 Jul 2024 03:27:28 +0000 (UTC) X-FDA: 82340551776.01.BD1F72D Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by imf16.hostedemail.com (Postfix) with ESMTP id 44EE7180006 for ; Mon, 15 Jul 2024 03:27:25 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=YDeCKlu5; spf=pass (imf16.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721014027; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZP/axc+gBCFSqEVCsib8cdZ4Xn37cX6cQ0DdIkRzRuM=; b=MHFlEeLy23yge7qIUSshjCu67wGNhfTEnwJZOavo6WiKX02gem8njf7bREH8AnSbumGj3M dPM8M9kVoER5Z41LGpXfb7932hruDgZPMobBrXi8xWCrHkUonac/WuhSTQL8btb/quGwD0 E7T4qqQmUqNSdhLOoUXSu6R5IlzCD8Y= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=YDeCKlu5; spf=pass (imf16.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721014027; a=rsa-sha256; cv=none; b=I8f/RQHkxpwa6LI+6E33/8kzaxvhQV/7idogFUhvwnUZEYLuf+yxWsvkGAgEC8j2MT4NQg UdG9zS4fNPWEOP93i7yBIgjQC//HZpHZdj0bZWeQkW8Zj2UOnovNKe1HiVORYYZRupGXxF hq0eGVGiDfqiV0gs2mEuWx1I/fvTzFw= Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-2ca0db5caf6so682089a91.1 for ; Sun, 14 Jul 2024 20:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1721014044; x=1721618844; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ZP/axc+gBCFSqEVCsib8cdZ4Xn37cX6cQ0DdIkRzRuM=; b=YDeCKlu5sedpiF3SAFeGMUQTRUyfueUrVFQmiAOOm9QXupQ6AfEuEKsptrhhGD5V+/ MmfCT+T3rIZvXNsL0hVDH7hscVZSVbCXeypwyyb6OtURU899ZIekfzp7UCc94YUV2Ev5 UPC4M/OACvgkbDiKvilzfgoGRKici81XF4XZXK2OxSN9LalV66Vw0OuFV15Fdqi4AztR hkOxEuAFsAmpPLVtJQllmrMohpELGRCE1tjXO76p233F2jqY0dY3CxHcWNAj3svStkxN UC0k9gum8IrW3bgzJbEvh2ZDNFVTivhevPmiJToIItvVDXUgbY9bn46yrLhWuUycaqHu 164w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721014044; x=1721618844; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZP/axc+gBCFSqEVCsib8cdZ4Xn37cX6cQ0DdIkRzRuM=; b=DK9htaqoJwoxZedlWl9+4WZcLS02hN+0k+vBrHfXCot26PvJqafu9w7O1QaUMfHIp3 xWeVV/CnYdYE2kzW0/LGH8aiR42mvzOTcaXlD3cKLpdnxDMOi1IrTNLnjFBXZMoYELxz Damnd1frdH0LfpldV3ExkRe41rR11OKpVr1N0zQxOxONpCWG3DcHdva4KJh0Xj2tYJJ7 VQGWOTApRliKhGRMllw7QEdtLTxCb2RPTijWg2dkXAXCMmaEXldaw33mHNNHc75g8W2q BO/dmkYEgHL+pd4hQRCNAejecVSKVaO2lR1q05VnBu32GxO149Wb+iXhH1bvZxRdpiU1 WVPw== X-Forwarded-Encrypted: i=1; AJvYcCUWoHAa401jLedXgBI0u/kpr34P0AItOQIgoqeepEzCU/A/fOZRiE3UNOjB4uQQBEV9XyTsFqbKNP7OaBidEMzNDLk= X-Gm-Message-State: AOJu0YwaQLIyiRiqk5DzxzBfPuRLaRUyws1PlcP+Y9VvcCwBRims2+HE rEoK3BSVMffE17no4cmm3Ba524FxApgpDzpKFaj2Xte83DfZcXoK1unfAmpMOeo= X-Google-Smtp-Source: AGHT+IHFC6k/lZB2NdoWGIoPN1nFUAspo0bJ/5A0BSU0BuzDtgM1Xc32+JlB6/n2JV/nWLjTwVvuDQ== X-Received: by 2002:a17:902:e546:b0:1fa:ab4a:fb02 with SMTP id d9443c01a7336-1fbdc389e10mr111885745ad.0.1721014043669; Sun, 14 Jul 2024 20:27:23 -0700 (PDT) Received: from [10.255.168.175] ([139.177.225.248]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fc0bb9a364sm30970505ad.64.2024.07.14.20.27.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Jul 2024 20:27:23 -0700 (PDT) Message-ID: <56a81429-4e1e-46f9-8844-acb1afd66952@bytedance.com> Date: Mon, 15 Jul 2024 11:27:18 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm: list_lru: Fix NULL pointer dereference in list_lru_add() Content-Language: en-US To: Kent Overstreet Cc: Youling Tang , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Youling Tang References: <20240712032554.444823-1-youling.tang@linux.dev> From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 44EE7180006 X-Stat-Signature: n8upf1ectrwwo69d9wjkzorofywt9coh X-HE-Tag: 1721014045-26300 X-HE-Meta: U2FsdGVkX18aly+4bW/lIQmJwiQevfAbU5MPp3Zdb/H/XgEMfFLBX6XD5yLlt6GA0bzeq+9Zjs8WXsG+vFc/aREVW7qYM8O+2NjVRokzCHJ4MItzydZor9vvDaZWtxQcevqy+8ShvLSTHKSNPIrkyphTEj7TMUekTS7CnJ4H84z4nLp32i7ZigCzTeBvgrpzC7+YfDoJrS5dwA4t0gP0E3rrdSzdN/vour+fhVcRSbDQs6zPhoGt2Qn/CiEsIYDb+ALtcOKvn6SEDZ2ak6lkMHlBc4+mJUryu3ReGJ8Xl2xWQgRDjglCNRYL6kAfHAfS57x5UphPALwQ0UJWPdNP1XWeTDqQipx0bHUDnag0nIjs5wR0AnIJLr5mBZ12byVE5vjvAM3nR2Lj7DZ9sQ1nBX6+vvq+a06S8pR0tYC593dnVtJb5nCSmELxXoVuL+6jybo/e2QYpInBbNfn1okUHabQ183kXYt/FQHNaOa0pvXy9Uur+jB6gEazvjG3X4SVDZIWmB6s3BHszPkrj9Vxklme+nMdvTXCfJktkR0kqkjPBZnVdaAoOMoPKiQYlIimF1uFneXfoeTG08WfHw7cVw2X+ihLvdvaaTYXEeqOkIB8flgRsj8/ESbNf9lLkqCV6YTg53QBGZv+JTM36pGjiBEcrxQvL4uMyh2yGdoi0PMTPR5VX9CI9CVcOm1D/bUb4wK7vXhi3cxedoywA1bxZR6uAT4HHOs1Mw3NukfTs1AosC7MKeDmiG9XVlb6uPBif8j8YLDcC07eCPQ0uSFX9XsDJUUf76QbJW6fzn9dqe8pWq9Uj7jU0/6Q6mcK2NmjMC+/SCRhqe4vPqAUby34Ifl35q5C/HZApYny6XFcOF5kMa7woM01h3qPcc0N6mjIabJPJeDrVxOHT88Vais2tE8ArGcDGPSbbVyHUubViwNl+JtFK0ehBWKeHdCTolPVky4jUHMtxFeYd90bRyx tFYIZbPU 2Yadl0OTyCe/miABiJVYwSOsTsJsiFMsjSA2fP+5fMi23AreJREk5Dgq/eDg6NpLVWBbArPsk2Bh/Yi5n2y1wwHcggTG9sInC/CnIgbH+lg0MglNhQaZ195Kcqxx3QcoJzGJUQUARm44zUzExax3LRNgJUxz2vTGhYw+jETa85tmYcdIQmCJ4cpvca5qHf3iqgAKExI/BmIZNqlxZ9lzeon7OZB8MS3J7XM0bOEWBnO3Skmp46EP0nWSq3z389eGYCWj+HcfGud/SySiKa0FO0bFLjH55Tgim6kXAq6hz76rSVAuLyn4MROFpMJSWaA0V9ouzfzZX1ca5jHrOJsKlbCOy0bKbMkhmpTAQEQamclDeyUDbtX9xDeb+CIm/Wt/bWfpYDW53TOQWEkE7lKVemrakDbtQCKe49eIsaAttUlW6vCTlhJCjmnfGeiRHDyZCsHZc X-Bogosity: Ham, tests=bogofilter, spamicity=0.000025, 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 2024/7/12 12:07, Kent Overstreet wrote: > On Fri, Jul 12, 2024 at 11:25:54AM GMT, Youling Tang wrote: >> From: Youling Tang >> >> Note that list_lru_from_memcg_idx() may return NULL, so it is necessary >> to error handle the return value to avoid triggering NULL pointer >> dereference BUG. >> >> The issue was triggered for discussion [1], >> Link [1]: https://lore.kernel.org/linux-bcachefs/84de6cb1-57bd-42f7-8029-4203820ef0b4@linux.dev/T/#m901bb26cdb1d9d4bacebf0d034f0a5a712cc93a6 > > I see no explanation for why this is the correct fix, and I doubt it is. > What's the real reason for the NULL lru_list_one, and why doesn't this > come up on other filesystems? Agree, IIRC, the list_lru_one will be pre-allocated in the allocation path of inode/dentry etc.