aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/ident_map_64.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2023-10-17 15:25:12 +0200
committerIngo Molnar <mingo@kernel.org>2023-10-18 12:03:03 +0200
commitd55d5bc5d937743aa8ebb7ca3af25111053b5d8c (patch)
tree029ef7be16671956c4da23722973724d4b3ffeb9 /arch/x86/boot/compressed/ident_map_64.c
parentx86/head/64: Move the __head definition to <asm/init.h> (diff)
downloadlinux-d55d5bc5d937743aa8ebb7ca3af25111053b5d8c.tar.gz
linux-d55d5bc5d937743aa8ebb7ca3af25111053b5d8c.zip
x86/boot: Rename conflicting 'boot_params' pointer to 'boot_params_ptr'
The x86 decompressor is built and linked as a separate executable, but it shares components with the kernel proper, which are either #include'd as C files, or linked into the decompresor as a static library (e.g, the EFI stub) Both the kernel itself and the decompressor define a global symbol 'boot_params' to refer to the boot_params struct, but in the former case, it refers to the struct directly, whereas in the decompressor, it refers to a global pointer variable referring to the struct boot_params passed by the bootloader or constructed from scratch. This ambiguity is unfortunate, and makes it impossible to assign this decompressor variable from the x86 EFI stub, given that declaring it as extern results in a clash. So rename the decompressor version (whose scope is limited) to boot_params_ptr. [ mingo: Renamed 'boot_params_p' to 'boot_params_ptr' for clarity ] Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: linux-kernel@vger.kernel.org
Diffstat (limited to 'arch/x86/boot/compressed/ident_map_64.c')
-rw-r--r--arch/x86/boot/compressed/ident_map_64.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/boot/compressed/ident_map_64.c b/arch/x86/boot/compressed/ident_map_64.c
index bcc956c17872..3c8593de8ccb 100644
--- a/arch/x86/boot/compressed/ident_map_64.c
+++ b/arch/x86/boot/compressed/ident_map_64.c
@@ -151,8 +151,9 @@ void initialize_identity_maps(void *rmode)
* or does not touch all the pages covering them.
*/
kernel_add_identity_map((unsigned long)_head, (unsigned long)_end);
- boot_params = rmode;
- kernel_add_identity_map((unsigned long)boot_params, (unsigned long)(boot_params + 1));
+ boot_params_ptr = rmode;
+ kernel_add_identity_map((unsigned long)boot_params_ptr,
+ (unsigned long)(boot_params_ptr + 1));
cmdline = get_cmd_line_ptr();
kernel_add_identity_map(cmdline, cmdline + COMMAND_LINE_SIZE);
@@ -160,7 +161,7 @@ void initialize_identity_maps(void *rmode)
* Also map the setup_data entries passed via boot_params in case they
* need to be accessed by uncompressed kernel via the identity mapping.
*/
- sd = (struct setup_data *)boot_params->hdr.setup_data;
+ sd = (struct setup_data *)boot_params_ptr->hdr.setup_data;
while (sd) {
unsigned long sd_addr = (unsigned long)sd;