Messages in this thread | | | Date | Thu, 12 Dec 2019 21:18:51 +0100 | From | Borislav Petkov <> | Subject | Re: [PATCH v5 1/4] x86/boot: Wrap up the SRAT traversing code into subtable_parse() |
| |
On Fri, Nov 15, 2019 at 09:49:14AM -0500, Masayoshi Mizuma wrote: > From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> > > Wrap up the SRAT traversing code into subtable_parse().
Why?
> > Reviewed-by: Baoquan He <bhe@redhat.com> > Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> > --- > arch/x86/boot/compressed/acpi.c | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/arch/x86/boot/compressed/acpi.c b/arch/x86/boot/compressed/acpi.c > index 25019d42ae93..a0f81438a0fd 100644 > --- a/arch/x86/boot/compressed/acpi.c > +++ b/arch/x86/boot/compressed/acpi.c > @@ -362,6 +362,19 @@ static unsigned long get_acpi_srat_table(void) > return 0; > } > > +static void subtable_parse(struct acpi_subtable_header *sub_table, int *num) > +{ > + struct acpi_srat_mem_affinity *ma; > + > + ma = (struct acpi_srat_mem_affinity *)sub_table; > + > + if (!(ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) && ma->length) { > + immovable_mem[*num].start = ma->base_address; > + immovable_mem[*num].size = ma->length; > + (*num)++; > + } > +} > + > /** > * count_immovable_mem_regions - Parse SRAT and cache the immovable > * memory regions into the immovable_mem array. > @@ -395,14 +408,8 @@ int count_immovable_mem_regions(void) > while (table + sizeof(struct acpi_subtable_header) < table_end) { > sub_table = (struct acpi_subtable_header *)table; > if (sub_table->type == ACPI_SRAT_TYPE_MEMORY_AFFINITY) {
So this is checking for the table type being something but calling a function which looks generic, at least judging by the name.
And that generic function is a function why exactly? It beats me. And the input/output argument @num is actually begging for this to *not* be a function at all.
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |