Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

15 changed files with 476 additions and 294 deletions

View File

@ -1 +1 @@
a31985f5cc19bd0a2bed7a32567d06f5ec72c0af SOURCES/biosdevname-0.7.3.tar.gz
a31985f5cc19bd0a2bed7a32567d06f5ec72c0af biosdevname-0.7.3.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/biosdevname-0.7.3.tar.gz
/biosdevname-*.tar.gz

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,14 +1,15 @@
From 6e29eb19cfec3b657eb6ed8121898e80c1c39e6b Mon Sep 17 00:00:00 2001
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
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
biosdevname.rules.in | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 177f54a..474c064 100644
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
@ -21,5 +22,5 @@ index 177f54a..474c064 100644
if [[ -e /etc/udev/rules.d/60-net.rules ]]; then
# RHEL 5 / Fedora
--
2.14.3
1.8.3.1

View File

@ -1,27 +0,0 @@
From 4257dbad671fd1080231483c1891f46ed9ea7107 Mon Sep 17 00:00:00 2001
From: Ka-Shu Wong <31426385+kashuwong@users.noreply.github.com>
Date: Fri, 1 Sep 2017 15:33:56 +1000
Subject: [PATCH] Add support for ExaNIC network cards (#5)
ExaNIC cards have multiple physical ports on the same PCI function and
need to be numbered using the dev_port attribute.
---
src/bios_device.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/bios_device.c b/src/bios_device.c
index e9d5177..3cc528b 100644
--- a/src/bios_device.c
+++ b/src/bios_device.c
@@ -221,6 +221,8 @@ int ismultiport(const char *driver)
return 1;
if (!strncmp(driver, "cxgb", 4))
return 1;
+ if (!strncmp(driver, "exanic", 6))
+ return 1;
return 0;
}
--
2.14.3

View File

