]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
x86/boot/e820: Simplify append_e820_table() and remove restriction on single-entry...
authorIngo Molnar <mingo@kernel.org>
Thu, 15 May 2025 12:05:41 +0000 (14:05 +0200)
committerIngo Molnar <mingo@kernel.org>
Sun, 14 Dec 2025 08:19:41 +0000 (09:19 +0100)
commit157266edcc56715323de1bd60e49194b3b66a174
tree9c629cb3c3d4e8e051dae8cea586900e8cfe29ef
parentaf0cf1646d9de812465c3fa134c8c5bcf85de118
x86/boot/e820: Simplify append_e820_table() and remove restriction on single-entry tables

So append_e820_table() begins with this weird condition that checks 'nr_entries':

    static int __init append_e820_table(struct boot_e820_entry *entries, u32 nr_entries)
    {
            /* Only one memory region (or negative)? Ignore it */
            if (nr_entries < 2)
                    return -1;

Firstly, 'nr_entries' has been an u32 since 2017 and cannot be negative.

Secondly, there's nothing inherently wrong with single-entry E820 maps,
especially in virtualized environments.

So remove this restriction and remove the __append_e820_table()
indirection.

Also:

 - fix/update comments
 - remove obsolete comments

This shrinks the generated code a bit as well:

   text       data        bss        dec        hex    filename
   7549      44072          0      51621       c9a5    e820.o.before
   7533      44072          0      51605       c995    e820.o.after

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Andy Shevchenko <andy@kernel.org>
Cc: Arnd Bergmann <arnd@kernel.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: H . Peter Anvin <hpa@zytor.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://patch.msgid.link/20250515120549.2820541-26-mingo@kernel.org
arch/x86/kernel/e820.c