From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF60B1C860A; Wed, 4 Feb 2026 02:04:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.92.39.34 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770170682; cv=none; b=euAwucCz3vZR/qextix0BJq1kN508zGnkIqbmODCKZfKTgl1CER99HsDyhox61Y+yothUU9KJwNmumG9NNiMn3mrtlIhg1QfOIVuBb1+DMY/+meaq3Kay++U1GUAnLM2mpKdrezlH8oyM3phWqfYRrnKCxBVF18OUytPOiUC/fw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770170682; c=relaxed/simple; bh=XY9cc/cOTWwR0ib1CbJ9KA/iVeU+PThpH9/G+HUfZL4=; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID: MIME-Version:Content-Type; b=Xla52aJfjWlqgbPTr6eH/fF8lzUzBcT985QOoFLwWRQGBpIBB0UqyQKIPvKV0KXiLx78uRFx9WDHNlnoxFercjFs8BiXiVH5RqqvH/Q1EU1C7vgo93qHPIzK/JoXUZRODRKkVXu4jAEmOfHEylaJbYczBjEOKEuketcer0hGVbw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=trustnetic.com; spf=pass smtp.mailfrom=trustnetic.com; arc=none smtp.client-ip=54.92.39.34 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=trustnetic.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=trustnetic.com X-QQ-mid:Yeas3t1770170615t766t05890 Received: from 3DB253DBDE8942B29385B9DFB0B7E889 (jiawenwu@trustnetic.com [36.20.47.234]) X-QQ-SSF:0000000000000000000000000000000 From: =?utf-8?b?Smlhd2VuIFd1?= X-BIZMAIL-ID: 17962103746675529112 To: "'Bjorn Helgaas'" Cc: "'Rafael J. Wysocki'" , "'Tony Luck'" , "'Borislav Petkov'" , "'Hanjun Guo'" , "'Mauro Carvalho Chehab'" , "'Shuai Xue'" , "'Len Brown'" , "'Shiju Jose'" , "'Bjorn Helgaas'" , , References: <23A877C77DF26B7C+20260203021233.8178-1-jiawenwu@trustnetic.com> <20260203225509.GA195397@bhelgaas> In-Reply-To: <20260203225509.GA195397@bhelgaas> Subject: RE: [PATCH] ACPI: APEI: Avoid NULL pointer dereference in ghes_estatus_pool_region_free Date: Wed, 4 Feb 2026 10:03:34 +0800 Message-ID: <06ed01dc957a$7823c0b0$686b4210$@trustnetic.com> Precedence: bulk X-Mailing-List: linux-acpi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 16.0 Content-Language: zh-cn Thread-Index: AQKfcgIpykHaIb3qnAJzzZnnq5yTUbPsDkJA X-QQ-SENDSIZE: 520 Feedback-ID: Yeas:trustnetic.com:qybglogicsvrgz:qybglogicsvrgz6b-0 X-QQ-XMAILINFO: OSV8m3GRFcPJHurJsLpRnhLxodfwP70Szngrm+V4Sf99uD1Z3NL3tf72 GQ3+vc+hTDFg1EslvnlGeC1cQ8i/KsaV/GUqDYIj3EuNfLXivXcsCIru/DC6iY0k9N3TZmY 9joDLL04PNguZq5BBLYcvLdSFR6J1kjXKN0W4jVqct4wRqnX6VLirMHlb8NAf9d7uOw0P+N Xn31i8b0YNx0aTO5bge4xaoS5wctz75faxJIgRSvQ52liBZFrKHIVQZaAxcPEnSGwGeVXti hyT1r97gfYbhTiriuAB4Ado9aWJI77vyaHK84esdJl9irefdyKHOSgE39s3TgPz6VKlQLEH ue8s9ckD5xIm54n1N5By1ThJtsk72FyeD96GbxuGqIhuSLZgCMUhbHJpGsJcSvaZFTC2rG2 8mo7gnbgcXKBtB5L04sAfC5sFtdqxMyEccwuCmhFN1oE6CxIAjZDN1ZuARNEXwWLLBcb+4p IOew5UcptUyqRpwFiB2IuOhlchAHSN1f5ExhSaBO/xDrrX6OzZeWAgKjm6UN6lz2YXdzpFV tP2LrL+tzCCubJiqrAdoGhuA1HKMLdxcUVfWZujDfTBgvYJExzVji7N5yFh3L1Yaxk1gUyZ 8VS9HS5QJnLJHOXIdVgosUe2HzycwxJNAjWmB+0gO9vUokJjLxxLcgIrVydZgFT/E8m5Y6M FoBQZKHMYpgnGdgykbotvUkTUexDL13PuipZdZJaa1elunGU64kuOaogthEdawpvQSPGN8E BA2LGmKW2o1dv76cAHG7/lgyd8yqc7iAvB6iofu1kgkEhVp1/mXNM/MowhaMUU1SrSUgfzU 3brPQOBnr2D+dqPxoEMWzydpHwjr4yOX25DW8OXHQ1SUKyyd4+/KA/HHngv7x1vwrmJ+EEV ECONPs5em+tO9oACjNJY7ZHTIcs7edw9ywE3ASjhKPAd5Q/Z7r4KyK6pNXqleHamQ0csm8m r398Y7vgbEMxvWtXyPg23CXx42xgz4Ye+8yrM7Uyp6jJlEviBysOd4CxW8GmTRJHAcp4HvU b6fjdVGZs8TwWk04A70JGD46dOmHOpXPspkzbpZA== X-QQ-XMRINFO: MPJ6Tf5t3I/ylTmHUqvI8+Wpn+Gzalws3A== X-QQ-RECHKSPAM: 0 On Wed, Feb 4, 2026 6:55 AM, Bjorn Helgaas wrote: > On Tue, Feb 03, 2026 at 10:12:32AM +0800, Jiawen Wu wrote: > > The function ghes_estatus_pool_region_free() is exported and be called > > by the PCIe AER recovery path, which unconditionally invokes it to free > > aer_capability_regs memory. > > > > Although current AER usage assumes memory comes from the GHES pool, > > robustness requires guarding against pool unavailability. Add a NULL check > > before calling gen_pool_free() to prevent crashes when the pool is not > > initialized. This also makes the API safer for potential future use by > > non-GHES callers. > > I'm not sure what you mean by "pool unavailability." I think getting > here with ghes_estatus_pool==NULL means we have a logic error > somewhere, and I don't think we should silently hide that error. > > I'm generally in favor of *not* checking so we find out if the caller > forgot to keep track of the pointer correctly. "pool unavailability" means that when I attempt to call aer_recover_queue() in a ethernet driver, which does not create ghes_estatus_pool, it leads to a NULL pointer dereference.