summaryrefslogtreecommitdiffstats
path: root/src/interface/linux/linux_smbios.c
diff options
context:
space:
mode:
authorSimon Rettberg2026-01-28 12:53:53 +0100
committerSimon Rettberg2026-01-28 12:53:53 +0100
commit8e82785c584dc13e20f9229decb95bd17bbe9cd1 (patch)
treea8b359e59196be5b2e3862bed189107f4bc9975f /src/interface/linux/linux_smbios.c
parentMerge branch 'master' into openslx (diff)
parent[prefix] Make unlzma.S compatible with 386 class CPUs (diff)
downloadipxe-openslx.tar.gz
ipxe-openslx.tar.xz
ipxe-openslx.zip
Merge branch 'master' into openslxopenslx
Diffstat (limited to 'src/interface/linux/linux_smbios.c')
-rw-r--r--src/interface/linux/linux_smbios.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/interface/linux/linux_smbios.c b/src/interface/linux/linux_smbios.c
index 981873943..1450fcf1b 100644
--- a/src/interface/linux/linux_smbios.c
+++ b/src/interface/linux/linux_smbios.c
@@ -19,6 +19,7 @@
FILE_LICENCE ( GPL2_OR_LATER );
+#include <string.h>
#include <errno.h>
#include <ipxe/linux_api.h>
#include <ipxe/linux_sysfs.h>
@@ -35,7 +36,7 @@ static const char smbios_entry_filename[] =
static const char smbios_filename[] = "/sys/firmware/dmi/tables/DMI";
/** Cache SMBIOS data */
-static userptr_t smbios_data;
+static void *smbios_data;
/**
* Find SMBIOS
@@ -46,7 +47,7 @@ static userptr_t smbios_data;
static int linux_find_smbios ( struct smbios *smbios ) {
struct smbios3_entry *smbios3_entry;
struct smbios_entry *smbios_entry;
- userptr_t entry;
+ void *entry;
void *data;
int len;
int rc;
@@ -59,7 +60,7 @@ static int linux_find_smbios ( struct smbios *smbios ) {
smbios_entry_filename, strerror ( rc ) );
goto err_entry;
}
- data = user_to_virt ( entry, 0 );
+ data = entry;
smbios3_entry = data;
smbios_entry = data;
if ( ( len >= ( ( int ) sizeof ( *smbios3_entry ) ) ) &&
@@ -98,6 +99,7 @@ static int linux_find_smbios ( struct smbios *smbios ) {
return 0;
ufree ( smbios_data );
+ smbios_data = NULL;
err_read:
err_version:
ufree ( entry );
@@ -116,6 +118,7 @@ static void linux_smbios_shutdown ( int booting __unused ) {
/* Free SMBIOS data */
ufree ( smbios_data );
+ smbios_data = NULL;
}
/** SMBIOS shutdown function */