diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-08-26 04:13:26 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-09-06 03:38:09 +0900 |
commit | 0cf2dcf15402c60498165dbd3f14536766c05051 (patch) | |
tree | 4bd11425e3aadefd76d98c0d42deeae0c94cd6f3 | |
parent | d5c8e5ac1b76eeded6303c242113014cb1757f16 (diff) | |
download | systemd-0cf2dcf15402c60498165dbd3f14536766c05051.tar.gz |
udev/rules,hwdb: filter out mostly meaningless default strings
The filter is generated based on the following results:
---
git clone git@github.com:linuxhw/DMI.git
cd DMI
git grep -h -A2 '^System Information$' | grep 'Manufacturer' | sort | uniq -c | sort -nr | less
git grep -h -A2 '^System Information$' | grep 'Product Name' | sort | uniq -c | sort -nr | less
---
Closes #24446.
-rw-r--r-- | hwdb.d/20-dmi-id.hwdb | 23 | ||||
-rw-r--r-- | rules.d/50-udev-default.rules.in | 5 |
2 files changed, 26 insertions, 2 deletions
diff --git a/hwdb.d/20-dmi-id.hwdb b/hwdb.d/20-dmi-id.hwdb index c7bf6cfab1..905d6923bb 100644 --- a/hwdb.d/20-dmi-id.hwdb +++ b/hwdb.d/20-dmi-id.hwdb @@ -1,5 +1,28 @@ # This file is part of systemd +# Filter out mostly meaningless names +dmi:*:svnDefaultstring:* +dmi:*:svnN/A:* +dmi:*:svnO.E.M.:* +dmi:*:svnOEM:* +dmi:*:svnSystemmanufacturer:* +dmi:*:svnSystemManufacturer:* +dmi:*:svnTobefilledbyO.E.M.:* +dmi:*:svnToBeFilledByO.E.M.:* + ID_SYS_VENDOR_IS_RUBBISH=1 + +dmi:*:pnDefaultstring:* +dmi:*:pnN/A:* +dmi:*:pnO.E.M.:* +dmi:*:pnOEM:* +dmi:*:pnSystemproductname:* +dmi:*:pnSystemProductName:* +dmi:*:pnSystemname:* +dmi:*:pnSystemName:* +dmi:*:pnTobefilledbyO.E.M.:* +dmi:*:pnToBeFilledByO.E.M.:* + ID_PRODUCT_NAME_IS_RUBBISH=1 + # Fix "Lenovo" capitalization in /sys/class/dmi/id/sys_vendor dmi:bvnLENOVO* ID_SYSFS_ATTRIBUTE_MODEL=product_version diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in index 0394530479..843bdaf9ce 100644 --- a/rules.d/50-udev-default.rules.in +++ b/rules.d/50-udev-default.rules.in @@ -110,8 +110,9 @@ SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm" SUBSYSTEM=="ptp", ATTR{clock_name}=="hyperv", SYMLINK += "ptp_hyperv" SUBSYSTEM!="dmi", GOTO="dmi_end" -ENV{ID_VENDOR}="$attr{sys_vendor}" -ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="|product_name", ENV{ID_MODEL}="$attr{product_name}" +ENV{ID_SYS_VENDOR_IS_RUBBISH}!="1", ENV{ID_VENDOR}="$attr{sys_vendor}" +ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="", ENV{ID_PRODUCT_NAME_IS_RUBBISH}!="1", ENV{ID_MODEL}="$attr{product_name}" +ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_name", ENV{ID_MODEL}="$attr{product_name}" ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_version", ENV{ID_MODEL}="$attr{product_version}" # fallback to board information ENV{ID_VENDOR}=="", ENV{ID_VENDOR}="$attr{board_vendor}" |