Messages in this thread | | | Date | Thu, 12 Nov 2020 09:48:16 -0600 | From | Steve Wahl <> | Subject | Re: [PATCH] x86/platform/uv: UV5 Fix copied output archtype |
| |
On Tue, Nov 10, 2020 at 07:04:18PM -0600, Mike Travis wrote: > A test shows that the output contains a space: > # cat /proc/sgi_uv/archtype > NSGI4 U/UVX > Remove that embedded space by copying the "trimmed" buffer instead of the > untrimmed input character list. Use sizeof to remove size dependency > on copy out length. Increase output buffer size by one character just > in case BIOS sends an 8 character string for archtype. > > Fixes: 1e61f5a95f191 (Add and decode Arch Type in UVsystab) > > Signed-off-by: Mike Travis <mike.travis@hpe.com>
Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
> --- > arch/x86/kernel/apic/x2apic_uv_x.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c > index 3115caa7d7d0..1b98f8c12b96 100644 > --- a/arch/x86/kernel/apic/x2apic_uv_x.c > +++ b/arch/x86/kernel/apic/x2apic_uv_x.c > @@ -33,7 +33,7 @@ static union uvh_apicid uvh_apicid; > static int uv_node_id; > > /* Unpack AT/OEM/TABLE ID's to be NULL terminated strings */ > -static u8 uv_archtype[UV_AT_SIZE]; > +static u8 uv_archtype[UV_AT_SIZE + 1]; > static u8 oem_id[ACPI_OEM_ID_SIZE + 1]; > static u8 oem_table_id[ACPI_OEM_TABLE_ID_SIZE + 1]; > > @@ -320,7 +320,7 @@ static int __init decode_arch_type(unsigned long ptr) > > if (n > 0 && n < sizeof(uv_ate->archtype)) { > pr_info("UV: UVarchtype received from BIOS\n"); > - uv_stringify(UV_AT_SIZE, uv_archtype, uv_ate->archtype); > + uv_stringify(sizeof(uv_archtype), uv_archtype, uv_ate->archtype); > return 1; > } > return 0; > @@ -378,7 +378,7 @@ static int __init uv_set_system_type(char *_oem_id, char *_oem_table_id) > if (!early_get_arch_type()) > > /* If not use OEM ID for UVarchtype */ > - uv_stringify(UV_AT_SIZE, uv_archtype, _oem_id); > + uv_stringify(sizeof(uv_archtype), uv_archtype, oem_id); > > /* Check if not hubbed */ > if (strncmp(uv_archtype, "SGI", 3) != 0) { > -- > 2.21.0 >
-- Steve Wahl, Hewlett Packard Enterprise
| |