From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2B6A3FB07B for ; Mon, 2 Mar 2026 14:10:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772460613; cv=none; b=nGs/epxflyvUGCQ9E8TzvqE1dw5R7cwllvs/kERqbB9kqL8PZYuKKCKXUJHsQnXmTTx7f+sN9PHK3GtfRXBIfaIqcZhrrWAm9gPZsAIMoHcgUmk1IYD4bK7bq6sNp/4+WdrQI1EpSE5FHRWZVCBPr7VI9FlA5WYzFt3EZRh5ySg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772460613; c=relaxed/simple; bh=qyZTSf5Si3NqMjr5V8jrFs3PXm4h5IveD0OTiI10Xwc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SoTThp/8+THghZMVmiGKQH9WKWyfQzjSc8/e6CHmcn1ArcUDcfXQAesF61U91+cWO1Zc7saeLN81Mqyd3terDJX8XTE6mADkQxkt9n1UcOnJLVaDESAkS6HYsnoQv9ttdBTfnhT7qeXKAnjmY9IUsbFPtN54lx6RyX0sPVobOp4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jGyoAzwf; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jGyoAzwf" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2ae45a4cc54so9595555ad.0 for ; Mon, 02 Mar 2026 06:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772460610; x=1773065410; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EZR4SU7BAv0LyCxj4xdBAOVWg9UwODZh/qWxLhm3ig0=; b=jGyoAzwfup0t0eREeWQ/2p1nDGjbRtGtbPuRSTB35zKbhkpE57V1w6KVAxvNr4yU4t BK9QaeE/PEMVZ74dhfNKfYOyii7OTvE9AYHA4hekq7XLAYupMt4FoxWfvzTMeOwKvrn0 x/MPHsI1Lim4ordxZoLUdWqjbmwCchsv0/vuYRYifWtndzSHFIzzipEQttr9CDQGkJyj HoRWMn6RSzGG6DTcYyCW5reVev0ar/cq6EE+h6qdXYT104zNc2+QCTZahudS8yXFiMae R0F/dkVOItml48B3WjGriF1nPkoUmb5C33u538puO2iHIi4S9SYb+uPiVddRholt7wMa fDbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772460610; x=1773065410; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=EZR4SU7BAv0LyCxj4xdBAOVWg9UwODZh/qWxLhm3ig0=; b=AE4QZOuYTdS8ATsYr5gB1G2vmNyyecvKcaDiM1jRCm/BLfFaE2X7xaMXURlZEIinUV 0E1sb6hOREhz4btD9sOxltJ3VBGDJcy5I4naP1QIyKgx2Gjem4Q57toja5vcmGRyqz9w zcG651rxGpPZkq4eRLWeCO6B0Y0Sq5czuayK+QsZgrMJJU2ApsHJQ2nF8za/TptrIE9Q SXocQ5mCW1Jvv8sIeYU6jC9hYxl9tEym7qQINkaGj/Reqt3Mwoq92GqB456aic6j0xMT KXhLaYbfWjPvrXc/uRqDpsGXtqk5kFigIlJv30TgqI8Isq/kBp0kEeXbVWYsZb4nILDL RrUA== X-Forwarded-Encrypted: i=1; AJvYcCUZj2HaJFIucezLaPOQvX+DVi6giAPm+cKQwnTI2S3kJEMhfRBgMT4aD5qM4Yb55dQeB+VprkdHYSFBK0k=@vger.kernel.org X-Gm-Message-State: AOJu0YyOGQbShZT5YnROJynoEuNSziYWyk4mmMDzFNA0fkZMqfnXc8+z ks2hdt5WidbPhhrLpgJzRon1ZWzlgnptrf2c54bXpCPq+0UZqisw9SVI X-Gm-Gg: ATEYQzz/reOzAZkRsLV0t5xXJRQpe8BGMx3kTYkdleEq50y+ODU5CBqzSUg/p+thUTF /c5tLqgvOLUySWtY2Z9B7HGDmou9ybn8V8Buru/MFEMhlVZ8FW9oG9jqqOQJT6VBaStZl45B3ao GiLRSz0lphW7Czwy0VR4/9m1atTR7xVtV5/5k3NvskRhWa5FuMDsWu6pA0MELrg2GuqqGoeZzb9 aYxV8TENoMTrg6T+Jef5yZSVgE/UXHSJYU04AFRnbD07IBdWj4CchXtz2R/wgLHoJ3HPI78/pwt k0N+nA1CtpJ/Sv4CQnlLVEUwia8XobM5PGqe493DLMTomz2S7DuYIFLrtyIszO7Mz1JOMlrrNtd WObQjiWC8Cy4kv5S1GQbKw0xUBplF1BUiWi3eu9a5D1N9MpRsivBK5SAwZvcT0bN3Mo1ZeOO0wW Ovfum1LKrq+6piD5n1WuDx8sUd/8kKECY0TQ== X-Received: by 2002:a17:902:dacc:b0:2ae:50ec:fa27 with SMTP id d9443c01a7336-2ae50ed022fmr30688775ad.45.1772460609891; Mon, 02 Mar 2026 06:10:09 -0800 (PST) Received: from yangwen.localdomain ([121.225.53.117]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae5043971esm31045165ad.3.2026.03.02.06.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 06:10:09 -0800 (PST) From: Yang Wen To: linkinjeon@kernel.org Cc: anmuxixixi@gmail.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, sj1557.seo@samsung.com, yuezhang.mo@sony.com Subject: Re: [PATCH] exfat: initialize caching fields during inode allocation Date: Mon, 2 Mar 2026 22:10:05 +0800 Message-ID: <20260302141005.107-1-anmuxixixi@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit On Mon, 2 Mar 2026 18:58:41 Namjae Jeon wrote: > >diff --git a/fs/exfat/super.c b/fs/exfat/super.c > >index 83396fd265cd..0c4a22b8d5fa 100644 > >--- a/fs/exfat/super.c > >+++ b/fs/exfat/super.c > >@@ -195,6 +195,10 @@ static struct inode *exfat_alloc_inode(struct super_block *sb) > > if (!ei) > > return NULL; > > > >+ spin_lock_init(&ei->cache_lru_lock); > >+ ei->nr_caches = 0; > >+ ei->cache_valid_id = EXFAT_CACHE_VALID + 1; > >+ INIT_LIST_HEAD(&ei->cache_lru); > These fields are already initialized in exfat_inode_init_once(). > Please check exfat_inode_init_once(). > Thanks. Thanks for your replay. While it's true that exfat_inode_init_once() initializes these fields, that constructor is only invoked when the slab object is first created. In the case of inode reuse (when an object is freed to the slab cache and subsequently re-allocated), the fields inherit stale values from the previous user of that memory block. If an eviction occurs before these fields are re-initialized by the new owner, __exfat_cache_inval_inode() sees a non-empty list due to stale pointers, leading to a NULL pointer dereference. We have recently observed kernel panics on mobile devices, which were traced back to a NULL pointer dereference in list_del_init() within __exfat_cache_inval_inode(). Thanks.