[PATCH v3 0/8] Enhance AMD SMN Error Checking

From: Yazen Ghannam
Date: Thu May 23 2024 - 14:27:32 EST


Hi all,

This set implements more robust error checking for AMD System Management
Network (SMN) accesses.

Patches 1-3:
- Pre-patches in AMD64 EDAC and K10Temp modules.
- Required in order to avoid build warnings with the
introduction of the __must_check attribute in patch 4.

Patch 4:
- Introduces __must_check attribute for SMN access functions.
- Handles "PCI Error Response" behavior for SMN reads.

Patches 5-6:
- Optional cleanup patches in k10temp.
- Not required for the SMN access issue, but I thought they may
be good to do.

Patches 7-8:
- Minor changes in k10temp.
- Fix W=2 warnings found during build testing.

Also, please note that this set was prepared with b4:
https://b4.docs.kernel.org/en/latest/contributor/overview.html

Apologies if I mishandled anything. This is a new workflow for me. :)

Thanks,
Yazen

Changes in v3:
- Added tags from Guenter and Mario.
- Removed unused variable in patch 2.
- Added patches 7 and 8 to fix extra warnings in k10temp.
- Link to v2: https://lore.kernel.org/r/20230615160328.419610-1-yazen.ghannam@xxxxxxx

Changes in v2:
- Address return code comments from Guenter.
- Link to v1: https://lore.kernel.org/r/20230516202430.4157216-1-yazen.ghannam@xxxxxxx

To: Guenter Roeck <linux@xxxxxxxxxxxx>
To: x86@xxxxxxxxxx
To: Yazen Ghannam <yazen.ghannam@xxxxxxx>
Cc: Mario Limonciello <mario.limonciello@xxxxxxx>
Cc: linux-edac@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-hwmon@xxxxxxxxxxxxxxx

Yazen Ghannam (8):
EDAC/amd64: Remove unused register accesses
EDAC/amd64: Check return value of amd_smn_read()
hwmon: (k10temp) Check return value of amd_smn_read()
x86/amd_nb: Enhance SMN access error checking
hwmon: (k10temp) Define helper function to read CCD temp
hwmon: (k10temp) Reduce k10temp_get_ccd_support() parameters
hwmon: (k10temp) Remove unused HAVE_TDIE() macro
hwmon: (k10temp) Rename _data variable

arch/x86/include/asm/amd_nb.h | 4 +--
arch/x86/kernel/amd_nb.c | 46 +++++++++++++++++++++++++----
drivers/edac/amd64_edac.c | 69 ++++++++++++++++++++++++-------------------
drivers/edac/amd64_edac.h | 4 ---
drivers/hwmon/k10temp.c | 62 +++++++++++++++++++++++++-------------
5 files changed, 121 insertions(+), 64 deletions(-)

base_commit: d0c40c38ab408325e348a89619e1ed43dccdf44d
change-id: 20240329-fix-smn-bad-read-2ee9ddcf3989