From: Mario Limonciello <superm1@kernel.org>
To: Yazen Ghannam <yazen.ghannam@amd.com>,
Jason Andryuk <jason.andryuk@amd.com>
Cc: Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@kernel.org>,
x86@kernel.org, linux-kernel@vger.kernel.org,
Penny Zheng <penny.zheng@amd.com>,
stable@vger.kernel.org
Subject: Re: [PATCH 1/2] x86/amd_node: Remove smn_exclusive
Date: Tue, 11 Aug 2026 09:19:05 -0500 [thread overview]
Message-ID: <2022e782-099f-4b93-9968-30931a46101d@kernel.org> (raw)
In-Reply-To: <20260810140747.GB57095@yaz-khff2.amd.com>
On 8/10/26 09:07, Yazen Ghannam wrote:
> On Thu, Aug 06, 2026 at 12:01:56PM -0400, Jason Andryuk wrote:
>> amd_smn_read/write() are exported functions around __amd_smn_rw(), so
>> they are always available even if amd_smn_init() fails. smn_exclusive
>> would prevent access __amd_smn_rw(), but it is placed too late. If
>> amd_smn_init() failed, amd_roots is NULL and __amd_smn_rw() will fault
>> over it. Replace smn_exclusive with directly checking amd_roots to
>> avoid the NULL pointer dereference.
>>
>> Fixes: 77466b798d59 ("x86/amd_node: Remove dependency on AMD_NB")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> Fixes is the introduction of amd_roots
>> ---
>> arch/x86/kernel/amd_node.c | 9 +++------
>> 1 file changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/x86/kernel/amd_node.c b/arch/x86/kernel/amd_node.c
>> index 0be01725a2a4..ea553267e5fa 100644
>> --- a/arch/x86/kernel/amd_node.c
>> +++ b/arch/x86/kernel/amd_node.c
>> @@ -38,7 +38,6 @@ static struct pci_dev **amd_roots;
>>
>> /* Protect the PCI config register pairs used for SMN. */
>> static DEFINE_MUTEX(smn_mutex);
>> -static bool smn_exclusive;
>>
>> #define SMN_INDEX_OFFSET 0x60
>> #define SMN_DATA_OFFSET 0x64
>> @@ -91,11 +90,11 @@ static int __amd_smn_rw(u8 i_off, u8 d_off, u16 node, u32 address, u32 *value, b
>> if (node >= amd_num_nodes())
>> return err;
>>
>> - root = amd_roots[node];
>> - if (!root)
>> + if (!amd_roots)
>> return err;
>>
>> - if (!smn_exclusive)
>> + root = amd_roots[node];
>> + if (!root)
>> return err;
>>
>> guard(mutex)(&smn_mutex);
>> @@ -308,8 +307,6 @@ static int __init amd_smn_init(void)
>> debugfs_create_file("value", 0600, debugfs_dir, NULL, &smn_value_fops);
>> }
>>
>> - smn_exclusive = true;
>> -
>> return 0;
>> }
>>
>
> 'smn_exclusive' wasn't originally intended to be used for bounds
> checking the array. But the original use is no longer needed, so it can
> be removed.
>
> Reviewed-by: Yazen Ghannam <yazen.ghannam@amd.com>
>
> Thanks,
> Yazen
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
next prev parent reply other threads:[~2026-08-11 14:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-06 16:01 [PATCH 0/2] x86/amd_node: Fixes for virtualized systems Jason Andryuk
2026-08-06 16:01 ` [PATCH 1/2] x86/amd_node: Remove smn_exclusive Jason Andryuk
2026-08-10 14:07 ` Yazen Ghannam
2026-08-11 14:19 ` Mario Limonciello [this message]
2026-08-12 19:28 ` Borislav Petkov
2026-08-13 13:40 ` Jason Andryuk
2026-08-13 23:58 ` Borislav Petkov
2026-08-14 13:37 ` Jason Andryuk
2026-08-14 18:18 ` Borislav Petkov
2026-08-06 16:01 ` [PATCH 2/2] x86/amd_node: Avoid divide by zero on virtualized systems Jason Andryuk
2026-08-10 14:47 ` Yazen Ghannam
2026-08-10 20:16 ` Jason Andryuk
2026-08-11 8:21 ` David Laight
2026-08-11 21:23 ` Jason Andryuk
2026-08-12 7:11 ` David Laight
2026-08-12 19:31 ` Borislav Petkov
2026-08-13 15:56 ` Yazen Ghannam
2026-08-13 17:23 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2022e782-099f-4b93-9968-30931a46101d@kernel.org \
--to=superm1@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jason.andryuk@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=penny.zheng@amd.com \
--cc=stable@vger.kernel.org \
--cc=tglx@kernel.org \
--cc=x86@kernel.org \
--cc=yazen.ghannam@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.