@ -1,187 +0,0 @@
From 8f2d9991d50e09ba9af842fb592b37d0c2021a06 Mon Sep 17 00:00:00 2001
From: dirkjacobus <dirkjacobus@gmail.com>
Date: Sun, 11 Nov 2018 23:29:24 -0800
Subject: [PATCH] Netronome biosdevname support (#8)
* Add support for Netronome netdevices
Netronome netdevices also provide multiple ports through the same
function.
* Set devID with phys_port_name index for nfp devices
Netronome netdevices should rather use the index from the phys_port_name
attribute instead of the dev_port/dev_id
attributes.
* Exclude naming Netronome logical devices
Some drivers, like the Netronome nfp driver, expose logical devices such
as representors and switchdev uplink devices.
There isn't currently a naming scheme for such devices, so exclude them
from the biosdevname naming policy.
Split ports also don't have a naming scheme defined for biosdevname, so
its better to exclude them from naming.
Identification of such devices will always be driver dependent.
At the moment, only 'nfp' driver devices are considered for exclusion.
---
src/bios_device.c | 6 ++++-
src/eths.c | 65 ++++++++++++++++++++++++++++++++++++++++-------
src/eths.h | 6 +++++
3 files changed, 67 insertions(+), 10 deletions(-)
diff --git a/src/bios_device.c b/src/bios_device.c
index 3cc528b..4882513 100644
--- a/src/bios_device.c
+++ b/src/bios_device.c
@@ -214,7 +214,7 @@ static void sort_device_list(struct libbiosdevname_state *state)
list_splice(&sorted_devices, &state->bios_devices);
}
-/* Check for Mellanox/Chelsio drivers */
+/* Check for multiport drivers */
int ismultiport(const char *driver)
{
if (!strncmp(driver, "mlx4", 4))
@@ -223,6 +223,8 @@ int ismultiport(const char *driver)
return 1;
if (!strncmp(driver, "exanic", 6))
return 1;
+ if (!strncmp(driver, "nfp", 3))
+ return 1;
return 0;
}
@@ -248,6 +250,8 @@ static void match_pci_and_eth_devs(struct libbiosdevname_state *state)
/* Ignore if devtype is fcoe */
if (netdev_devtype_is_fcoe(n))
continue;
+ if (!netdev_is_eligible(n))
+ continue;
b = malloc(sizeof(*b));
if (!b)
continue;
diff --git a/src/eths.c b/src/eths.c
index d2c4d36..688c3af 100644
--- a/src/eths.c
+++ b/src/eths.c
@@ -35,21 +35,67 @@ char *pr_ether(char *buf, const int size, const unsigned char *s)
return (buf);
}
-static void eths_get_devid(const char *devname, int *devid)
+static int eths_get_phys_port_name_id(const char *devname)
+{
+ char *portstr = NULL;
+ char path[PATH_MAX];
+ int index = -1;
+
+ /* Only devices that have a phys_port_name of 'pX' are considered here,
+ * with the index 'X' extracted.
+ */
+ snprintf(path, sizeof(path), "/sys/class/net/%s/phys_port_name", devname);
+ if (sysfs_read_file(path, &portstr) == 0) {
+ char *res = NULL;
+
+ if (portstr[0] == 'p') {
+ index = strtol(&portstr[1], &res, 10);
+ /* Reset to invalid if the format is unexpected. */
+ if (*res)
+ index = -1;
+ }
+
+ free(portstr);
+ }
+
+ return index;
+}
+
+static void eths_get_dev_eligible(struct network_device *dev)
+{
+ /* By default, all network devices are eligible for naming. Some may
+ * opt-out explicitly below.
+ */
+ dev->is_eligible = 1;
+
+ if (dev->drvinfo_valid && strcmp(dev->drvinfo.driver, "nfp") == 0) {
+ dev->is_eligible = (eths_get_phys_port_name_id(dev->kernel_name) >= 0 ? 1 : 0);
+ }
+}
+
+static void eths_get_devid(struct network_device *dev)
{
char path[PATH_MAX];
char *devidstr = NULL;
- *devid = -1;
- snprintf(path, sizeof(path), "/sys/class/net/%s/dev_port", devname);
- if (sysfs_read_file(path, &devidstr) == 0) {
- sscanf(devidstr, "%i", devid);
- free(devidstr);
+ dev->devid = -1;
+
+ /* For some drivers, the phys_port_name index, e.g. pX, is the correct
+ * dev ID to use instead of the dev_port attribute.
+ */
+ if (dev->drvinfo_valid && strcmp(dev->drvinfo.driver, "nfp") == 0) {
+ dev->devid = eths_get_phys_port_name_id(dev->kernel_name);
} else {
- snprintf(path, sizeof(path), "/sys/class/net/%s/dev_id", devname);
+ snprintf(path, sizeof(path), "/sys/class/net/%s/dev_port", dev->kernel_name);
if (sysfs_read_file(path, &devidstr) == 0) {
- sscanf(devidstr, "%i", devid);
+ sscanf(devidstr, "%i", &dev->devid);
free(devidstr);
+ } else {
+ snprintf(path, sizeof(path), "/sys/class/net/%s/dev_id", dev->kernel_name);
+ if (sysfs_read_file(path, &devidstr) == 0) {
+ sscanf(devidstr, "%i", &dev->devid);
+ free(devidstr);
+ }
}
}
}
@@ -224,13 +270,14 @@ static void fill_eth_dev(struct network_device *dev)
eths_get_ifindex(dev->kernel_name, &dev->ifindex);
eths_get_hwaddr(dev->kernel_name, dev->dev_addr, sizeof(dev->dev_addr), &dev->arphrd_type);
eths_get_permaddr(dev->kernel_name, dev->perm_addr, sizeof(dev->perm_addr));
- eths_get_devid(dev->kernel_name, &dev->devid);
devtype = eths_get_devtype(dev);
if (devtype > 0)
dev->devtype_is_fcoe = 1;
rc = eths_get_info(dev->kernel_name, &dev->drvinfo);
if (rc == 0)
dev->drvinfo_valid = 1;
+ eths_get_devid(dev);
+ eths_get_dev_eligible(dev);
}
void free_eths(struct libbiosdevname_state *state)
diff --git a/src/eths.h b/src/eths.h
index b695d3d..49e399d 100644
--- a/src/eths.h
+++ b/src/eths.h
@@ -30,6 +30,7 @@ struct network_device {
int devid;
int devtype_is_fcoe;
char *devtype;
+ int is_eligible:1; /* not eligible for naming when 0 */
};
extern void get_eths(struct libbiosdevname_state *state);
@@ -68,4 +69,9 @@ static inline int netdev_arphrd_type_is_eth(const struct network_device *dev)
return (dev->arphrd_type == ARPHRD_ETHER);
}
+static inline int netdev_is_eligible(const struct network_device *dev)
+{
+ return (!!dev->is_eligible);
+}
+
#endif /* __ETHS_H_INCLUDED */
--
2.17.2

