[PATCH 4/5] x86/platform/uv: Add deprecated messages to /proc info leaves

From: Mike Travis
Date: Wed Nov 25 2020 - 12:30:29 EST


Add "deprecated" message to any access to old /proc/sgi_uv/* leaves.

Signed-off-by: Mike Travis <mike.travis@xxxxxxx>
Reviewed-by: Steve Wahl <steve.wahl@xxxxxxx>
---
arch/x86/kernel/apic/x2apic_uv_x.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c
index 48746031b39a..bfd77a00c2a1 100644
--- a/arch/x86/kernel/apic/x2apic_uv_x.c
+++ b/arch/x86/kernel/apic/x2apic_uv_x.c
@@ -1615,21 +1615,45 @@ static void check_efi_reboot(void)
reboot_type = BOOT_ACPI;
}

-/* Setup user proc fs files */
+/*
+ * User proc fs file handling now deprecated.
+ * Recommend using /sys/firmware/sgi_uv/... instead.
+ */
+static void proc_print_msg(int *flag, char *what, char *which)
+{
+ if (*flag)
+ return;
+
+ pr_notice(
+ "%s: using deprecated /proc/sgi_uv/%s, use /sys/firmware/sgi_uv/%s\n",
+ current->comm, what, which ? which : what);
+
+ *flag = 1;
+}
+
static int __maybe_unused proc_hubbed_show(struct seq_file *file, void *data)
{
+ static int flag;
+
+ proc_print_msg(&flag, "hubbed", "hub_type");
seq_printf(file, "0x%x\n", uv_hubbed_system);
return 0;
}

static int __maybe_unused proc_hubless_show(struct seq_file *file, void *data)
{
+ static int flag;
+
+ proc_print_msg(&flag, "hubless", NULL);
seq_printf(file, "0x%x\n", uv_hubless_system);
return 0;
}

static int __maybe_unused proc_archtype_show(struct seq_file *file, void *data)
{
+ static int flag;
+
+ proc_print_msg(&flag, "archtype", NULL);
seq_printf(file, "%s/%s\n", uv_archtype, oem_table_id);
return 0;
}
--
2.21.0