commit
12461c5f29
@ -0,0 +1 @@
|
|||||||
|
a31985f5cc19bd0a2bed7a32567d06f5ec72c0af SOURCES/biosdevname-0.7.3.tar.gz
|
@ -0,0 +1 @@
|
|||||||
|
SOURCES/biosdevname-0.7.3.tar.gz
|
@ -0,0 +1,63 @@
|
|||||||
|
From 495ab76e0d5f0eba83f9c86baf779a244ea1b60d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Takashi Iwai <tiwai@suse.de>
|
||||||
|
Date: Mon, 24 Aug 2020 14:42:44 +0200
|
||||||
|
Subject: [PATCH] Add SMBIOS 3.x support
|
||||||
|
|
||||||
|
Handle only the path from sysfs for now.
|
||||||
|
|
||||||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||||
|
CC: Thomas Renninger <trenn@suse.de>
|
||||||
|
CC: Michal Suchanek <msuchanek@suse.com>
|
||||||
|
---
|
||||||
|
src/dmidecode/dmidecode.c | 14 ++++++++++++--
|
||||||
|
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/dmidecode/dmidecode.c b/src/dmidecode/dmidecode.c
|
||||||
|
index f4c1269..f478cc5 100644
|
||||||
|
--- a/src/dmidecode/dmidecode.c
|
||||||
|
+++ b/src/dmidecode/dmidecode.c
|
||||||
|
@@ -236,7 +236,7 @@ static int dmi_table(u32 base, u16 len, u16 num, u16 ver, const char *devmem, co
|
||||||
|
int i=0;
|
||||||
|
|
||||||
|
/* Verify SMBIOS version */
|
||||||
|
- if (!isvalidsmbios(ver >> 8, ver & 0xFF)) {
|
||||||
|
+ if (ver && !isvalidsmbios(ver >> 8, ver & 0xFF)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -253,7 +253,7 @@ static int dmi_table(u32 base, u16 len, u16 num, u16 ver, const char *devmem, co
|
||||||
|
}
|
||||||
|
|
||||||
|
data=buf;
|
||||||
|
- while(i<num && data+4<=buf+len) /* 4 is the length of an SMBIOS structure header */
|
||||||
|
+ while((!num || i<num) && data+4<=buf+len) /* 4 is the length of an SMBIOS structure header */
|
||||||
|
{
|
||||||
|
u8 *next;
|
||||||
|
struct dmi_header h;
|
||||||
|
@@ -314,6 +314,14 @@ static int legacy_decode(u8 *buf, const char *devmem, const struct libbiosdevnam
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* only from sysfs, handle no base offset */
|
||||||
|
+static int smbios3_decode(u8 *buf, const char *devmem, const struct libbiosdevname_state *state)
|
||||||
|
+{
|
||||||
|
+ if (checksum(buf, 0x18))
|
||||||
|
+ return dmi_table(0, DWORD(buf + 0x0c), 0, 0, devmem, state, 1);
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#define SYSFS_TABLE_SMBIOS "/sys/firmware/dmi/tables/smbios_entry_point"
|
||||||
|
#define SYSFS_TABLE_DMI "/sys/firmware/dmi/tables/DMI"
|
||||||
|
|
||||||
|
@@ -330,6 +338,8 @@ static int smibios_decode_from_sysfs(const struct libbiosdevname_state *state)
|
||||||
|
fclose(fp);
|
||||||
|
if (len == 0x1f && memcmp(buf, "_SM_", 4) == 0)
|
||||||
|
return smbios_decode(buf, SYSFS_TABLE_DMI, state, 1);
|
||||||
|
+ if (len >= 0x18 && memcmp(buf, "_SM3_", 5) == 0)
|
||||||
|
+ return smbios3_decode(buf, SYSFS_TABLE_DMI, state);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,168 @@
|
|||||||
|
From f64c3f549eda36d11b5690117173b0847535ebbe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Takashi Iwai <tiwai@suse.de>
|
||||||
|
Date: Mon, 24 Aug 2020 14:40:17 +0200
|
||||||
|
Subject: [PATCH] Add buffer read helper using read explicitly
|
||||||
|
|
||||||
|
Since mmap can't work well with a sysfs file, we need to read the
|
||||||
|
contents explicitly via read, even if USE_MMAP is enabled.
|
||||||
|
Provide a new helper, __mem_cunk(), that does behave like mem_chunk()
|
||||||
|
but with the extra use_mmap argument to specify the method to read a
|
||||||
|
file.
|
||||||
|
|
||||||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||||
|
CC: Thomas Renninger <trenn@suse.de>
|
||||||
|
CC: Michal Suchanek <msuchanek@suse.com>
|
||||||
|
---
|
||||||
|
src/dmidecode/util.c | 82 ++++++++++++++++++++++++++++----------------
|
||||||
|
src/dmidecode/util.h | 1 +
|
||||||
|
2 files changed, 53 insertions(+), 30 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/dmidecode/util.c b/src/dmidecode/util.c
|
||||||
|
index ea06663..09934ea 100644
|
||||||
|
--- a/src/dmidecode/util.c
|
||||||
|
+++ b/src/dmidecode/util.c
|
||||||
|
@@ -47,7 +47,6 @@
|
||||||
|
#include "types.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
-#ifndef USE_MMAP
|
||||||
|
static int myread(int fd, u8 *buf, size_t count, const char *prefix)
|
||||||
|
{
|
||||||
|
ssize_t r=1;
|
||||||
|
@@ -78,7 +77,6 @@ static int myread(int fd, u8 *buf, size_t count, const char *prefix)
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
int checksum(const u8 *buf, size_t len)
|
||||||
|
{
|
||||||
|
@@ -94,28 +92,13 @@ int checksum(const u8 *buf, size_t len)
|
||||||
|
* Copy a physical memory chunk into a memory buffer.
|
||||||
|
* This function allocates memory.
|
||||||
|
*/
|
||||||
|
-void *mem_chunk(size_t base, size_t len, const char *devmem)
|
||||||
|
-{
|
||||||
|
- void *p;
|
||||||
|
- int fd;
|
||||||
|
#ifdef USE_MMAP
|
||||||
|
+static void *mem_chunk_mmap(size_t base, size_t len, const char *devmem,
|
||||||
|
+ int fd, void *p)
|
||||||
|
+{
|
||||||
|
size_t mmoffset;
|
||||||
|
void *mmp;
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
- if((fd=open(devmem, O_RDONLY))==-1)
|
||||||
|
- {
|
||||||
|
- return NULL;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if((p=malloc(len))==NULL)
|
||||||
|
- {
|
||||||
|
- perror("malloc");
|
||||||
|
- close(fd);
|
||||||
|
- return NULL;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-#ifdef USE_MMAP
|
||||||
|
+
|
||||||
|
#ifdef _SC_PAGESIZE
|
||||||
|
mmoffset=base%sysconf(_SC_PAGESIZE);
|
||||||
|
#else
|
||||||
|
@@ -129,8 +112,6 @@ void *mem_chunk(size_t base, size_t len, const char *devmem)
|
||||||
|
mmp=mmap(0, mmoffset+len, PROT_READ, MAP_SHARED, fd, base-mmoffset);
|
||||||
|
if(mmp==MAP_FAILED)
|
||||||
|
{
|
||||||
|
- free(p);
|
||||||
|
- close(fd);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -141,26 +122,67 @@ void *mem_chunk(size_t base, size_t len, const char *devmem)
|
||||||
|
fprintf(stderr, "%s: ", devmem);
|
||||||
|
perror("munmap");
|
||||||
|
}
|
||||||
|
-#else /* USE_MMAP */
|
||||||
|
+
|
||||||
|
+ return p;
|
||||||
|
+}
|
||||||
|
+#endif /* USE_MMAP */
|
||||||
|
+
|
||||||
|
+static void *mem_chunk_read(size_t base, size_t len, const char *devmem,
|
||||||
|
+ int fd, void *p)
|
||||||
|
+{
|
||||||
|
if(lseek(fd, base, SEEK_SET)==-1)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: ", devmem);
|
||||||
|
perror("lseek");
|
||||||
|
- free(p);
|
||||||
|
- close(fd);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(myread(fd, p, len, devmem)==-1)
|
||||||
|
{
|
||||||
|
- free(p);
|
||||||
|
- close(fd);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
-#endif /* USE_MMAP */
|
||||||
|
+
|
||||||
|
+ return p;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void *__mem_chunk(size_t base, size_t len, const char *devmem, int use_mmap)
|
||||||
|
+{
|
||||||
|
+ void *ret;
|
||||||
|
+ void *p;
|
||||||
|
+ int fd;
|
||||||
|
+
|
||||||
|
+#ifndef USE_MMAP
|
||||||
|
+ use_mmap = 0;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ if((fd=open(devmem, O_RDONLY))==-1)
|
||||||
|
+ {
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
+ if((p=malloc(len))==NULL)
|
||||||
|
+ {
|
||||||
|
+ perror("malloc");
|
||||||
|
+ close(fd);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+#ifdef USE_MMAP
|
||||||
|
+ if (use_mmap)
|
||||||
|
+ ret = mem_chunk_mmap(base, len, devmem, fd, p);
|
||||||
|
+ else
|
||||||
|
+#endif
|
||||||
|
+ ret = mem_chunk_read(base, len, devmem, fd, p);
|
||||||
|
+
|
||||||
|
if(close(fd)==-1)
|
||||||
|
perror(devmem);
|
||||||
|
+ if (!ret)
|
||||||
|
+ free(p);
|
||||||
|
|
||||||
|
- return p;
|
||||||
|
+ return ret;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void *mem_chunk(size_t base, size_t len, const char *devmem)
|
||||||
|
+{
|
||||||
|
+ return __mem_chunk(base, len, devmem, 1);
|
||||||
|
}
|
||||||
|
diff --git a/src/dmidecode/util.h b/src/dmidecode/util.h
|
||||||
|
index b546f64..90c411e 100644
|
||||||
|
--- a/src/dmidecode/util.h
|
||||||
|
+++ b/src/dmidecode/util.h
|
||||||
|
@@ -6,3 +6,4 @@
|
||||||
|
|
||||||
|
int checksum(const u8 *buf, size_t len);
|
||||||
|
void *mem_chunk(size_t base, size_t len, const char *devmem);
|
||||||
|
+void *__mem_chunk(size_t base, size_t len, const char *devmem, int use_mmap);
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
From db1371e4d22465c27b5ed8d851cea6e72f0176f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Wed, 21 Mar 2018 18:10:08 +0100
|
||||||
|
Subject: [PATCH 1/2] Disable biosdevname by default
|
||||||
|
|
||||||
|
---
|
||||||
|
biosdevname.rules.in | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/biosdevname.rules.in b/biosdevname.rules.in
|
||||||
|
index 0a32aa5..1dcca74 100644
|
||||||
|
--- a/biosdevname.rules.in
|
||||||
|
+++ b/biosdevname.rules.in
|
||||||
|
@@ -12,13 +12,13 @@ ENV{biosdevname}=="?*", ENV{UDEV_BIOSDEVNAME}="$env{biosdevname}"
|
||||||
|
ENV{UDEV_BIOSDEVNAME}=="0", GOTO="netdevicename_end"
|
||||||
|
ENV{UDEV_BIOSDEVNAME}=="1", GOTO="netdevicename_start"
|
||||||
|
|
||||||
|
-# uncomment the next line for biosdevname to be off by default
|
||||||
|
-# GOTO="netdevicename_end"
|
||||||
|
+# off by default
|
||||||
|
+GOTO="netdevicename_end"
|
||||||
|
|
||||||
|
LABEL="netdevicename_start"
|
||||||
|
|
||||||
|
# using NAME= instead of setting INTERFACE_NAME, so that persistent
|
||||||
|
# names aren't generated for these devices, they are "named" on each boot.
|
||||||
|
-SUBSYSTEMS=="pci", PROGRAM="/sbin/biosdevname --policy physical -i %k", NAME="%c", OPTIONS+="string_escape=replace"
|
||||||
|
+SUBSYSTEMS=="pci", PROGRAM="/sbin/biosdevname --smbios 2.6 --nopirq --policy physical -i %k", NAME="%c" OPTIONS+="string_escape=replace"
|
||||||
|
|
||||||
|
LABEL="netdevicename_end"
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
From d6fa84f8a80d5e1c526fe675c345f709a700e33e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Josef=20M=C3=B6llers?= <josef.moellers@suse.com>
|
||||||
|
Date: Fri, 20 Jul 2018 08:56:48 +0200
|
||||||
|
Subject: [PATCH] Prevent infinite recursion in dmidecode.c::smbios_setslot by
|
||||||
|
(#7)
|
||||||
|
|
||||||
|
Checking that subordinate bus has a number greater than the
|
||||||
|
current bus.
|
||||||
|
Fixes SUSE bug#1093625
|
||||||
|
---
|
||||||
|
src/dmidecode/dmidecode.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/dmidecode/dmidecode.c b/src/dmidecode/dmidecode.c
|
||||||
|
index 1d805bb..a01a6ce 100644
|
||||||
|
--- a/src/dmidecode/dmidecode.c
|
||||||
|
+++ b/src/dmidecode/dmidecode.c
|
||||||
|
@@ -153,7 +153,7 @@ void smbios_setslot(const struct libbiosdevname_state *state,
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Found a PDEV, now is it a bridge? */
|
||||||
|
- if (pdev->sbus != -1) {
|
||||||
|
+ if (pdev->sbus != -1 && pdev->sbus > bus) {
|
||||||
|
smbios_setslot(state, domain, pdev->sbus, -1, -1, type, slot, index, label);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,145 @@
|
|||||||
|
From b3bb4ed21e8802cb38eb693952da058f52cf76b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Takashi Iwai <tiwai@suse.de>
|
||||||
|
Date: Mon, 24 Aug 2020 14:41:54 +0200
|
||||||
|
Subject: [PATCH] Read DMI entries from /sys/firmware/dmi/tables/DMI
|
||||||
|
|
||||||
|
A kernel with Secure Boot lockdown may prohibit reading the contents
|
||||||
|
of /dev/mem, hence biosdevname fails. The recent kernel provides the
|
||||||
|
DMI byte contents in /sys/firmware/dmi/tables/*, and we can use this
|
||||||
|
instead of poking /dev/mem.
|
||||||
|
|
||||||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||||
|
CC: Thomas Renninger <trenn@suse.de>
|
||||||
|
CC: Michal Suchanek <msuchanek@suse.com>
|
||||||
|
---
|
||||||
|
src/dmidecode/dmidecode.c | 54 +++++++++++++++++++++++++++++----------
|
||||||
|
1 file changed, 41 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/dmidecode/dmidecode.c b/src/dmidecode/dmidecode.c
|
||||||
|
index a01a6ce..f4c1269 100644
|
||||||
|
--- a/src/dmidecode/dmidecode.c
|
||||||
|
+++ b/src/dmidecode/dmidecode.c
|
||||||
|
@@ -229,7 +229,7 @@ static int isvalidsmbios(int mjr, int mnr)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void dmi_table(u32 base, u16 len, u16 num, u16 ver, const char *devmem, const struct libbiosdevname_state *state)
|
||||||
|
+static int dmi_table(u32 base, u16 len, u16 num, u16 ver, const char *devmem, const struct libbiosdevname_state *state, int sysfs)
|
||||||
|
{
|
||||||
|
u8 *buf;
|
||||||
|
u8 *data;
|
||||||
|
@@ -237,14 +237,19 @@ static void dmi_table(u32 base, u16 len, u16 num, u16 ver, const char *devmem, c
|
||||||
|
|
||||||
|
/* Verify SMBIOS version */
|
||||||
|
if (!isvalidsmbios(ver >> 8, ver & 0xFF)) {
|
||||||
|
- return;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
- if((buf=mem_chunk(base, len, devmem))==NULL)
|
||||||
|
+
|
||||||
|
+ if (sysfs)
|
||||||
|
+ buf = __mem_chunk(0, len, devmem, 0);
|
||||||
|
+ else
|
||||||
|
+ buf = mem_chunk(base, len, devmem);
|
||||||
|
+ if(buf == NULL)
|
||||||
|
{
|
||||||
|
#ifndef USE_MMAP
|
||||||
|
printf("Table is unreachable, sorry. Try compiling dmidecode with -DUSE_MMAP.\n");
|
||||||
|
#endif
|
||||||
|
- return;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
data=buf;
|
||||||
|
@@ -280,18 +285,18 @@ static void dmi_table(u32 base, u16 len, u16 num, u16 ver, const char *devmem, c
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
free(buf);
|
||||||
|
+ return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
-static int smbios_decode(u8 *buf, const char *devmem, const struct libbiosdevname_state *state)
|
||||||
|
+static int smbios_decode(u8 *buf, const char *devmem, const struct libbiosdevname_state *state, int sysfs)
|
||||||
|
{
|
||||||
|
if(checksum(buf, buf[0x05])
|
||||||
|
&& memcmp(buf+0x10, "_DMI_", 5)==0
|
||||||
|
&& checksum(buf+0x10, 0x0F))
|
||||||
|
{
|
||||||
|
- dmi_table(DWORD(buf+0x18), WORD(buf+0x16), WORD(buf+0x1C),
|
||||||
|
- (buf[0x06]<<8)+buf[0x07], devmem, state);
|
||||||
|
- return 1;
|
||||||
|
+ return dmi_table(DWORD(buf+0x18), WORD(buf+0x16), WORD(buf+0x1C),
|
||||||
|
+ (buf[0x06]<<8)+buf[0x07], devmem, state,
|
||||||
|
+ sysfs);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
@@ -302,13 +307,32 @@ static int legacy_decode(u8 *buf, const char *devmem, const struct libbiosdevnam
|
||||||
|
if(checksum(buf, 0x0F))
|
||||||
|
{
|
||||||
|
dmi_table(DWORD(buf+0x08), WORD(buf+0x06), WORD(buf+0x0C),
|
||||||
|
- ((buf[0x0E]&0xF0)<<4)+(buf[0x0E]&0x0F), devmem, state);
|
||||||
|
+ ((buf[0x0E]&0xF0)<<4)+(buf[0x0E]&0x0F), devmem, state, 0);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#define SYSFS_TABLE_SMBIOS "/sys/firmware/dmi/tables/smbios_entry_point"
|
||||||
|
+#define SYSFS_TABLE_DMI "/sys/firmware/dmi/tables/DMI"
|
||||||
|
+
|
||||||
|
+static int smibios_decode_from_sysfs(const struct libbiosdevname_state *state)
|
||||||
|
+{
|
||||||
|
+ FILE *fp;
|
||||||
|
+ u8 buf[0x1f];
|
||||||
|
+ int len;
|
||||||
|
+
|
||||||
|
+ fp = fopen(SYSFS_TABLE_SMBIOS, "r");
|
||||||
|
+ if (!fp)
|
||||||
|
+ return 0;
|
||||||
|
+ len = fread(buf, 1, sizeof(buf), fp);
|
||||||
|
+ fclose(fp);
|
||||||
|
+ if (len == 0x1f && memcmp(buf, "_SM_", 4) == 0)
|
||||||
|
+ return smbios_decode(buf, SYSFS_TABLE_DMI, state, 1);
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Probe for EFI interface
|
||||||
|
*/
|
||||||
|
@@ -417,7 +441,11 @@ int dmidecode_main(const struct libbiosdevname_state *state)
|
||||||
|
if (dmidecode_read_file(state))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- /* First try EFI (ia64, Intel-based Mac) */
|
||||||
|
+ /* First try sysfs entries */
|
||||||
|
+ if (smibios_decode_from_sysfs(state))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ /* Next try EFI (ia64, Intel-based Mac) */
|
||||||
|
efi=address_from_efi(&fp);
|
||||||
|
switch(efi)
|
||||||
|
{
|
||||||
|
@@ -434,7 +462,7 @@ int dmidecode_main(const struct libbiosdevname_state *state)
|
||||||
|
goto exit_free;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if(smbios_decode(buf, devmem, state))
|
||||||
|
+ if(smbios_decode(buf, devmem, state, 0))
|
||||||
|
found++;
|
||||||
|
goto done;
|
||||||
|
|
||||||
|
@@ -450,7 +478,7 @@ memory_scan:
|
||||||
|
{
|
||||||
|
if(memcmp(buf+fp, "_SM_", 4)==0 && fp<=0xFFE0)
|
||||||
|
{
|
||||||
|
- if(smbios_decode(buf+fp, devmem, state))
|
||||||
|
+ if(smbios_decode(buf+fp, devmem, state, 0))
|
||||||
|
{
|
||||||
|
found++;
|
||||||
|
fp+=16;
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
From 14a0cef248d2996cde90e64ae56d7bdb569b3995 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= <vpavlin@redhat.com>
|
||||||
|
Date: Mon, 23 Sep 2013 14:05:59 +0200
|
||||||
|
Subject: [PATCH] Place udev rules to /usr/lib
|
||||||
|
|
||||||
|
---
|
||||||
|
biosdevname.rules.in | 2 +-
|
||||||
|
configure.ac | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/biosdevname.rules.in b/biosdevname.rules.in
|
||||||
|
index e26ba98..8c12cb8 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -68,7 +68,7 @@ AC_CHECK_FUNCS([dup2 gettimeofday memset munmap select socket strcasecmp strchr
|
||||||
|
|
||||||
|
# this is ugly, but accounts for SLES 10, Red Hat/Fedora, and Ubuntu
|
||||||
|
# handles default udev rules as of udev 114 or thereabouts
|
||||||
|
-RULEDEST=/lib/udev/rules.d/71-biosdevname.rules
|
||||||
|
+RULEDEST=${prefix}/lib/udev/rules.d/71-biosdevname.rules
|
||||||
|
|
||||||
|
if [[ -e /etc/udev/rules.d/60-net.rules ]]; then
|
||||||
|
# RHEL 5 / Fedora
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -0,0 +1,276 @@
|
|||||||
|
Name: biosdevname
|
||||||
|
Version: 0.7.3
|
||||||
|
Release: 10%{?dist}
|
||||||
|
Summary: Udev helper for naming devices per BIOS names
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://linux.dell.com/files/%{name}
|
||||||
|
# SMBIOS only exists on these arches. It's also likely that other
|
||||||
|
# arches don't expect the PCI bus to be sorted breadth-first, or of
|
||||||
|
# so, there haven't been any comments about that on LKML.
|
||||||
|
ExclusiveArch: %{ix86} x86_64
|
||||||
|
Source0: http://linux.dell.com/files/%{name}/%{name}-%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: pciutils-devel
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
BuildRequires: make
|
||||||
|
|
||||||
|
Patch1: 0001-Disable-biosdevname-by-default.patch
|
||||||
|
Patch2: 0002-Place-udev-rules-to-usr-lib.patch
|
||||||
|
Patch3: 0001-Prevent-infinite-recursion-in-dmidecode.c-smbios_set.patch
|
||||||
|
Patch4: 0001-Add-buffer-read-helper-using-read-explicitly.patch
|
||||||
|
Patch5: 0001-Read-DMI-entries-from-sys-firmware-dmi-tables-DMI.patch
|
||||||
|
Patch6: 0001-Add-SMBIOS-3.x-support.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
biosdevname in its simplest form takes a kernel device name as an
|
||||||
|
argument, and returns the BIOS-given name it "should" be. This is necessary
|
||||||
|
on systems where the BIOS name for a given device (e.g. the label on
|
||||||
|
the chassis is "Gb1") doesn't map directly and obviously to the kernel
|
||||||
|
name (e.g. eth0).
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%autopatch -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
autoreconf -fvi
|
||||||
|
%configure --prefix=%{_prefix}
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install install-data DESTDIR=%{buildroot}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc COPYING README
|
||||||
|
%{_sbindir}/%{name}
|
||||||
|
%{_prefix}/lib/udev/rules.d/*.rules
|
||||||
|
%{_mandir}/man1/%{name}.1*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu May 16 2024 Michal Sekletar <msekleta@redhat.com> - 0.7.3-10
|
||||||
|
- Make sure biosdevname works on systems with enabled SecureBoot (RHEL-18300)
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.7.3-9
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 0.7.3-8
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Mar 22 2018 Michal Sekletar <msekleta@redhat.com> - 0.7.3-1
|
||||||
|
- rebase to biosdevname-0.7.3
|
||||||
|
|
||||||
|
* Wed Mar 21 2018 Michal Sekletar <msekleta@redhat.com> - 0.7.2-1
|
||||||
|
- rebase to biosdevname-0.7.2
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 26 2015 Michal Sekletar <msekleta@redhat.com> - 0.6.2-1
|
||||||
|
- Rebase to 0.6.2
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Sep 02 2013 Harald Hoyer <harald@redhat.com> 0.5.0-2
|
||||||
|
- not only NAME KERNEL=="eth*", but every ethernet device
|
||||||
|
|
||||||
|
* Tue Jul 30 2013 Václav Pavlín <vpavlin@redhat.com> - 0.5.0-1
|
||||||
|
- Updating the sources to 0.5.0 version. Following are the changes:
|
||||||
|
- Change scan of SMBIOS slot <-> PCI methods, recurse to set SMBIOS slot field
|
||||||
|
- Save off secondary bus of PCI device for PCI tree traversal
|
||||||
|
- Add version number to biosdevname
|
||||||
|
|
||||||
|
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Nov 14 2012 Václav Pavlín <vpavlin@redhat.com> - 0.4.1-3
|
||||||
|
- Source link update
|
||||||
|
|
||||||
|
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 18 2012 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.4.1-1
|
||||||
|
- Fix autoconfig for Fedora systems
|
||||||
|
- Make sure that vpd scan only runs on Dell systems, also blacklist Atheros
|
||||||
|
wireless cards which hang when vpd is read.
|
||||||
|
- Add fixes to biosdevname to support cards that export multiple network
|
||||||
|
ports per PCI device (chelsio/mellanox).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Thu May 3 2012 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.4.0-1
|
||||||
|
- Create detached signature
|
||||||
|
- Fix man page to use new naming convention
|
||||||
|
- Remove unused variables from Stephen Hemminger [shemminger@vyatta.com]
|
||||||
|
- Use Physical device for slot numbering for embedded SR-IOV cards
|
||||||
|
- Add tracking of ifindex to eths structure
|
||||||
|
- Fix naming for add-in network adapters when SMBIOS version is invalid
|
||||||
|
- Read VPD-R on Dell systems only
|
||||||
|
|
||||||
|
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.11-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Oct 4 2011 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.3.11-5
|
||||||
|
- Added automake as a build dependency
|
||||||
|
|
||||||
|
* Tue Oct 4 2011 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.3.11-4
|
||||||
|
- Added autoconf as a build dependency
|
||||||
|
|
||||||
|
* Tue Oct 4 2011 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.3.11-3
|
||||||
|
- Generating the configure script if it doesn't exist
|
||||||
|
|
||||||
|
* Tue Oct 4 2011 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.3.11-2
|
||||||
|
- Fixed the dir structure inside the archive
|
||||||
|
|
||||||
|
* Tue Oct 4 2011 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.3.11-1
|
||||||
|
- Updating the sources to 0.3.11 version. Following are the changes:
|
||||||
|
- Fix man page for PCI slot naming
|
||||||
|
- Fix clearing of buffer for NPAR/SRIOV naming
|
||||||
|
- Add --nopirq and --smbios options to manpage.
|
||||||
|
- Verify length of VPD on network device
|
||||||
|
- Close file handle on sysfs read
|
||||||
|
- Fix naming policy for NPAR devices.
|
||||||
|
Match each PCI device to its VPD 'physical' device to get correct index
|
||||||
|
- Exclude building on ia64 arch
|
||||||
|
- Add support functions for determining PCIE slot
|
||||||
|
- Scan full path to parent when getting PCIE slot
|
||||||
|
- Fix NPAR naming for add-in cards
|
||||||
|
- Don't display _vf suffix on NPAR devices with single function
|
||||||
|
- Fix PCIe/PIRQ slot mapping
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
|
||||||
|
>>>>>>> f16
|
||||||
|
* Thu Apr 21 2011 Praveen K Paladugu <praveen_paladugu@dell.com> - 0.3.8-1
|
||||||
|
- Add changes to parse VPD structure for device mapping on NPAR devices
|
||||||
|
- Fix pathname
|
||||||
|
- Cleanup and comment NPAR code
|
||||||
|
- Fix debian packaging rules to regenerate configure script
|
||||||
|
- Change pciX to pX for shortened names for PCI add-on devices
|
||||||
|
- Fix manpage typo
|
||||||
|
- Delete CR-LF in script
|
||||||
|
- Change default signing key
|
||||||
|
- Add command line arguments for checking SMBIOS version and ignore $PIRQ.
|
||||||
|
|
||||||
|
* Thu Feb 17 2011 Matt Domsch <Matt_Domsch@dell.com> - 0.3.7-1
|
||||||
|
- drop dump_pirq, suggest use biosdecode instead
|
||||||
|
- don't use '#' in names, use 'p' instead, by popular demand
|
||||||
|
- properly look for SMBIOS, then $PIR, then recurse
|
||||||
|
- Add kernel command line parameter "biosdevname={0|1}" to turn off/on biosdevname
|
||||||
|
- Fix segfault when BIOS advertises zero sized PIRQ Routing Table
|
||||||
|
- Add 'bonding' and 'openvswitch' to the virtual devices list
|
||||||
|
- fail PIRQ lookups if device domain is not 0
|
||||||
|
- Don't suggest names if running in a virtual machine (Xen, KVM,
|
||||||
|
VMware tested, but should work on others)
|
||||||
|
- Typo fixes
|
||||||
|
|
||||||
|
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.6-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 25 2011 Matt Domsch <Matt_Domsch@dell.com> - 0.3.6-1
|
||||||
|
- drop biosdevnameS, it's unused and fails to build on F15
|
||||||
|
|
||||||
|
* Tue Jan 25 2011 Matt Domsch <Matt_Domsch@dell.com> - 0.3.5-1
|
||||||
|
- install dump_pirq into /usr/sbin
|
||||||
|
- fix udev rule, skip running if NAME is already set
|
||||||
|
- move udev rule to /lib/udev/rules.d by default
|
||||||
|
|
||||||
|
* Thu Dec 16 2010 Matt Domsch <mdomsch@fedoraproject.org> - 0.3.4-1
|
||||||
|
- drop unnecessary explicit version requirement on udev
|
||||||
|
- bugfix: start indices at 1 not 0, to match Dell and HP server port designations
|
||||||
|
- bugfix: don't assign names to unknown devices
|
||||||
|
- bugfix: don't assign duplicate names
|
||||||
|
|
||||||
|
* Thu Dec 9 2010 Matt Domsch <Matt_Domsch@dell.com> - 0.3.3-1
|
||||||
|
- add back in use of PCI IRQ Routing Table, if info is not provided by
|
||||||
|
sysfs or SMBIOS
|
||||||
|
|
||||||
|
* Thu Dec 2 2010 Matt Domsch <Matt_Domsch@dell.com> - 0.3.2-1
|
||||||
|
- fix for multi-port cards with bridges
|
||||||
|
- removal of code for seriously obsolete systems
|
||||||
|
|
||||||
|
* Sun Nov 28 2010 Matt Domsch <Matt_Domsch@dell.com> 0.3.1-1
|
||||||
|
- remove all policies except 'physical' and 'all_ethN'
|
||||||
|
- handle SR-IOV devices properly
|
||||||
|
|
||||||
|
* Wed Nov 10 2010 Matt Domsch <Matt_Domsch@dell.com> 0.3.0-1
|
||||||
|
- add --policy=loms, make it default
|
||||||
|
- read index and labels from sysfs if available
|
||||||
|
|
||||||
|
* Mon Jul 27 2009 Jordan Hargrave <Jordan_Hargrave@dell.com> 0.2.5-1
|
||||||
|
- fix mmap error checking
|
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue May 06 2008 Matt Domsch <Matt_Domsch@dell.com> 0.2.4-5
|
||||||
|
- use policy=all_names to find breakage
|
||||||
|
|
||||||
|
* Sun Feb 10 2008 Matt Domsch <Matt_Domsch@dell.com> 0.2.4-4
|
||||||
|
- rebuild for gcc43
|
||||||
|
|
||||||
|
* Fri Sep 21 2007 Matt Domsch <Matt_Domsch@dell.com> 0.2.4-3
|
||||||
|
- fix manpage entry in files
|
||||||
|
|
||||||
|
* Fri Sep 21 2007 Matt Domsch <Matt_Domsch@dell.com> 0.2.4-2
|
||||||
|
- rebuild with Requires: udev > 115-3.20070920git
|
||||||
|
|
||||||
|
* Fri Sep 21 2007 Matt Domsch <Matt_Domsch@dell.com> 0.2.4-1
|
||||||
|
- coordinate udev rules usage with udev maintainer
|
||||||
|
- fix crashes in pcmcia search, in_ethernet(), and incorrect command
|
||||||
|
line parsing.
|
||||||
|
|
||||||
|
* Mon Aug 27 2007 Matt Domsch <Matt_Domsch@dell.com> 0.2.3-1
|
||||||
|
- eliminate libbiosdevname.*, pre and post scripts
|
||||||
|
|
||||||
|
* Fri Aug 24 2007 Matt Domsch <Matt_Domsch@dell.com> 0.2.2-1
|
||||||
|
- ExclusiveArch those arches with SMBIOS and PCI IRQ Routing tables
|
||||||
|
- eliminate libsysfs dependency, move app to / for use before /usr is mounted.
|
||||||
|
- build static
|
||||||
|
|
||||||
|
* Mon Aug 20 2007 Matt Domsch <Matt_Domsch@dell.com> 0.2.1-1
|
||||||
|
- initial release
|
Loading…
Reference in new issue