View File

@ -1,25 +0,0 @@
From e63b3589e0ded7078b2f02546fc0b0a2a10223be Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta@redhat.com>
Date: Mon, 17 Dec 2018 10:52:51 +0100
Subject: [PATCH] rules: disable pirq and force minimal smbios version
Related: #1623621
---
biosdevname.rules.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/biosdevname.rules.in b/biosdevname.rules.in
index 0a32aa5..105ef5a 100644
--- a/biosdevname.rules.in
+++ b/biosdevname.rules.in
@@ -19,6 +19,6 @@ 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.17.2

View File

@ -1,27 +0,0 @@
From c4771922d64cb1540968ab4b5a9bfbe1148cb211 Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta@redhat.com>
Date: Tue, 18 Dec 2018 11:34:56 +0100
Subject: [PATCH] rules: disable biosdevname by default
---
biosdevname.rules.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/biosdevname.rules.in b/biosdevname.rules.in
index 31b003c..1dcca74 100644
--- a/biosdevname.rules.in
+++ b/biosdevname.rules.in
@@ -12,8 +12,8 @@ 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"
--
2.17.2

View File

@ -1,9 +1,7 @@
Name: biosdevname
Version: 0.7.3
Release: 2%{?dist}
Release: 10%{?dist}
Summary: Udev helper for naming devices per BIOS names
Group: System Environment/Base
License: GPLv2
URL: http://linux.dell.com/files/%{name}
# SMBIOS only exists on these arches. It's also likely that other
@ -14,16 +12,17 @@ Source0: http://linux.dell.com/files/%{name}/%{name}-%{version}/%{name}-%{versio
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc
BuildRequires: pciutils-devel
BuildRequires: zlib-devel
BuildRequires: make
Patch0001: 0001-Add-support-for-ExaNIC-network-cards-5.patch
Patch0002: 0002-Prevent-infinite-recursion-in-dmidecode.c-smbios_set.patch
Patch0003: 0003-Netronome-biosdevname-support-8.patch
Patch0999: 0999-Place-udev-rules-to-usr-lib.patch
Patch1000: 1000-rules-disable-pirq-and-force-minimal-smbios-version.patch
Patch1001: 1001-rules-disable-biosdevname-by-default.patch
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
@ -37,7 +36,7 @@ name (e.g. eth0).
%autopatch -p1
%build
autoreconf -fiv
autoreconf -fvi
%configure --prefix=%{_prefix}
make %{?_smp_mflags}
@ -45,20 +44,48 @@ make %{?_smp_mflags}
make install install-data DESTDIR=%{buildroot}
%files
%defattr(-,root,root,-)
%doc COPYING README
%{_sbindir}/%{name}
%{_prefix}/lib/udev/rules.d/*.rules
%{_mandir}/man1/%{name}.1*
%changelog
* Mon Dec 17 2018 Michal Sekletár <msekleta@redhat.com> - 0.7.3-2
- make biosdevname optional even on Dell servers (#1623621)
- prevent infinite recursion in smbios_setslot() (#1499458)
- Netronome biosdevname support (#1649036)
* Thu May 16 2024 Michal Sekletar <msekleta@redhat.com> - 0.7.3-10
- Make sure biosdevname works on systems with enabled SecureBoot (RHEL-18300)
* Fri Mar 23 2018 Michal Sekletar <msekleta@redhat.com> - 0.7.3-1
- rebase to biosdevname 0.7.3
* 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
@ -151,6 +178,10 @@ make install install-data DESTDIR=%{buildroot}
- 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
@ -224,7 +255,7 @@ make install install-data DESTDIR=%{buildroot}
* 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

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.beaker-gating.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (biosdevname-0.7.3.tar.gz) = 9cd2b7d115d6ee487f4aafa21b00025a3917d3c89489fe70ab3de8aa979158477a1d0b5287101b7cec7200fef0d2f6894a0e6389a174d6f8670dcd7530dc445d