From dafa49014a9ae819e09ea43ca129d1f93afee734 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Mon, 31 Oct 2022 20:10:01 +0000 Subject: [PATCH] New upstream version 252 --- ...e.md => pull_request_template.md.disabled} | 0 .github/workflows/unit_tests.sh | 8 + LICENSES/MIT-0.txt | 7 + LICENSES/README.md | 3 +- NEWS | 64 +- TODO | 47 +- hwdb.d/20-OUI.hwdb | 197 +++++- hwdb.d/20-acpi-vendor.hwdb.patch | 4 +- hwdb.d/20-pci-vendor-model.hwdb | 224 ++++-- hwdb.d/80-ieee1394-unit-function.hwdb | 28 +- hwdb.d/ma-large.txt | 648 ++++++++++++------ hwdb.d/ma-medium.txt | 73 +- hwdb.d/ma-small.txt | 90 ++- hwdb.d/pci.ids | 84 ++- man/50-xdg-data-dirs.sh | 2 +- man/90-rearrange-path.py | 2 +- man/check-os-release-simple.py | 2 +- man/check-os-release.py | 2 +- man/check-os-release.sh | 2 +- man/event-quick-child.c | 2 +- man/fido2-crypttab.sh | 2 +- man/glib-event-glue.c | 2 +- man/halt.xml | 5 +- man/hwdb-usb-device.c | 2 +- man/id128-app-specific.c | 2 +- man/inotify-watch-tmp.c | 2 +- man/journal-enumerate-fields.c | 2 +- man/journal-iterate-foreach.c | 2 +- man/journal-iterate-poll.c | 2 +- man/journal-iterate-unique.c | 2 +- man/journal-iterate-wait.c | 2 +- man/journal-stream-fd.c | 2 +- man/journald.conf.xml | 25 +- man/path-documents.c | 2 +- man/print-unit-path.c | 2 +- man/sd-bus-container-append.c | 2 +- man/sd-bus-container-read.c | 2 +- man/sd_bus_error-example.c | 2 +- man/send-unit-files-changed.c | 2 +- man/systemd-dissect.xml | 4 +- man/systemd-stub.xml | 4 + man/systemd.exec.xml | 43 +- man/systemd.network.xml | 20 +- man/systemd.unit.xml | 1 + man/tpm2-crypttab.sh | 2 +- man/vtable-example.c | 2 +- man/yubikey-crypttab.sh | 2 +- network/80-6rd-tunnel.network | 4 +- network/80-container-host0.network | 4 +- network/80-container-vb.network | 4 +- network/80-container-ve.network | 4 +- network/80-container-vz.network | 4 +- network/80-ethernet.network.example | 4 +- network/80-vm-vt.network | 4 +- network/80-wifi-adhoc.network | 4 +- network/80-wifi-ap.network.example | 4 +- network/80-wifi-station.network.example | 4 +- network/99-default.link | 4 +- po/hr.po | 17 +- po/ka.po | 15 +- po/ru.po | 18 +- po/sv.po | 20 +- po/zh_CN.po | 17 +- rules.d/60-persistent-storage.rules | 10 +- src/analyze/analyze.c | 2 + src/basic/fd-util.c | 15 - src/basic/fd-util.h | 1 - src/boot/efi/cpio.c | 2 +- src/boot/efi/initrd.c | 2 +- src/boot/efi/linux.c | 2 +- src/boot/efi/secure-boot.c | 2 +- src/boot/measure.c | 279 ++++---- src/core/dbus-manager.c | 25 + src/core/system.conf.in | 2 +- src/coredump/coredumpctl.c | 2 + src/dissect/dissect.c | 2 +- src/libsystemd/sd-device/device-private.c | 28 +- src/libsystemd/sd-device/device-private.h | 2 - .../sd-device/test-sd-device-monitor.c | 10 - src/libsystemd/sd-device/test-sd-device.c | 2 +- src/network/networkd-dhcp-common.c | 3 +- src/network/networkd-radv.c | 2 +- src/network/networkd-route-util.c | 4 +- src/network/networkd-route.c | 2 +- src/network/networkd-routing-policy-rule.c | 2 +- src/network/wait-online/link.c | 13 +- src/resolve/resolved-varlink.c | 2 +- src/shared/btrfs-util.c | 12 + src/shared/btrfs-util.h | 1 + src/shared/install.c | 16 +- src/systemctl/systemd-sysv-install.SKELETON | 2 +- src/test/test-condition.c | 6 +- src/test/test-fs-util.c | 2 +- src/test/test-id128.c | 17 +- src/test/test-load-fragment.c | 6 +- src/test/test-math-util.c | 10 - src/test/test-specifier.c | 9 +- src/test/test-unit-name.c | 22 +- src/tmpfiles/tmpfiles.c | 4 +- src/udev/udev-builtin-net_id.c | 2 +- src/udev/udev-builtin-usb_id.c | 55 +- test/test-execute/exec-specifier.service | 1 - test/test-execute/exec-specifier@.service | 1 - ...ss.network => 12-dummy-no-address.network} | 5 +- ...v4-ipv6ra-prefix-client-with-delay.network | 10 - .../25-dhcp-server-with-ipv6-prefix.network | 20 - .../conf/25-ipv6-prefix-with-delay.network | 13 - test/test-network/systemd-networkd-tests.py | 150 ++-- test/test-systemd-tmpfiles.py | 2 +- test/udev-test.pl | 4 +- test/units/testsuite-17.02.sh | 124 ++-- test/units/testsuite-45.sh | 2 +- tmpfiles.d/systemd.conf.in | 2 +- tools/meson-vcs-tag.sh | 4 +- units/systemd-udev-trigger.service | 2 +- 115 files changed, 1812 insertions(+), 870 deletions(-) rename .github/{pull_request_template.md => pull_request_template.md.disabled} (100%) create mode 100644 LICENSES/MIT-0.txt rename test/test-network/conf/{25-ipv6ra-prefix-client-with-static-ipv4-address.network => 12-dummy-no-address.network} (54%) delete mode 100644 test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network delete mode 100644 test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network delete mode 100644 test/test-network/conf/25-ipv6-prefix-with-delay.network diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md.disabled similarity index 100% rename from .github/pull_request_template.md rename to .github/pull_request_template.md.disabled diff --git a/.github/workflows/unit_tests.sh b/.github/workflows/unit_tests.sh index affd1e935..9a9fbb36a 100755 --- a/.github/workflows/unit_tests.sh +++ b/.github/workflows/unit_tests.sh @@ -63,6 +63,11 @@ for phase in "${PHASES[@]}"; do else MESON_ARGS+=(-Dmode=release --optimization=2) fi + + # Some variation: remove machine-id, like on Debian builders to ensure unit tests still work. + if [ -w /etc/machine-id ]; then + mv /etc/machine-id /etc/machine-id.bak + fi fi # The install_tag feature introduced in 0.60 causes meson to fail with fatal-meson-warnings # "Project targeting '>= 0.53.2' but tried to use feature introduced in '0.60.0': install_tag arg in custom_target" @@ -113,6 +118,9 @@ for phase in "${PHASES[@]}"; do ;; CLEANUP) info "Cleanup phase" + if [ ! -f /etc/machine-id ] && [ -w /etc/machine-id.bak ]; then + mv /etc/machine-id.bak /etc/machine-id + fi ;; *) echo >&2 "Unknown phase '$phase'" diff --git a/LICENSES/MIT-0.txt b/LICENSES/MIT-0.txt new file mode 100644 index 000000000..396fc0020 --- /dev/null +++ b/LICENSES/MIT-0.txt @@ -0,0 +1,7 @@ +MIT No Attribution + +Copyright + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/LICENSES/README.md b/LICENSES/README.md index 69ef2d631..d235b319d 100644 --- a/LICENSES/README.md +++ b/LICENSES/README.md @@ -45,9 +45,10 @@ The following exceptions apply: * the following sources are licensed under the **CC0-1.0** license: - src/basic/siphash24.c - src/basic/siphash24.h - - src/systemctl/systemd-sysv-install.SKELETON - tools/check-includes.pl + * the following sources are licensed under the **MIT-0** license: - all examples under man/ + - src/systemctl/systemd-sysv-install.SKELETON - config files and examples under /network * the following sources are under **Public Domain** (LicenseRef-murmurhash2-public-domain): - src/basic/MurmurHash2.c diff --git a/NEWS b/NEWS index 0e0939ee8..86a993867 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ systemd System and Service Manager -CHANGES WITH 252 in spe: +CHANGES WITH 252 🎃: Announcements of Future Feature Removals: @@ -229,8 +229,14 @@ CHANGES WITH 252 in spe: * The sd-boot stub exports a StubFeatures flag, which is used by bootctl to show features supported by the stub that was used to boot. - * sd-boot will now try to detect and warn about overlapping PE sections - in the UKI. + * The PE section offsets that are used by tools that assemble unified + kernel images have historically been hard-coded. This may lead to + overlapping PE sections which may break on boot. The UKI will now try + to detect and warn about this. + + Any tools that assemble UKIs must update to calculate these offsets + dynamically. Future sd-stub versions may use offsets that will not + work with the currently used set of hard-coded offsets! * sd-stub now accepts (and passes to the initrd and then to the full OS) new PE sections '.pcrsig' and '.pcrkey' that can be used to embed @@ -269,6 +275,8 @@ CHANGES WITH 252 in spe: useful to avoid link flaps while the underlying service providing the interface is being serviced. + * RouteTable= now also accepts route table names. + Changes in systemd-nspawn: * The --bind= and --overlay= options now support relative paths. @@ -489,6 +497,8 @@ CHANGES WITH 252 in spe: * systemd-udev will now create infiniband/by-path and infiniband/by-ibdev links for Infiniband verbs devices. + * systemd-udev-trigger.service will now also prioritize input devices. + * ConditionACPower= and systemd-ac-power will now assume the system is running on AC power if no battery can be found. @@ -523,6 +533,12 @@ CHANGES WITH 252 in spe: * When using gcrypt, all systemd tools and services will now configure it to prefer the OS random number generator if present. + * All example code shipped with documentation has been relicensed from CC0 + to MIT-0. + + * Unit tests will no longer fail when running on a system without + /etc/machine-id. + Experimental features: * BPF programs can now be compiled with bpf-gcc (requires libbpf >= 1.0 @@ -542,8 +558,8 @@ CHANGES WITH 252 in spe: Contributions from: 김인수, Adam Williamson, adrian5, Aidan Dang, Akihiko Odaki, Alban Bedel, Albert Mikaelyan, Aleksey Vasenev, Alexander Graf, Alexander Shopov, Alexander Wilson, - Alper Nebi Yasak, anarcat, Andre Kalb, Andrew Stone, - Andrey Albershteyn, Anita Zhang, Ansgar Burchardt, + Alper Nebi Yasak, anarcat, Anders Jonsson, Andre Kalb, + Andrew Stone, Andrey Albershteyn, Anita Zhang, Ansgar Burchardt, Antonio Alvarez Feijoo, Arnaud Ferraris, Aryan singh, asavah, Avamander, Avram Lubkin, Balázs Meskó, Bastien Nocera, Benjamin Franzke, BerndAdameit, bin456789, Celeste Liu, @@ -563,30 +579,32 @@ CHANGES WITH 252 in spe: Jan Janssen, Jan Kuparinen, Jan Luebbe, Jan Macku, Jason A. Donenfeld, Javkhlanbayar Khongorzul, Jeremy Soller, JeroenHD, jiangchuangang, João Loureiro, - Joaquín Ignacio Aramendía, Johannes Schauer Marin Rodrigues, - Jonas Kümmerlin, Jonas Witschel, Jonathan Kang, Jonathan Lebon, - Joost Heitbrink, Jörg Thalheim, josh-gordon-fb, Joyce, Kai Lueke, - lastkrick, Lennart Poettering, Leon M. George, licunlong, Li kunyu, + Joaquín Ignacio Aramendía, Jochen Sprickerhof, + Johannes Schauer Marin Rodrigues, Jonas Kümmerlin, + Jonas Witschel, Jonathan Kang, Jonathan Lebon, Joost Heitbrink, + Jörg Thalheim, josh-gordon-fb, Joyce, Kai Lueke, lastkrick, + Lennart Poettering, Leon M. George, licunlong, Li kunyu, LockBlock-dev, Loïc Collignon, Lubomir Rintel, Luca Boccassi, Luca BRUNO, Ludwig Nussel, Łukasz Stelmach, Maccraft123, Marc Kleine-Budde, Marius Vollmer, Martin Wilck, matoro, Matthias Lisin, Max Gautier, Maxim Mikityanskiy, Michael Biebl, Michal Koutný, Michal Sekletár, Michal Stanke, Mike Gilbert, Mitchell Freiderich, msizanoen1, Nick Rosbrook, nl6720, Oğuz Ersen, - Oleg Solovyov, Pablo Ceballos, Pavel Zhukov, Phaedrus Leeds, - Philipp Gortan, Piotr Drąg, Pyfisch, Quentin Deslandes, - Rahil Bhimjiani, Rene Hollander, Richard Huang, Richard Phibel, - Rudi Heitbaum, Sam James, Sarah Brofeldt, Sean Anderson, - Sebastian Scheibner, Shreenidhi Shedi, Sonali Srivastava, - Steve Ramage, Suraj Krishnan, Swapnil Devesh, Ted X. Toth, - Thomas Blume, Thomas Haller, Thomas Hebb, Tomáš Hnyk, - Tomasz Paweł Gajc, Topi Miettinen, Ulrich Ölmann, undef, - Uriel Corfa, Victor Westerhuis, Vincent Dagonneau, - Vishal Chillara Srinivas, Vito Caputo, Weblate, Wenchao Hao, - William Roberts, williamsumendap, wineway, Yuri Chornoivan, - Yu Watanabe, Zbigniew Jędrzejewski-Szmek, Zhaofeng Li, наб - - – Under the Sea, 2022-10-07 + Oleg Solovyov, Olga Smirnova, Pablo Ceballos, Pavel Zhukov, + Phaedrus Leeds, Philipp Gortan, Piotr Drąg, Pyfisch, + Quentin Deslandes, Rahil Bhimjiani, Rene Hollander, Richard Huang, + Richard Phibel, Rudi Heitbaum, Sam James, Sarah Brofeldt, + Sean Anderson, Sebastian Scheibner, Shreenidhi Shedi, + Sonali Srivastava, Steve Ramage, Suraj Krishnan, Swapnil Devesh, + Takashi Sakamoto, Ted X. Toth, Temuri Doghonadze, Thomas Blume, + Thomas Haller, Thomas Hebb, Tomáš Hnyk, Tomasz Paweł Gajc, + Topi Miettinen, Ulrich Ölmann, undef, Uriel Corfa, + Victor Westerhuis, Vincent Dagonneau, Vishal Chillara Srinivas, + Vito Caputo, Weblate, Wenchao Hao, William Roberts, williamsumendap, + wineway, xiaoyang, Yuri Chornoivan, Yu Watanabe, + Zbigniew Jędrzejewski-Szmek, Zhaofeng Li, наб + + – The Great Beyond, 2022-10-31 👻 CHANGES WITH 251: diff --git a/TODO b/TODO index 5cfc68e07..560ec4bca 100644 --- a/TODO +++ b/TODO @@ -119,6 +119,45 @@ Deprecations and removals: Features: +* sd-stub: add ".bootcfg" section for kernel bootconfig data (as per + +* tpm2: add (optional) support for generating a local signing key from PCR 15 + state. use private key part to sign PCR 7+14 policies. stash signatures for + expected PCR7+14 policies in EFI var. use public key part in disk encryption. + generate new sigs whenever db/dbx/mok/mokx gets updated. that way we can + securely bind against SecureBoot/shim state, without having to renroll + everything on each update (but we still have to generate one sig on each + update, but that should be robust/idempotent). needs rollback protection, as + usual. + +* Lennart: big blog story about DDIs + +* Lennart: big blog story about building initrds + +* Lennart: big blog story about "why systemd-boot" + +* bpf: see if we can use BPF to solve the syslog message cgroup source problem: + one idea would be to patch source sockaddr of all AF_UNIX/SOCK_DGRAM to + implicitly contain the source cgroup id. Another idea would be to patch + sendto()/connect()/sendmsg() sockaddr on-the-fly to use a different target + sockaddr. + +* bpf: see if we can address opportunistic inode sharing of immutable fs images + with BPF. i.e. if bpf gives us power to hook into openat() and return a + different inode than is requested for which we however it has same contents + then we can use that to implement opportunistic inode sharing among DDIs: + make all DDIs ship xattr on all reg files with a SHA256 hash. Then, also + dictate that DDIs should come with a top-level subdir where all reg files are + linked into by their SHA256 sum. Then, whenever an inode is opened with the + xattr set, check bpf table to find dirs with hashes for other prior DDIs and + try to use inode from there. + +* dissect too: add --with switch that will invoke a command with the image + mounted, and as current working directory. Terminate once done. + +* extend the verity signature partition to permit multiple signatures for the + same root hash, so that people can sign a single image with multiple keys. + * consider adding a new partition type, just for /opt/ for usage in system extensions @@ -137,7 +176,7 @@ Features: these signatures into one object, and then include the result in the UKI. Then, if you bind a LUKS volume to public key X it really only can be unlocked during early boot, and you bind a LUKS volume to public key Y it - realy only can be unlocked during later boot, and so on. + really only can be unlocked during later boot, and so on. * dissection policy should enforce that unlocking can only take place by certain means, i.e. only via pw, only via tpm2, or only via fido, or a @@ -175,8 +214,10 @@ Features: software updates. But that's wrong. Recent fwupd (rightfully) contains code for updating the dbx denylist. This means even without any active policy change PCR 7 might change. Hence, better idea might be in systemd-creds to - default to PCR 15 at least of sd-stub is used (i.e. bind to system identity), - and in cryptsetup simply the empty list? + default to PCR 15 at least if sd-stub is used (i.e. bind to system identity), + and in cryptsetup simply the empty list? Also, PCR 14 almost certainly should + be included as much as PCR 7 (as it contains shim's policy, which is + certainly as relevant as PCR 7 on many systems) * move discoverable partition spec and boot loader spec over to uapi group diff --git a/hwdb.d/20-OUI.hwdb b/hwdb.d/20-OUI.hwdb index 8ff583933..d9f9058bb 100644 --- a/hwdb.d/20-OUI.hwdb +++ b/hwdb.d/20-OUI.hwdb @@ -39824,6 +39824,9 @@ OUI:042F56* OUI:043110* ID_OUI_FROM_DATABASE=Inspur Group Co., Ltd. +OUI:043201* + ID_OUI_FROM_DATABASE=Broadcom Limited + OUI:0432F4* ID_OUI_FROM_DATABASE=Partron @@ -40055,6 +40058,9 @@ OUI:046E02* OUI:046E49* ID_OUI_FROM_DATABASE=TaiYear Electronic Technology (Suzhou) Co., Ltd +OUI:047056* + ID_OUI_FROM_DATABASE=Arcadyan Corporation + OUI:0470BC* ID_OUI_FROM_DATABASE=Globalstar Inc. @@ -41261,6 +41267,9 @@ OUI:080342* OUI:080371* ID_OUI_FROM_DATABASE=KRG CORPORATE +OUI:0804B4* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:080581* ID_OUI_FROM_DATABASE=Roku, Inc. @@ -44279,6 +44288,9 @@ OUI:10BD18* OUI:10BD55* ID_OUI_FROM_DATABASE=Q-Lab Corporation +OUI:10BE99* + ID_OUI_FROM_DATABASE=Netberg + OUI:10BEF5* ID_OUI_FROM_DATABASE=D-Link International @@ -45143,6 +45155,9 @@ OUI:147DDA* OUI:147EA1* ID_OUI_FROM_DATABASE=Britania Eletrônicos S.A. +OUI:147F0F* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:14825B* ID_OUI_FROM_DATABASE=Hefei Radio Communication Technology Co., Ltd @@ -45506,6 +45521,9 @@ OUI:14DC51* OUI:14DCE2* ID_OUI_FROM_DATABASE=THALES AVS France +OUI:14DD02* + ID_OUI_FROM_DATABASE=Liangang Optoelectronic Technology CO., Ltd. + OUI:14DD9C* ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. @@ -50096,6 +50114,9 @@ OUI:2494CB* OUI:249504* ID_OUI_FROM_DATABASE=SFR +OUI:24952F* + ID_OUI_FROM_DATABASE=Google, Inc. + OUI:249745* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD @@ -51200,6 +51221,9 @@ OUI:28B448* OUI:28B4FB* ID_OUI_FROM_DATABASE=Sprocomm Technologies CO.,LTD. +OUI:28B5E8* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:28B77C0* ID_OUI_FROM_DATABASE=SHENZHEN EVIEW GPS TECHNOLOGY @@ -53762,6 +53786,9 @@ OUI:30AEA4* OUI:30AEF6* ID_OUI_FROM_DATABASE=Radio Mobile Access +OUI:30AF7E* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:30AFCE* ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. @@ -55505,6 +55532,9 @@ OUI:38384B* OUI:3838A6* ID_OUI_FROM_DATABASE=Arista Networks +OUI:38396C* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:383A210* ID_OUI_FROM_DATABASE=R3C Information(Shenzhen) Co.,Ltd. @@ -56462,6 +56492,9 @@ OUI:38FACA* OUI:38FB14* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +OUI:38FC34* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:38FC98* ID_OUI_FROM_DATABASE=Intel Corporate @@ -56771,6 +56804,9 @@ OUI:3C300C* OUI:3C306F* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +OUI:3C3174* + ID_OUI_FROM_DATABASE=Google, Inc. + OUI:3C3178* ID_OUI_FROM_DATABASE=Qolsys Inc. @@ -56852,6 +56888,9 @@ OUI:3C39E7F* OUI:3C3A73* ID_OUI_FROM_DATABASE=Avaya Inc +OUI:3C3B4D* + ID_OUI_FROM_DATABASE=Toyo Seisakusho Kaisha, Limited + OUI:3C3B99* ID_OUI_FROM_DATABASE=ITEL MOBILE LIMITED @@ -57602,6 +57641,9 @@ OUI:3CF5CC* OUI:3CF652* ID_OUI_FROM_DATABASE=zte corporation +OUI:3CF692* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:3CF72A* ID_OUI_FROM_DATABASE=Nokia Corporation @@ -58841,6 +58883,9 @@ OUI:40FE0D* OUI:40FE95* ID_OUI_FROM_DATABASE=New H3C Technologies Co., Ltd +OUI:40FF40* + ID_OUI_FROM_DATABASE=GloquadTech + OUI:440010* ID_OUI_FROM_DATABASE=Apple, Inc. @@ -59879,6 +59924,9 @@ OUI:44ED57* OUI:44EE02* ID_OUI_FROM_DATABASE=MTI Ltd. +OUI:44EE14* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:44EE30* ID_OUI_FROM_DATABASE=Budelmann Elektronik GmbH @@ -60117,7 +60165,7 @@ OUI:482952* ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS OUI:4829E4* - ID_OUI_FROM_DATABASE=AO NPK RoTeK + ID_OUI_FROM_DATABASE=AO OUI:482AE3* ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. @@ -60140,6 +60188,9 @@ OUI:482F6B* OUI:482FD7* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +OUI:4831DB* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:4833DD* ID_OUI_FROM_DATABASE=ZENNIO AVANCE Y TECNOLOGIA, S.L. @@ -61547,6 +61598,9 @@ OUI:4C83DE* OUI:4C875D* ID_OUI_FROM_DATABASE=Bose Corporation +OUI:4C889E* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:4C8B30* ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc @@ -62675,6 +62729,9 @@ OUI:506583* OUI:5065F3* ID_OUI_FROM_DATABASE=Hewlett Packard +OUI:5066E5* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:506787* ID_OUI_FROM_DATABASE=Planet Networks @@ -67250,6 +67307,9 @@ OUI:60C5E6* OUI:60C658* ID_OUI_FROM_DATABASE=PHYTRONIX Co.,Ltd. +OUI:60C727* + ID_OUI_FROM_DATABASE=Digiboard Eletronica da Amazonia Ltda + OUI:60C798* ID_OUI_FROM_DATABASE=Verifone @@ -67403,6 +67463,9 @@ OUI:60DE44* OUI:60DEF3* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +OUI:60DEF4* + ID_OUI_FROM_DATABASE=Shenzhen iComm Semiconductor CO.,LTD + OUI:60E00E* ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD @@ -68288,6 +68351,9 @@ OUI:64B0E8* OUI:64B21D* ID_OUI_FROM_DATABASE=Chengdu Phycom Tech Co., Ltd. +OUI:64B2B4* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD + OUI:64B310* ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd @@ -68966,6 +69032,9 @@ OUI:686350* OUI:686359* ID_OUI_FROM_DATABASE=Advanced Digital Broadcast SA +OUI:686372* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:68644B* ID_OUI_FROM_DATABASE=Apple, Inc. @@ -69242,6 +69311,9 @@ OUI:689861* OUI:6899CD* ID_OUI_FROM_DATABASE=Cisco Systems, Inc +OUI:689A21* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD + OUI:689A87* ID_OUI_FROM_DATABASE=Amazon Technologies Inc. @@ -71126,6 +71198,12 @@ OUI:705986* OUI:705A0F* ID_OUI_FROM_DATABASE=Hewlett Packard +OUI:705A6F0* + ID_OUI_FROM_DATABASE=Thyracont Vacuum Instruments GmbH + +OUI:705A6F1* + ID_OUI_FROM_DATABASE=BMR s.r.o. + OUI:705A9E* ID_OUI_FROM_DATABASE=Technicolor CH USA Inc. @@ -83828,6 +83906,9 @@ OUI:70B5E8* OUI:70B64F* ID_OUI_FROM_DATABASE=Guangzhou V-SOLUTION Electronic Technology Co., Ltd. +OUI:70B651* + ID_OUI_FROM_DATABASE=Eight Sleep + OUI:70B7AA* ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. @@ -86792,6 +86873,9 @@ OUI:7C160D* OUI:7C1689* ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS +OUI:7C1779* + ID_OUI_FROM_DATABASE=EM Microelectronic + OUI:7C18CD* ID_OUI_FROM_DATABASE=E-TRON Co.,Ltd. @@ -87662,6 +87746,9 @@ OUI:7CC6C4* OUI:7CC709* ID_OUI_FROM_DATABASE=SHENZHEN RF-LINK TECHNOLOGY CO.,LTD. +OUI:7CC74A* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD + OUI:7CC77E* ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD @@ -87821,6 +87908,9 @@ OUI:7CE152* OUI:7CE1FF* ID_OUI_FROM_DATABASE=Computer Performance, Inc. DBA Digital Loggers, Inc. +OUI:7CE269* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:7CE2CA* ID_OUI_FROM_DATABASE=Juniper Networks @@ -89978,6 +90068,9 @@ OUI:84D32A* OUI:84D343* ID_OUI_FROM_DATABASE=Calix Inc. +OUI:84D352* + ID_OUI_FROM_DATABASE=Tonly Technology Co. Ltd + OUI:84D3D5* ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. @@ -90701,6 +90794,9 @@ OUI:886B6E* OUI:886B76* ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD +OUI:886D2D* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:886EE1* ID_OUI_FROM_DATABASE=Erbe Elektromedizin GmbH @@ -91817,6 +91913,9 @@ OUI:8C1F641A7* OUI:8C1F641AF* ID_OUI_FROM_DATABASE=EnviroNode IoT Solutions +OUI:8C1F641B2* + ID_OUI_FROM_DATABASE=Rapid-e-Engineering Steffen Kramer + OUI:8C1F641B5* ID_OUI_FROM_DATABASE=Xicato @@ -92171,6 +92270,9 @@ OUI:8C1F643FE* OUI:8C1F643FF* ID_OUI_FROM_DATABASE=UISEE(SHANGHAI) AUTOMOTIVE TECHNOLOGIES LTD. +OUI:8C1F64402* + ID_OUI_FROM_DATABASE=Integer.pl S.A. + OUI:8C1F64406* ID_OUI_FROM_DATABASE=ANDA TELECOM PVT LTD @@ -92435,6 +92537,9 @@ OUI:8C1F645AE* OUI:8C1F645AF* ID_OUI_FROM_DATABASE=Teq Diligent Product Solutions Pvt. Ltd. +OUI:8C1F645B2* + ID_OUI_FROM_DATABASE=MIJ CO LTD + OUI:8C1F645B3* ID_OUI_FROM_DATABASE=eumig industrie-TV GmbH. @@ -92582,6 +92687,9 @@ OUI:8C1F64683* OUI:8C1F64685* ID_OUI_FROM_DATABASE=Sanchar Communication Systems +OUI:8C1F64691* + ID_OUI_FROM_DATABASE=Wende Tan + OUI:8C1F64692* ID_OUI_FROM_DATABASE=Nexilis Electronics India Pvt Ltd (PICSYS) @@ -92609,6 +92717,9 @@ OUI:8C1F646AD* OUI:8C1F646AE* ID_OUI_FROM_DATABASE=Bray International +OUI:8C1F646B1* + ID_OUI_FROM_DATABASE=Specialist Mechanical Engineers (PTY)LTD + OUI:8C1F646B3* ID_OUI_FROM_DATABASE=Feritech Ltd. @@ -92690,6 +92801,9 @@ OUI:8C1F6472C* OUI:8C1F64731* ID_OUI_FROM_DATABASE=ehoosys Co.,LTD. +OUI:8C1F64733* + ID_OUI_FROM_DATABASE=Video Network Security + OUI:8C1F64737* ID_OUI_FROM_DATABASE=Vytahy-Vymyslicky s.r.o. @@ -92999,6 +93113,9 @@ OUI:8C1F648EE* OUI:8C1F648F4* ID_OUI_FROM_DATABASE=Loadrite (Auckland) Limited +OUI:8C1F648F6* + ID_OUI_FROM_DATABASE=Idneo Technologies S.A.U. + OUI:8C1F648F8* ID_OUI_FROM_DATABASE=HIGHVOLT Prüftechnik @@ -93167,6 +93284,9 @@ OUI:8C1F649F4* OUI:8C1F649FA* ID_OUI_FROM_DATABASE=METRONA-Union GmbH +OUI:8C1F649FB* + ID_OUI_FROM_DATABASE=CI SYSTEMS ISRAEL LTD + OUI:8C1F649FD* ID_OUI_FROM_DATABASE=Vishay Nobel AB @@ -93242,6 +93362,9 @@ OUI:8C1F64A6D* OUI:8C1F64A76* ID_OUI_FROM_DATABASE=DEUTA-WERKE GmbH +OUI:8C1F64A83* + ID_OUI_FROM_DATABASE=EkspertStroyProekt + OUI:8C1F64A84* ID_OUI_FROM_DATABASE=Beijing Wenrise Technology Co., Ltd. @@ -93377,6 +93500,9 @@ OUI:8C1F64B56* OUI:8C1F64B64* ID_OUI_FROM_DATABASE=GSP Sprachtechnologie GmbH +OUI:8C1F64B65* + ID_OUI_FROM_DATABASE=HomyHub SL + OUI:8C1F64B67* ID_OUI_FROM_DATABASE=M2M craft Co., Ltd. @@ -93434,6 +93560,9 @@ OUI:8C1F64BC3* OUI:8C1F64BC6* ID_OUI_FROM_DATABASE=Chengdu ZiChen Time&Frequency Technology Co.,Ltd +OUI:8C1F64BC9* + ID_OUI_FROM_DATABASE=GL TECH CO.,LTD + OUI:8C1F64BCB* ID_OUI_FROM_DATABASE=A&T Corporation @@ -93716,6 +93845,9 @@ OUI:8C1F64D92* OUI:8C1F64D9A* ID_OUI_FROM_DATABASE=Beijing Redlink Information Technology Co., Ltd. +OUI:8C1F64DA6* + ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L. + OUI:8C1F64DAA* ID_OUI_FROM_DATABASE=Davetech Limited @@ -93740,6 +93872,9 @@ OUI:8C1F64DBD* OUI:8C1F64DC0* ID_OUI_FROM_DATABASE=Pigs Can Fly Labs LLC +OUI:8C1F64DC2* + ID_OUI_FROM_DATABASE=Procon Electronics Pty Ltd + OUI:8C1F64DC9* ID_OUI_FROM_DATABASE=Peter Huber Kaeltemaschinenbau AG @@ -95984,6 +96119,9 @@ OUI:90CD1F* OUI:90CDB6* ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. +OUI:90CEB8* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:90CF15* ID_OUI_FROM_DATABASE=Nokia Corporation @@ -96969,7 +97107,7 @@ OUI:94C9B78* ID_OUI_FROM_DATABASE=OSOM Products Inc OUI:94C9B79* - ID_OUI_FROM_DATABASE=Private + ID_OUI_FROM_DATABASE=Titanium union(shenzhen)technology co.,ltd OUI:94C9B7A* ID_OUI_FROM_DATABASE=ShenZhen Beide Technology Co.,LTD @@ -100661,6 +100799,9 @@ OUI:A0BF50* OUI:A0BFA5* ID_OUI_FROM_DATABASE=CORESYS +OUI:A0C20D* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:A0C2DE* ID_OUI_FROM_DATABASE=Costar Video Systems @@ -104246,6 +104387,9 @@ OUI:ACF97E* OUI:ACFAA5* ID_OUI_FROM_DATABASE=digitron +OUI:ACFC82* + ID_OUI_FROM_DATABASE=Shenzhen Sundray Technologies Company Limited + OUI:ACFD93* ID_OUI_FROM_DATABASE=WEIFANG GOERTEK ELECTRONICS CO.,LTD @@ -106046,6 +106190,9 @@ OUI:B4AB2C* OUI:B4AC8C* ID_OUI_FROM_DATABASE=Bern University of Applied Sciences +OUI:B4AC9D* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:B4ADA3* ID_OUI_FROM_DATABASE=Guangzhou Shiyuan Electronic Technology Company Limited @@ -106877,6 +107024,9 @@ OUI:B89470* OUI:B894D2* ID_OUI_FROM_DATABASE=Retail Innovation HTT AB +OUI:B894D9* + ID_OUI_FROM_DATABASE=Texas Instruments + OUI:B894E7* ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd @@ -110345,9 +110495,21 @@ OUI:C4A366* OUI:C4A402* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +OUI:C4A5590* + ID_OUI_FROM_DATABASE=Archermind Japan Co.,Ltd. + OUI:C4A5591* ID_OUI_FROM_DATABASE=Motive Technologies, Inc. +OUI:C4A5592* + ID_OUI_FROM_DATABASE=SHENZHEN ORFA TECH CO., LTD + +OUI:C4A5593* + ID_OUI_FROM_DATABASE=X-speed lnformation Technology Co.,Ltd + +OUI:C4A5594* + ID_OUI_FROM_DATABASE=Private + OUI:C4A5595* ID_OUI_FROM_DATABASE=Moultrie Mobile @@ -110375,6 +110537,9 @@ OUI:C4A559C* OUI:C4A559D* ID_OUI_FROM_DATABASE=MINOLTA SECURITY +OUI:C4A559E* + ID_OUI_FROM_DATABASE=SERNET (SUZHOU) TECHNOLOGIES CORPORATION + OUI:C4A72B* ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD @@ -113861,6 +114026,9 @@ OUI:D0A5A6* OUI:D0A637* ID_OUI_FROM_DATABASE=Apple, Inc. +OUI:D0A9D3* + ID_OUI_FROM_DATABASE=EM Microelectronic + OUI:D0ABD5* ID_OUI_FROM_DATABASE=Intel Corporate @@ -114236,6 +114404,9 @@ OUI:D4024A* OUI:D404CD* ID_OUI_FROM_DATABASE=ARRIS Group, Inc. +OUI:D404E6* + ID_OUI_FROM_DATABASE=Broadcom Limited + OUI:D404FF* ID_OUI_FROM_DATABASE=Juniper Networks @@ -114512,6 +114683,9 @@ OUI:D43D7E* OUI:D43DF3* ID_OUI_FROM_DATABASE=Zyxel Communications Corporation +OUI:D43F32* + ID_OUI_FROM_DATABASE=eero inc. + OUI:D43FCB* ID_OUI_FROM_DATABASE=ARRIS Group, Inc. @@ -115628,6 +115802,9 @@ OUI:D8337F* OUI:D833B7* ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS +OUI:D8341C* + ID_OUI_FROM_DATABASE=GD Midea Air-Conditioning Equipment Co.,Ltd. + OUI:D834D1* ID_OUI_FROM_DATABASE=Shenzhen Orange Digital Technology Co.,Ltd @@ -116124,7 +116301,7 @@ OUI:D8AF3B* ID_OUI_FROM_DATABASE=Hangzhou Bigbright Integrated communications system Co.,Ltd OUI:D8AF81* - ID_OUI_FROM_DATABASE=AO NPK RoTeK + ID_OUI_FROM_DATABASE=AO OUI:D8AFF1* ID_OUI_FROM_DATABASE=Panasonic Appliances Company @@ -116972,6 +117149,9 @@ OUI:DC74A8* OUI:DC774C* ID_OUI_FROM_DATABASE=Cisco Systems, Inc +OUI:DC7794* + ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd. + OUI:DC7834* ID_OUI_FROM_DATABASE=LOGICOM SA @@ -117086,6 +117266,9 @@ OUI:DCA120* OUI:DCA266* ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. +OUI:DCA313* + ID_OUI_FROM_DATABASE=Shenzhen Changjin Communication Technology Co.,Ltd + OUI:DCA333* ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd @@ -117342,7 +117525,7 @@ OUI:DCE2AC* ID_OUI_FROM_DATABASE=Lumens Digital Optics Inc. OUI:DCE305* - ID_OUI_FROM_DATABASE=AO NPK RoTeK + ID_OUI_FROM_DATABASE=AO OUI:DCE5330* ID_OUI_FROM_DATABASE=FLYHT Aerospace @@ -118700,6 +118883,9 @@ OUI:E41F7B* OUI:E41FE9* ID_OUI_FROM_DATABASE=Dunkermotoren GmbH +OUI:E42150* + ID_OUI_FROM_DATABASE=Shanghai Chint low voltage electrical technology Co.,Ltd. + OUI:E422A5* ID_OUI_FROM_DATABASE=PLANTRONICS, INC. @@ -124232,6 +124418,9 @@ OUI:F83376* OUI:F83441* ID_OUI_FROM_DATABASE=Intel Corporate +OUI:F83451* + ID_OUI_FROM_DATABASE=Comcast-SRL + OUI:F8345A* ID_OUI_FROM_DATABASE=Hitron Technologies. Inc diff --git a/hwdb.d/20-acpi-vendor.hwdb.patch b/hwdb.d/20-acpi-vendor.hwdb.patch index 30cc02453..20e4756c0 100644 --- a/hwdb.d/20-acpi-vendor.hwdb.patch +++ b/hwdb.d/20-acpi-vendor.hwdb.patch @@ -1,5 +1,5 @@ ---- 20-acpi-vendor.hwdb.base 2022-10-24 20:18:18.479120318 +0100 -+++ 20-acpi-vendor.hwdb 2022-10-24 20:21:56.647726523 +0100 +--- 20-acpi-vendor.hwdb.base 2022-10-31 11:15:33.457268398 +0000 ++++ 20-acpi-vendor.hwdb 2022-10-31 11:15:33.461268485 +0000 @@ -3,6 +3,8 @@ # Data imported from: # https://uefi.org/uefi-pnp-export diff --git a/hwdb.d/20-pci-vendor-model.hwdb b/hwdb.d/20-pci-vendor-model.hwdb index 8606c5671..9f6eca731 100644 --- a/hwdb.d/20-pci-vendor-model.hwdb +++ b/hwdb.d/20-pci-vendor-model.hwdb @@ -233,6 +233,9 @@ pci:v00000731d00009100sv00000731sd00009101* pci:v00000731d00009100sv00000731sd00009102* ID_MODEL_FROM_DATABASE=JM9100 (-I) +pci:v00000731d00009100sv00000731sd00009103* + ID_MODEL_FROM_DATABASE=JM9100 (M) + pci:v00000731d0000910A* ID_MODEL_FROM_DATABASE=JH910 @@ -14522,6 +14525,9 @@ pci:v00001022d000014B9* pci:v00001022d000014BA* ID_MODEL_FROM_DATABASE=Family 17h-19h PCIe GPP Bridge +pci:v00001022d000014CD* + ID_MODEL_FROM_DATABASE=Family 19h USB4/Thunderbolt PCIe tunnel + pci:v00001022d00001510* ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex @@ -14810,6 +14816,12 @@ pci:v00001022d000015D4* pci:v00001022d000015D5* ID_MODEL_FROM_DATABASE=FireFlight USB 3.1 +pci:v00001022d000015D6* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #5 + +pci:v00001022d000015D7* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #6 + pci:v00001022d000015DA* ID_MODEL_FROM_DATABASE=Raven/Raven2 PCIe Dummy Host Bridge @@ -15026,6 +15038,24 @@ pci:v00001022d0000160E* pci:v00001022d0000160F* ID_MODEL_FROM_DATABASE=Arden Device 18h: Function 7 +pci:v00001022d0000161A* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #1 + +pci:v00001022d0000161B* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #2 + +pci:v00001022d0000161C* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #7 + +pci:v00001022d0000161D* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #3 + +pci:v00001022d0000161E* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #4 + +pci:v00001022d0000161F* + ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #8 + pci:v00001022d00001620* ID_MODEL_FROM_DATABASE=Anubis HT Configuration @@ -15206,6 +15236,30 @@ pci:v00001022d00001670* pci:v00001022d00001671* ID_MODEL_FROM_DATABASE=Cezanne Data Fabric; Function 7 +pci:v00001022d00001679* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 0 + +pci:v00001022d0000167A* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 1 + +pci:v00001022d0000167B* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 2 + +pci:v00001022d0000167C* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 3 + +pci:v00001022d0000167D* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 4 + +pci:v00001022d0000167E* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 5 + +pci:v00001022d0000167F* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 6 + +pci:v00001022d00001680* + ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 7 + pci:v00001022d00001700* ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 0 @@ -33975,7 +34029,7 @@ pci:v000010DEd00000FE7sv000010DEsd0000101E* ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] (GRID K100) pci:v000010DEd00000FE8* - ID_MODEL_FROM_DATABASE=GK107M + ID_MODEL_FROM_DATABASE=GK107M [N14P-GS] pci:v000010DEd00000FE9* ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M Mac Edition] @@ -35528,6 +35582,9 @@ pci:v000010DEd000011A3sv0000106Bsd0000010D* pci:v000010DEd000011A7* ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX] +pci:v000010DEd000011A8* + ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K5100M] + pci:v000010DEd000011A9* ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 870M] @@ -36728,6 +36785,9 @@ pci:v000010DEd00001DF6* pci:v000010DEd00001E02* ID_MODEL_FROM_DATABASE=TU102 [TITAN RTX] +pci:v000010DEd00001E03* + ID_MODEL_FROM_DATABASE=TU102 [GeForce RTX 2080 Ti 12GB] + pci:v000010DEd00001E04* ID_MODEL_FROM_DATABASE=TU102 [GeForce RTX 2080 Ti] @@ -36998,6 +37058,9 @@ pci:v000010DEd00001FB2* pci:v000010DEd00001FB6* ID_MODEL_FROM_DATABASE=TU117GLM [T600 Laptop GPU] +pci:v000010DEd00001FB6sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=TU117GLM [T600 Laptop GPU] (Precision 3571) + pci:v000010DEd00001FB7* ID_MODEL_FROM_DATABASE=TU117GLM [T550 Laptop GPU] @@ -37085,11 +37148,14 @@ pci:v000010DEd000020F1* pci:v000010DEd000020F2* ID_MODEL_FROM_DATABASE=GA100 [A100-PG506-217] +pci:v000010DEd000020F3* + ID_MODEL_FROM_DATABASE=GA100 [A800-SXM4-80GB] + pci:v000010DEd000020F5* - ID_MODEL_FROM_DATABASE=GA100 [A800-80] + ID_MODEL_FROM_DATABASE=GA100 [A800 80GB PCIe] pci:v000010DEd000020F6* - ID_MODEL_FROM_DATABASE=GA100 [A800-40] + ID_MODEL_FROM_DATABASE=GA100 [A800 40GB PCIe] pci:v000010DEd00002182* ID_MODEL_FROM_DATABASE=TU116 [GeForce GTX 1660 Ti] @@ -38195,6 +38261,9 @@ pci:v000010ECd0000525Asv00001028sd000006E6* pci:v000010ECd0000525Asv00001028sd000009BE* ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (Latitude 7410) +pci:v000010ECd0000525Asv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (Precision 3571) + pci:v000010ECd0000525Asv000017AAsd0000224F* ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (ThinkPad X1 Carbon 5th Gen) @@ -44741,6 +44810,9 @@ pci:v00001179d00000115* pci:v00001179d00000116* ID_MODEL_FROM_DATABASE=XG5 NVMe SSD Controller +pci:v00001179d00000116sv00001179sd00000001* + ID_MODEL_FROM_DATABASE=XG5 NVMe SSD Controller + pci:v00001179d0000011A* ID_MODEL_FROM_DATABASE=XG6 NVMe SSD Controller @@ -71441,6 +71513,9 @@ pci:v00001D0Fd0000EFA0* pci:v00001D0Fd0000EFA1* ID_MODEL_FROM_DATABASE=Elastic Fabric Adapter (EFA) +pci:v00001D0Fd0000EFA2* + ID_MODEL_FROM_DATABASE=Elastic Fabric Adapter (EFA) + pci:v00001D17* ID_VENDOR_FROM_DATABASE=Zhaoxin @@ -71894,6 +71969,9 @@ pci:v00001D6Cd00001021* pci:v00001D6Cd00001022* ID_MODEL_FROM_DATABASE=AR-ARKA-FX2 [Arkville 128B DPDK Data Mover for Agilex] +pci:v00001D6Cd00001023* + ID_MODEL_FROM_DATABASE=AR-BD-FX1 [BufferDirect Zero-Bounce Data Motion Endpoint] + pci:v00001D6Cd00004200* ID_MODEL_FROM_DATABASE=A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument] @@ -73574,6 +73652,12 @@ pci:v00001EE1* pci:v00001EE1d00000050* ID_MODEL_FROM_DATABASE=Aurora NVMe SSD Controller +pci:v00001EE1d00000050sv00001EE1sd00000009* + ID_MODEL_FROM_DATABASE=Aurora NVMe SSD Controller (Airglow A430 NVMe SSD U.2 1.6TB) + +pci:v00001EE1d00000050sv00001EE1sd0000000A* + ID_MODEL_FROM_DATABASE=Aurora NVMe SSD Controller (Airglow A430 NVMe SSD U.2 3.2TB) + pci:v00001EE4* ID_VENDOR_FROM_DATABASE=PETAIO INC @@ -73668,115 +73752,115 @@ pci:v00001F3F* ID_VENDOR_FROM_DATABASE=3SNIC Ltd pci:v00001F3Fd00002100* - ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA + ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA pci:v00001F3Fd00002100sv00001F3Fsd00000120* - ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 32 Ports) + ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 32 Ports) pci:v00001F3Fd00002100sv00001F3Fsd00000125* - ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 40 Ports) + ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 40 Ports) pci:v00001F3Fd00002100sv00001F3Fsd00000180* - ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 16 Ports) + ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 16 Ports) pci:v00001F3Fd00002100sv00001F3Fsd00000185* - ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 8 Ports) + ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 8 Ports) pci:v00001F3Fd00002200* - ID_MODEL_FROM_DATABASE=3SRAID RAID controller + ID_MODEL_FROM_DATABASE=SSSRAID RAID controller pci:v00001F3Fd00002200sv00001F3Fsd00000185* - ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 16 Ports with 2G Cache) + ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 16 Ports with 2G Cache) pci:v00001F3Fd00002200sv00001F3Fsd000001A1* - ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 40 Ports with 2G Cache) + ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 40 Ports with 2G Cache) pci:v00001F3Fd00002200sv00001F3Fsd000001A4* - ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 16 Ports with 4G Cache) + ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 16 Ports with 4G Cache) pci:v00001F3Fd00002200sv00001F3Fsd000001A8* - ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 32 Ports with 4G Cache) + ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 32 Ports with 4G Cache) pci:v00001F3Fd00002200sv00001F3Fsd000001AD* - ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 40 Ports with 4G Cache) + ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 40 Ports with 4G Cache) pci:v00001F3Fd00009001* - ID_MODEL_FROM_DATABASE=Ethernet VF + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF pci:v00001F3Fd00009001sv00001F3Fsd00001000* - ID_MODEL_FROM_DATABASE=Ethernet VF + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF (Ethernet VF) pci:v00001F3Fd00009002* - ID_MODEL_FROM_DATABASE=Ethernet VF Hyper-V + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF Hyper-V pci:v00001F3Fd00009002sv00001F3Fsd00001000* - ID_MODEL_FROM_DATABASE=Ethernet VF Hyper-V + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF Hyper-V (Ethernet VF Hyper-V) pci:v00001F3Fd00009003* - ID_MODEL_FROM_DATABASE=Ethernet SDI VF + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF pci:v00001F3Fd00009003sv00001F3Fsd00001000* - ID_MODEL_FROM_DATABASE=Ethernet SDI VF + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF (Ethernet SDI VF) pci:v00001F3Fd00009004* - ID_MODEL_FROM_DATABASE=Ethernet SDI VF Hyper-V + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF Hyper-V pci:v00001F3Fd00009004sv00001F3Fsd00001000* - ID_MODEL_FROM_DATABASE=Ethernet SDI VF Hyper-V + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF Hyper-V (Ethernet SDI VF Hyper-V) pci:v00001F3Fd00009008* - ID_MODEL_FROM_DATABASE=3SFC VF + ID_MODEL_FROM_DATABASE=SSSFC VF pci:v00001F3Fd00009008sv00001F3Fsd00001000* - ID_MODEL_FROM_DATABASE=3SFC VF + ID_MODEL_FROM_DATABASE=SSSFC VF (3SFC VF) pci:v00001F3Fd00009009* - ID_MODEL_FROM_DATABASE=3SFC VF Hyper-V + ID_MODEL_FROM_DATABASE=SSSFC VF Hyper-V pci:v00001F3Fd00009009sv00001F3Fsd00001000* - ID_MODEL_FROM_DATABASE=3SFC VF Hyper-V + ID_MODEL_FROM_DATABASE=SSSFC VF Hyper-V (3SFC VF Hyper-V) pci:v00001F3Fd00009010* - ID_MODEL_FROM_DATABASE=3SFC FC Controller + ID_MODEL_FROM_DATABASE=SSSFC FC Controller pci:v00001F3Fd00009010sv00001F3Fsd00000041* - ID_MODEL_FROM_DATABASE=3SFC FC Controller (Dual Port 16GE FC to PCIe Gen4 x16 Adapter) + ID_MODEL_FROM_DATABASE=SSSFC FC Controller (Dual Port 16GE FC to PCIe Gen4 x16 Adapter) pci:v00001F3Fd00009010sv00001F3Fsd00000061* - ID_MODEL_FROM_DATABASE=3SFC FC Controller (Dual Port 32GE FC to PCIe Gen4 x16 Adapter) + ID_MODEL_FROM_DATABASE=SSSFC FC Controller (Dual Port 32GE FC to PCIe Gen4 x16 Adapter) pci:v00001F3Fd00009020* - ID_MODEL_FROM_DATABASE=Ethernet Network Adapter + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter pci:v00001F3Fd00009020sv00001F3Fsd00000051* - ID_MODEL_FROM_DATABASE=Ethernet Network Adapter (Dual Port 25GE Ethernet Network Adapter) + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter (Dual Port 25GE Ethernet Network Adapter) pci:v00001F3Fd00009020sv00001F3Fsd00000052* - ID_MODEL_FROM_DATABASE=Ethernet Network Adapter (Quad Port 25GE Ethernet Network Adapter) + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter (Quad Port 25GE Ethernet Network Adapter) pci:v00001F3Fd00009020sv00001F3Fsd000000A1* - ID_MODEL_FROM_DATABASE=Ethernet Network Adapter (Dual Port 100GE Ethernet Network Adapter) + ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter (Dual Port 100GE Ethernet Network Adapter) pci:v00001F3Fd00009030* - ID_MODEL_FROM_DATABASE=IPU + ID_MODEL_FROM_DATABASE=SSSNIC IPU pci:v00001F3Fd00009030sv00001F3Fsd00000051* - ID_MODEL_FROM_DATABASE=IPU (Dual Port 25GE IPU) + ID_MODEL_FROM_DATABASE=SSSNIC IPU (Dual Port 25GE IPU) pci:v00001F3Fd00009031* - ID_MODEL_FROM_DATABASE=SDI5.0 + ID_MODEL_FROM_DATABASE=SSSNIC SDI5.0 pci:v00001F3Fd00009031sv00001F3Fsd00000051* - ID_MODEL_FROM_DATABASE=SDI5.0 (Dual Port 25GE SDI5.0lite) + ID_MODEL_FROM_DATABASE=SSSNIC SDI5.0 (Dual Port 25GE SDI5.0lite) pci:v00001F3Fd00009031sv00001F3Fsd000000A1* - ID_MODEL_FROM_DATABASE=SDI5.0 (Dual Port 100GE SDI5.0) + ID_MODEL_FROM_DATABASE=SSSNIC SDI5.0 (Dual Port 100GE SDI5.0) pci:v00001F3Fd00009032* - ID_MODEL_FROM_DATABASE=SDI5.1 + ID_MODEL_FROM_DATABASE=SSSNIC SDI5.1 pci:v00001F3Fd00009032sv00001F3Fsd000000A1* - ID_MODEL_FROM_DATABASE=SDI5.1 (Dual Port 100GE SDI5.1) + ID_MODEL_FROM_DATABASE=SSSNIC SDI5.1 (Dual Port 100GE SDI5.1) pci:v00001F40* ID_VENDOR_FROM_DATABASE=Netac Technology Co.,Ltd @@ -83642,6 +83726,9 @@ pci:v00008086d00001A1D* pci:v00008086d00001A1E* ID_MODEL_FROM_DATABASE=Ethernet Connection (16) I219-LM +pci:v00008086d00001A1Esv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Ethernet Connection (16) I219-LM (Precision 3571) + pci:v00008086d00001A1F* ID_MODEL_FROM_DATABASE=Ethernet Connection (16) I219-V @@ -96263,9 +96350,15 @@ pci:v00008086d0000460D* pci:v00008086d0000461D* ID_MODEL_FROM_DATABASE=Alder Lake Innovation Platform Framework Processor Participant +pci:v00008086d0000461Dsv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake Innovation Platform Framework Processor Participant (Precision 3571) + pci:v00008086d0000461E* ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 USB Controller +pci:v00008086d0000461Esv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 USB Controller (Precision 3571) + pci:v00008086d0000461F* ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 PCI Express Root Port #3 @@ -96299,18 +96392,27 @@ pci:v00008086d0000463D* pci:v00008086d0000463E* ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 NHI #0 +pci:v00008086d0000463Esv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 NHI #0 (Precision 3571) + pci:v00008086d0000463F* ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 PCI Express Root Port #1 pci:v00008086d00004641* ID_MODEL_FROM_DATABASE=12th Gen Core Processor Host Bridge/DRAM Registers +pci:v00008086d00004641sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=12th Gen Core Processor Host Bridge/DRAM Registers (Precision 3571) + pci:v00008086d0000464D* ID_MODEL_FROM_DATABASE=12th Gen Core Processor PCI Express x4 Controller #0 pci:v00008086d0000464F* ID_MODEL_FROM_DATABASE=12th Gen Core Processor Gaussian & Neural Accelerator +pci:v00008086d0000464Fsv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=12th Gen Core Processor Gaussian & Neural Accelerator (Precision 3571) + pci:v00008086d00004660* ID_MODEL_FROM_DATABASE=12th Gen Core Processor Host Bridge/DRAM Registers @@ -96623,18 +96725,30 @@ pci:v00008086d00005181* pci:v00008086d00005182* ID_MODEL_FROM_DATABASE=Alder Lake PCH eSPI Controller +pci:v00008086d00005182sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH eSPI Controller (Precision 3571) + pci:v00008086d000051A3* ID_MODEL_FROM_DATABASE=Alder Lake PCH-P SMBus Host Controller +pci:v00008086d000051A3sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH-P SMBus Host Controller (Precision 3571) + pci:v00008086d000051A4* ID_MODEL_FROM_DATABASE=Alder Lake-P PCH SPI Controller +pci:v00008086d000051A4sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake-P PCH SPI Controller (Precision 3571) + pci:v00008086d000051A8* ID_MODEL_FROM_DATABASE=Alder Lake PCH UART #0 pci:v00008086d000051A9* ID_MODEL_FROM_DATABASE=Alder Lake PCH UART #1 +pci:v00008086d000051B1* + ID_MODEL_FROM_DATABASE=Alder Lake PCI Express x1 Root Port #10 + pci:v00008086d000051BF* ID_MODEL_FROM_DATABASE=Alder Lake PCH-P PCI Express Root Port #9 @@ -96647,9 +96761,15 @@ pci:v00008086d000051C6* pci:v00008086d000051C8* ID_MODEL_FROM_DATABASE=Alder Lake PCH-P High Definition Audio Controller +pci:v00008086d000051C8sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH-P High Definition Audio Controller (Precision 3571) + pci:v00008086d000051D3* ID_MODEL_FROM_DATABASE=Alder Lake-P SATA AHCI Controller +pci:v00008086d000051D3sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake-P SATA AHCI Controller (Precision 3571) + pci:v00008086d000051D8* ID_MODEL_FROM_DATABASE=Alder Lake-P Serial IO I2C Controller #2 @@ -96659,12 +96779,27 @@ pci:v00008086d000051D9* pci:v00008086d000051E0* ID_MODEL_FROM_DATABASE=Alder Lake PCH HECI Controller +pci:v00008086d000051E0sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH HECI Controller (Precision 3571) + +pci:v00008086d000051E3* + ID_MODEL_FROM_DATABASE=Alder Lake AMT SOL Redirection + +pci:v00008086d000051E3sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake AMT SOL Redirection (Precision 3571) + pci:v00008086d000051E8* ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #0 +pci:v00008086d000051E8sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #0 (Precision 3571) + pci:v00008086d000051E9* ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #1 +pci:v00008086d000051E9sv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #1 (Precision 3571) + pci:v00008086d000051EA* ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #2 @@ -96674,9 +96809,15 @@ pci:v00008086d000051EB* pci:v00008086d000051ED* ID_MODEL_FROM_DATABASE=Alder Lake PCH USB 3.2 xHCI Host Controller +pci:v00008086d000051EDsv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH USB 3.2 xHCI Host Controller (Precision 3571) + pci:v00008086d000051EF* ID_MODEL_FROM_DATABASE=Alder Lake PCH Shared SRAM +pci:v00008086d000051EFsv00001028sd00000B10* + ID_MODEL_FROM_DATABASE=Alder Lake PCH Shared SRAM (Precision 3571) + pci:v00008086d000051F0* ID_MODEL_FROM_DATABASE=Alder Lake-P PCH CNVi WiFi @@ -96692,6 +96833,9 @@ pci:v00008086d000051F0sv00008086sd00000074* pci:v00008086d000051F0sv00008086sd00004070* ID_MODEL_FROM_DATABASE=Alder Lake-P PCH CNVi WiFi (Wi-Fi 6 AX201 160MHz) +pci:v00008086d000051F0sv00008086sd00004090* + ID_MODEL_FROM_DATABASE=Alder Lake-P PCH CNVi WiFi (Wi-Fi 6E AX211 160MHz) + pci:v00008086d00005200* ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server PCI Bridge diff --git a/hwdb.d/80-ieee1394-unit-function.hwdb b/hwdb.d/80-ieee1394-unit-function.hwdb index a2484ab38..6fa132917 100644 --- a/hwdb.d/80-ieee1394-unit-function.hwdb +++ b/hwdb.d/80-ieee1394-unit-function.hwdb @@ -42,11 +42,16 @@ # * Configuration ROM for AV/C Devices 1.0 (Dec. 12, 2000, 1394 Trading Association, TA Document # 1999027) # +# Exceptional layout of configuration ROM for legacy device is described in annex of the above +# document. The layout has some entries for model information in vendor directory instead of root +# or unit directories. For the case, Linux FireWire subsystem don't detect Model_ID and model name, +# thus node key without 'mo' field is detected. Wild card pattern is used to match the case with and +# without mo field in customized key for node device. # Just for backward compatibility. Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries # if it is inconvenient. -ieee1394:node:ven*mo*units*0x00a02d:0x010001* -ieee1394:ven*mo*sp0000A02Dver00010001 +ieee1394:node:ven*units*0x00a02d:0x010001* +ieee1394:ven*sp0000A02Dver00010001 IEEE1394_UNIT_FUNCTION_VIDEO=1 # @@ -55,14 +60,14 @@ ieee1394:ven*mo*sp0000A02Dver00010001 # # Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries if it is inconvenient. -ieee1394:node:ven*mo*units*0x00a02d:0x014000* -ieee1394:ven*mo*sp0000A02Dver00014000 +ieee1394:node:ven*units*0x00a02d:0x014000* +ieee1394:ven*sp0000A02Dver00014000 IEEE1394_UNIT_FUNCTION_VIDEO=1 # Just for backward compatibility. Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries # if it is inconvenient. -ieee1394:node:ven*mo*units*0x00a02d:0x014001* -ieee1394:ven*mo*sp0000A02Dver00014001 +ieee1394:node:ven*units*0x00a02d:0x014001* +ieee1394:ven*sp0000A02Dver00014001 IEEE1394_UNIT_FUNCTION_VIDEO=1 # @@ -1303,6 +1308,17 @@ ieee1394:ven00001287mo00000036sp0000A02Dver00010001 ID_MODEL_FROM_DATABASE=FireDTV C/CI IEEE1394_UNIT_FUNCTION_VIDEO=1 +# +# Legacy layout of configuration ROM described in Annex 1 of 'Configuration ROM for AV/C Devices +# 1.0 (December 12, 2000, 1394 Trading Association, TA Document 1999027)'. +# + +ieee1394:node:ven0x080046units0x00a02d:0x010001 +ieee1394:ven00080046mo00000000sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Sony Corporation + ID_MODEL_FROM_DATABASE=DCR-TRV310 + IEEE1394_UNIT_FUNCTION_VIDEO=1 + # # Node with multiple units for several functions. # diff --git a/hwdb.d/ma-large.txt b/hwdb.d/ma-large.txt index 44c272ea0..ea866d153 100644 --- a/hwdb.d/ma-large.txt +++ b/hwdb.d/ma-large.txt @@ -39455,18 +39455,6 @@ D46352 (base 16) Vutility Inc. Sandy UT 84070 US -94-0E-E7 (hex) HUAWEI TECHNOLOGIES CO.,LTD -940EE7 (base 16) HUAWEI TECHNOLOGIES CO.,LTD - No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park - Dongguan 523808 - CN - -A8-B2-71 (hex) HUAWEI TECHNOLOGIES CO.,LTD -A8B271 (base 16) HUAWEI TECHNOLOGIES CO.,LTD - No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park - Dongguan 523808 - CN - 50-5A-65 (hex) AzureWave Technology Inc. 505A65 (base 16) AzureWave Technology Inc. 8F., No. 94, Baozhong Rd., Xindian Dist. @@ -39485,18 +39473,6 @@ C4A559 (base 16) IEEE Registration Authority Piscataway NJ 08554 US -64-05-E4 (hex) ALPSALPINE CO,.LTD -6405E4 (base 16) ALPSALPINE CO,.LTD - nishida 6-1 - kakuda-City Miyagi-Pref 981-1595 - JP - -BC-64-D9 (hex) GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD -BC64D9 (base 16) GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD - NO.18 HAIBIN ROAD, - DONG GUAN GUANG DONG 523860 - CN - DC-AC-6F (hex) Everytale Inc DCAC6F (base 16) Everytale Inc 2093 Philadelphia Pike #2211 @@ -39509,11 +39485,23 @@ F41532 (base 16) PETAiO (NanJing), Inc. Nanjing Jiangsu 211800 CN -48-29-E4 (hex) AO NPK RoTeK -4829E4 (base 16) AO NPK RoTeK - Prospekt Mira - Moscow 129223 - RU +A8-B2-71 (hex) HUAWEI TECHNOLOGIES CO.,LTD +A8B271 (base 16) HUAWEI TECHNOLOGIES CO.,LTD + No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park + Dongguan 523808 + CN + +64-05-E4 (hex) ALPSALPINE CO,.LTD +6405E4 (base 16) ALPSALPINE CO,.LTD + nishida 6-1 + kakuda-City Miyagi-Pref 981-1595 + JP + +BC-64-D9 (hex) GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD +BC64D9 (base 16) GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD + NO.18 HAIBIN ROAD, + DONG GUAN GUANG DONG 523860 + CN 30-1F-48 (hex) zte corporation 301F48 (base 16) zte corporation @@ -39521,6 +39509,42 @@ F41532 (base 16) PETAiO (NanJing), Inc. shenzhen guangdong 518057 CN +94-0E-E7 (hex) HUAWEI TECHNOLOGIES CO.,LTD +940EE7 (base 16) HUAWEI TECHNOLOGIES CO.,LTD + No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park + Dongguan 523808 + CN + +7C-C7-4A (hex) Fiberhome Telecommunication Technologies Co.,LTD +7CC74A (base 16) Fiberhome Telecommunication Technologies Co.,LTD + No.5 DongXin Road + Wuhan Hubei 430074 + CN + +38-FC-34 (hex) Huawei Device Co., Ltd. +38FC34 (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +3C-F6-92 (hex) Huawei Device Co., Ltd. +3CF692 (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +28-B5-E8 (hex) Texas Instruments +28B5E8 (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + +48-29-E4 (hex) AO +4829E4 (base 16) AO + Prospekt Mira + Moscow 129223 + RU + 9C-FF-C2 (hex) AVI Systems GmbH 9CFFC2 (base 16) AVI Systems GmbH Dr. Franz Wilhelmstraße 2A @@ -78368,6 +78392,12 @@ FCB0DE (base 16) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD. Xiamen Fujian 361024 CN +64-C6-D2 (hex) Seiko Epson Corporation +64C6D2 (base 16) Seiko Epson Corporation + 2070 Kotobuki Koaka + Matsumoto-shi Nagano-ken 399-8702 + JP + 78-24-59 (hex) Alcatel-Lucent Enterprise 782459 (base 16) Alcatel-Lucent Enterprise 26801 West Agoura Rd @@ -78392,30 +78422,54 @@ FCB0DE (base 16) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD. Culoz 01350 FR +B8-3C-28 (hex) Apple, Inc. +B83C28 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +3C-6D-89 (hex) Apple, Inc. +3C6D89 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +AC-45-00 (hex) Apple, Inc. +AC4500 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +84-B1-E4 (hex) Apple, Inc. +84B1E4 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +54-EB-E9 (hex) Apple, Inc. +54EBE9 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +AC-16-15 (hex) Apple, Inc. +AC1615 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + 48-BD-CE (hex) Technicolor CH USA Inc. 48BDCE (base 16) Technicolor CH USA Inc. 5030 Sugarloaf Parkway Bldg 6 Lawrenceville GA 30044 US -64-C6-D2 (hex) Seiko Epson Corporation -64C6D2 (base 16) Seiko Epson Corporation - 2070 Kotobuki Koaka - Matsumoto-shi Nagano-ken 399-8702 - JP - 48-1F-66 (hex) China Mobile Group Device Co.,Ltd. 481F66 (base 16) China Mobile Group Device Co.,Ltd. 32 Xuanwumen West Street,Xicheng District Beijing 100053 CN -B8-3C-28 (hex) Apple, Inc. -B83C28 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US - 10-68-38 (hex) AzureWave Technology Inc. 106838 (base 16) AzureWave Technology Inc. 8F., No.94, Baozhong Rd., Xindian @@ -78440,6 +78494,24 @@ C80A35 (base 16) Qingdao Hisense Smart Life Technology Co., Ltd Brescia Italy 25062 IT +CC-DE-DE (hex) Nokia +CCDEDE (base 16) Nokia + 600 March Road + Kanata Ontario K2K 2E6 + CA + +EC-F8-D0 (hex) HUAWEI TECHNOLOGIES CO.,LTD +ECF8D0 (base 16) HUAWEI TECHNOLOGIES CO.,LTD + No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park + Dongguan 523808 + CN + +30-DF-17 (hex) ALPSALPINE CO,.LTD +30DF17 (base 16) ALPSALPINE CO,.LTD + nishida 6-1 + kakuda-City Miyagi-Pref 981-1595 + JP + D8-02-8A (hex) Shenzhen YOUHUA Technology Co., Ltd D8028A (base 16) Shenzhen YOUHUA Technology Co., Ltd Room 407 Shenzhen University-town Business Park,Lishan Road,Taoyuan Street,Nanshan District @@ -78452,40 +78524,10 @@ D8028A (base 16) Shenzhen YOUHUA Technology Co., Ltd Dongguan 523808 CN -EC-F8-D0 (hex) HUAWEI TECHNOLOGIES CO.,LTD -ECF8D0 (base 16) HUAWEI TECHNOLOGIES CO.,LTD - No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park - Dongguan 523808 - CN - -3C-6D-89 (hex) Apple, Inc. -3C6D89 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US - -AC-45-00 (hex) Apple, Inc. -AC4500 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US - -84-B1-E4 (hex) Apple, Inc. -84B1E4 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US - -54-EB-E9 (hex) Apple, Inc. -54EBE9 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US - -AC-16-15 (hex) Apple, Inc. -AC1615 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 +60-B6-47 (hex) Silicon Laboratories +60B647 (base 16) Silicon Laboratories + 7000 W. William Cannon Dr. + Austin TX 78735 US EC-73-79 (hex) Apple, Inc. @@ -78494,42 +78536,102 @@ EC7379 (base 16) Apple, Inc. Cupertino CA 95014 US -60-B6-47 (hex) Silicon Laboratories -60B647 (base 16) Silicon Laboratories - 7000 W. William Cannon Dr. - Austin TX 78735 - US +04-70-56 (hex) Arcadyan Corporation +047056 (base 16) Arcadyan Corporation + No.8, Sec.2, Guangfu Rd. + Hsinchu City Hsinchu 30071 + TW -30-DF-17 (hex) ALPSALPINE CO,.LTD -30DF17 (base 16) ALPSALPINE CO,.LTD - nishida 6-1 - kakuda-City Miyagi-Pref 981-1595 - JP +40-FF-40 (hex) GloquadTech +40FF40 (base 16) GloquadTech + 801, Tower-A, 58-1, Giheung-ro, Giheung-gu, Yongin-si, Gyeonggi-do, 16976, Republic of Korea + Yongin-si Gyeonggi-do 16976 + KR -CC-DE-DE (hex) Nokia -CCDEDE (base 16) Nokia - 600 March Road - Kanata Ontario K2K 2E6 - CA +E8-65-38 (hex) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD. +E86538 (base 16) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD. + B22 Building,NO.51 Tongle Road, Shajing Town, Jiangnan District, Nanning, Guangxi Province, China + Nanning Guangxi 530007 + CN -DC-E3-05 (hex) AO NPK RoTeK -DCE305 (base 16) AO NPK RoTeK +D4-04-E6 (hex) Broadcom Limited +D404E6 (base 16) Broadcom Limited + 15191 Alton Parkway + Irvine CA 92618 + US + +DC-E3-05 (hex) AO +DCE305 (base 16) AO Prospekt Mira Moscow 129223 RU -E8-65-38 (hex) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD. -E86538 (base 16) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD. - B22 Building,NO.51 Tongle Road, Shajing Town, Jiangnan District, Nanning, Guangxi Province, China - Nanning Guangxi 530007 +B8-94-D9 (hex) Texas Instruments +B894D9 (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + +7C-E2-69 (hex) Texas Instruments +7CE269 (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + +88-6D-2D (hex) Huawei Device Co., Ltd. +886D2D (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 CN +08-04-B4 (hex) Texas Instruments +0804B4 (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + +30-AF-7E (hex) Texas Instruments +30AF7E (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + 24-2A-04 (hex) Cisco Systems, Inc 242A04 (base 16) Cisco Systems, Inc 80 West Tasman Drive San Jose CA 94568 US +24-95-2F (hex) Google, Inc. +24952F (base 16) Google, Inc. + 1600 Amphitheatre Parkway + Mountain View CA 94043 + US + +10-BE-99 (hex) Netberg +10BE99 (base 16) Netberg + 2F-1 No.36, Park St., Nangang District + Taipei 11560 + TW + +60-DE-F4 (hex) Shenzhen iComm Semiconductor CO.,LTD +60DEF4 (base 16) Shenzhen iComm Semiconductor CO.,LTD + Room 601,Block B ,Digital Building,Garden City + Shenzhen No.1079 Nanhai Road,Nanshan District 518067 + CN + +84-D3-52 (hex) Tonly Technology Co. Ltd +84D352 (base 16) Tonly Technology Co. Ltd + Section 37, Zhongkai Hi-Tech Development Zone + Huizhou Guangdong 516006 + CN + +E4-21-50 (hex) Shanghai Chint low voltage electrical technology Co.,Ltd. +E42150 (base 16) Shanghai Chint low voltage electrical technology Co.,Ltd. + 3857 Sixian Road, Songjiang District, Shanghai + Shanghai Shanghai 201616 + CN + 84-80-94 (hex) Meter, Inc. 848094 (base 16) Meter, Inc. 148 Townsend St @@ -101186,12 +101288,6 @@ D8D67E (base 16) GSK CNC EQUIPMENT CO.,LTD Eveleigh NSW 2015 NZ -00-12-E0 (hex) Codan Limited -0012E0 (base 16) Codan Limited - 81 Graves Street - Newton South 5074 - AU - 00-12-DE (hex) Radio Components Sweden AB 0012DE (base 16) Radio Components Sweden AB Viderogatan 3B @@ -117737,22 +117833,100 @@ B04B68 (base 16) NAKAYO Inc Maebashi-shi Gunma 371-0853 JP +D8-34-1C (hex) GD Midea Air-Conditioning Equipment Co.,Ltd. +D8341C (base 16) GD Midea Air-Conditioning Equipment Co.,Ltd. + Midea Global Innovation Center,Beijiao Town,Shunde + Foshan Guangdong 528311 + CN + +54-51-DE (hex) Cisco Systems, Inc +5451DE (base 16) Cisco Systems, Inc + 80 West Tasman Drive + San Jose CA 94568 + US + F4-33-1C (hex) Toast, Inc. F4331C (base 16) Toast, Inc. 401 Park Drive, Suite 801 Boston MA 02215 US -D8-AF-81 (hex) AO NPK RoTeK -D8AF81 (base 16) AO NPK RoTeK +04-32-01 (hex) Broadcom Limited +043201 (base 16) Broadcom Limited + 15191 Alton Parkway + Irvine CA 92618 + US + +D8-AF-81 (hex) AO +D8AF81 (base 16) AO Filippovskiy per., 8/1 Moscow 119019 RU -54-51-DE (hex) Cisco Systems, Inc -5451DE (base 16) Cisco Systems, Inc - 80 West Tasman Drive - San Jose CA 94568 +00-12-E0 (hex) Codan Limited +0012E0 (base 16) Codan Limited + Technology Park, 2 Second Avenue + Mawson Lakes SA 5095 + AU + +38-39-6C (hex) Huawei Device Co., Ltd. +38396C (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +50-66-E5 (hex) Huawei Device Co., Ltd. +5066E5 (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +DC-77-94 (hex) Huawei Device Co., Ltd. +DC7794 (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +70-B6-51 (hex) Eight Sleep +70B651 (base 16) Eight Sleep + 212 W 35th StFloor 4 + New York NY 10123 + US + +DC-A3-13 (hex) Shenzhen Changjin Communication Technology Co.,Ltd +DCA313 (base 16) Shenzhen Changjin Communication Technology Co.,Ltd + 6th Floor, Saibo Building, Tenglong Road, Minzhi Street, Longhua District, Shenzhen + Shenzhen 518000 + CN + +68-9A-21 (hex) Fiberhome Telecommunication Technologies Co.,LTD +689A21 (base 16) Fiberhome Telecommunication Technologies Co.,LTD + No.5 DongXin Road + Wuhan Hubei 430074 + CN + +7C-17-79 (hex) EM Microelectronic +7C1779 (base 16) EM Microelectronic + Rue des Sors 3 + Marin-Epagnier Neuchatel 2074 + CH + +90-CE-B8 (hex) Texas Instruments +90CEB8 (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + +AC-FC-82 (hex) Shenzhen Sundray Technologies Company Limited +ACFC82 (base 16) Shenzhen Sundray Technologies Company Limited + 5th Floor, Block A4, Nanshan ipark,NO.1001 Xue Yuan Road, Nanshan District, Shenzhen 518055, P.R. China + Shenzhen Guangdong 518057 + CN + +70-5A-6F (hex) IEEE Registration Authority +705A6F (base 16) IEEE Registration Authority + 445 Hoes Lane + Piscataway NJ 08554 US F8-D0-27 (hex) Seiko Epson Corporation @@ -157157,6 +157331,12 @@ A45D5E (base 16) Wilk Elektronik S.A. Laziska Gorne Slaskie 43-173 PL +FC-31-5D (hex) Apple, Inc. +FC315D (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + 74-A6-CD (hex) Apple, Inc. 74A6CD (base 16) Apple, Inc. 1 Infinite Loop @@ -157175,30 +157355,24 @@ A45D5E (base 16) Wilk Elektronik S.A. Cupertino CA 95014 US -88-74-77 (hex) HUAWEI TECHNOLOGIES CO.,LTD -887477 (base 16) HUAWEI TECHNOLOGIES CO.,LTD - No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park - Dongguan 523808 +3C-BC-D0 (hex) zte corporation +3CBCD0 (base 16) zte corporation + 12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China + shenzhen guangdong 518057 CN -FC-31-5D (hex) Apple, Inc. -FC315D (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US +64-6E-60 (hex) zte corporation +646E60 (base 16) zte corporation + 12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China + shenzhen guangdong 518057 + CN -28-B8-29 (hex) Juniper Networks -28B829 (base 16) Juniper Networks - 1133 Innovation Way - Sunnyvale CA 94089 +4C-42-1E (hex) Cisco Systems, Inc +4C421E (base 16) Cisco Systems, Inc + 80 West Tasman Drive + San Jose CA 94568 US -5C-34-5B (hex) Hangzhou Hikvision Digital Technology Co.,Ltd. -5C345B (base 16) Hangzhou Hikvision Digital Technology Co.,Ltd. - No.555 Qianmo Road - Hangzhou Zhejiang 310052 - CN - C4-CB-E1 (hex) Dell Inc. C4CBE1 (base 16) Dell Inc. One Dell Way @@ -157217,30 +157391,72 @@ E02DF0 (base 16) ALPSALPINE CO,.LTD kakuda-City Miyagi-Pref 981-1595 JP +5C-34-5B (hex) Hangzhou Hikvision Digital Technology Co.,Ltd. +5C345B (base 16) Hangzhou Hikvision Digital Technology Co.,Ltd. + No.555 Qianmo Road + Hangzhou Zhejiang 310052 + CN + 58-70-7F (hex) Ericsson AB 58707F (base 16) Ericsson AB Torshamnsgatan 36 Stockholm SE-164 80 SE -3C-BC-D0 (hex) zte corporation -3CBCD0 (base 16) zte corporation - 12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China - shenzhen guangdong 518057 +88-74-77 (hex) HUAWEI TECHNOLOGIES CO.,LTD +887477 (base 16) HUAWEI TECHNOLOGIES CO.,LTD + No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park + Dongguan 523808 CN -64-6E-60 (hex) zte corporation -646E60 (base 16) zte corporation - 12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China - shenzhen guangdong 518057 +28-B8-29 (hex) Juniper Networks +28B829 (base 16) Juniper Networks + 1133 Innovation Way + Sunnyvale CA 94089 + US + +3C-3B-4D (hex) Toyo Seisakusho Kaisha, Limited +3C3B4D (base 16) Toyo Seisakusho Kaisha, Limited + 2-4-6 Honjyo + Higashi-Osaka Osaka 578-0953 + JP + +64-B2-B4 (hex) Fiberhome Telecommunication Technologies Co.,LTD +64B2B4 (base 16) Fiberhome Telecommunication Technologies Co.,LTD + No.5 DongXin Road + Wuhan Hubei 430074 CN -4C-42-1E (hex) Cisco Systems, Inc -4C421E (base 16) Cisco Systems, Inc - 80 West Tasman Drive - San Jose CA 94568 +48-31-DB (hex) Huawei Device Co., Ltd. +4831DB (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +14-7F-0F (hex) Texas Instruments +147F0F (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 US +D0-A9-D3 (hex) EM Microelectronic +D0A9D3 (base 16) EM Microelectronic + Rue des Sors 3 + Marin-Epagnier Neuchatel 2074 + CH + +14-DD-02 (hex) Liangang Optoelectronic Technology CO., Ltd. +14DD02 (base 16) Liangang Optoelectronic Technology CO., Ltd. + 150 JingHai West Road,ShaQu Village ShaTou Area,ChangAn Town + DongGuan GuangDong 523846 + CN + +60-C7-27 (hex) Digiboard Eletronica da Amazonia Ltda +60C727 (base 16) Digiboard Eletronica da Amazonia Ltda + 1111-A Matrinxa + Manaus Amazonia 69075-150 + BR + 7C-8A-E1 (hex) COMPAL INFORMATION (KUNSHAN) CO., LTD. 7C8AE1 (base 16) COMPAL INFORMATION (KUNSHAN) CO., LTD. NO. 25, THE 3RD Street KUNSHAN EXPORT PROCESSING ZONE @@ -196316,18 +196532,6 @@ D04F58 (base 16) Ruckus Wireless Sunnyvale CA 94089 US -50-3C-CA (hex) TECNO MOBILE LIMITED -503CCA (base 16) TECNO MOBILE LIMITED - ROOMS 05-15, 13A/F., SOUTH TOWER, WORLD FINANCE CENTRE, HARBOUR CITY, 17 CANTON ROAD, TSIM SHA TSUI, KOWLOON, HONG KONG - Hong Kong Hong Kong 999077 - HK - -9C-0C-35 (hex) Shenzhenshi Xinzhongxin Technology Co.Ltd -9C0C35 (base 16) Shenzhenshi Xinzhongxin Technology Co.Ltd - Block 3, Dong Huan Industrial Park, Sha Jing Town, Bao’an District, Shenzhen City, Guangdong Province, China - ShenZHEN GuangDong 518104 - CN - C8-ED-FC (hex) Shenzhen Ideaform Industrial Product Design Co., Ltd C8EDFC (base 16) Shenzhen Ideaform Industrial Product Design Co., Ltd Room 206, Building A2, Hangcheng Park, Xixiang Street, Bao'an District @@ -196340,18 +196544,6 @@ F82229 (base 16) Nokia Shanghai Bell Co., Ltd. Shanghai 201206 CN -44-3D-54 (hex) Amazon Technologies Inc. -443D54 (base 16) Amazon Technologies Inc. - P.O Box 8102 - Reno NV 89507 - US - -54-47-CC (hex) Sagemcom Broadband SAS -5447CC (base 16) Sagemcom Broadband SAS - 250, route de l'Empereur - Rueil Malmaison Cedex hauts de seine 92848 - FR - 78-D6-D6 (hex) eero inc. 78D6D6 (base 16) eero inc. 660 3rd Street @@ -196364,41 +196556,35 @@ F82229 (base 16) Nokia Shanghai Bell Co., Ltd. Taipei City TAIWAN 11087 TW -DC-FB-B8 (hex) Meizhou Guo Wei Electronics Co., Ltd -DCFBB8 (base 16) Meizhou Guo Wei Electronics Co., Ltd - AD1 Section, The Economy Development Area, Dongsheng Industrial District, - Meizhou Guangdong Province 514000 +9C-0C-35 (hex) Shenzhenshi Xinzhongxin Technology Co.Ltd +9C0C35 (base 16) Shenzhenshi Xinzhongxin Technology Co.Ltd + Block 3, Dong Huan Industrial Park, Sha Jing Town, Bao’an District, Shenzhen City, Guangdong Province, China + ShenZHEN GuangDong 518104 CN -AC-B1-81 (hex) Belden Mooresville -ACB181 (base 16) Belden Mooresville - 1113 N Main St. - Mooresville 28115 +44-3D-54 (hex) Amazon Technologies Inc. +443D54 (base 16) Amazon Technologies Inc. + P.O Box 8102 + Reno NV 89507 US -AC-E4-03 (hex) Shenzhen Visteng Technology CO.,LTD -ACE403 (base 16) Shenzhen Visteng Technology CO.,LTD - 6F, M7, MaQueLing, Hi-tech Park, Nanshan District - Shenzhen 518000 - CN - -60-D0-39 (hex) Apple, Inc. -60D039 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US +50-3C-CA (hex) TECNO MOBILE LIMITED +503CCA (base 16) TECNO MOBILE LIMITED + ROOMS 05-15, 13A/F., SOUTH TOWER, WORLD FINANCE CENTRE, HARBOUR CITY, 17 CANTON ROAD, TSIM SHA TSUI, KOWLOON, HONG KONG + Hong Kong Hong Kong 999077 + HK -C4-C1-7D (hex) Apple, Inc. -C4C17D (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US +54-47-CC (hex) Sagemcom Broadband SAS +5447CC (base 16) Sagemcom Broadband SAS + 250, route de l'Empereur + Rueil Malmaison Cedex hauts de seine 92848 + FR -E0-BD-A0 (hex) Apple, Inc. -E0BDA0 (base 16) Apple, Inc. - 1 Infinite Loop - Cupertino CA 95014 - US +DC-FB-B8 (hex) Meizhou Guo Wei Electronics Co., Ltd +DCFBB8 (base 16) Meizhou Guo Wei Electronics Co., Ltd + AD1 Section, The Economy Development Area, Dongsheng Industrial District, + Meizhou Guangdong Province 514000 + CN C4-DB-04 (hex) HUAWEI TECHNOLOGIES CO.,LTD C4DB04 (base 16) HUAWEI TECHNOLOGIES CO.,LTD @@ -196430,20 +196616,98 @@ F4E8C7 (base 16) Apple, Inc. Cupertino CA 95014 US +60-D0-39 (hex) Apple, Inc. +60D039 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +C4-C1-7D (hex) Apple, Inc. +C4C17D (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + 94-09-C9 (hex) ALPSALPINE CO,.LTD 9409C9 (base 16) ALPSALPINE CO,.LTD nishida 6-1 kakuda-City Miyagi-Pref 981-1595 JP +E0-BD-A0 (hex) Apple, Inc. +E0BDA0 (base 16) Apple, Inc. + 1 Infinite Loop + Cupertino CA 95014 + US + +F8-34-51 (hex) Comcast-SRL +F83451 (base 16) Comcast-SRL + Alejo Martinez 17 + Sosua Puerto Plata 34443 + DO + 20-DE-1E (hex) Nokia 20DE1E (base 16) Nokia 600 March Road Kanata Ontario K2K 2E6 CA +AC-B1-81 (hex) Belden Mooresville +ACB181 (base 16) Belden Mooresville + 1113 N Main St. + Mooresville 28115 + US + +AC-E4-03 (hex) Shenzhen Visteng Technology CO.,LTD +ACE403 (base 16) Shenzhen Visteng Technology CO.,LTD + 6F, M7, MaQueLing, Hi-tech Park, Nanshan District + Shenzhen 518000 + CN + E4-62-C4 (hex) Cisco Systems, Inc E462C4 (base 16) Cisco Systems, Inc 80 West Tasman Drive San Jose CA 94568 US + +3C-31-74 (hex) Google, Inc. +3C3174 (base 16) Google, Inc. + 1600 Amphitheatre Parkway + Mountain View CA 94043 + US + +D4-3F-32 (hex) eero inc. +D43F32 (base 16) eero inc. + 660 3rd Street + San Francisco CA 94107 + US + +68-63-72 (hex) Huawei Device Co., Ltd. +686372 (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +A0-C2-0D (hex) Huawei Device Co., Ltd. +A0C20D (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +4C-88-9E (hex) Huawei Device Co., Ltd. +4C889E (base 16) Huawei Device Co., Ltd. + No.2 of Xincheng Road, Songshan Lake Zone + Dongguan Guangdong 523808 + CN + +44-EE-14 (hex) Texas Instruments +44EE14 (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US + +B4-AC-9D (hex) Texas Instruments +B4AC9D (base 16) Texas Instruments + 12500 TI Blvd + Dallas TX 75243 + US diff --git a/hwdb.d/ma-medium.txt b/hwdb.d/ma-medium.txt index 6e71e52f9..e0df459ae 100644 --- a/hwdb.d/ma-medium.txt +++ b/hwdb.d/ma-medium.txt @@ -5336,6 +5336,24 @@ B00000-BFFFFF (base 16) SMH Technologies SRL Ludwigsburg 71640 DE +C4-A5-59 (hex) SERNET (SUZHOU) TECHNOLOGIES CORPORATION +E00000-EFFFFF (base 16) SERNET (SUZHOU) TECHNOLOGIES CORPORATION + NO.8 Tangzhuang Road,Suzhou Industrial Park,Su ZhouCity,JiangSu Province,China + Suzhou 215021 + CN + +C4-A5-59 (hex) X-speed lnformation Technology Co.,Ltd +300000-3FFFFF (base 16) X-speed lnformation Technology Co.,Ltd + th Floor,Building 2,Xinyu Electronic Industrial Park,No.69, Zhaishan,Houshan Village, High-tech Zone,Fuzhou,Fujian ,China + Fuzhou 350000 + CN + +70-5A-6F (hex) Thyracont Vacuum Instruments GmbH +000000-0FFFFF (base 16) Thyracont Vacuum Instruments GmbH + Max-Emanuel-Str. 10 + Passau Bavaria 94036 + DE + 4C-4B-F9 (hex) Shenzhen dingsheng technology co., LTD 400000-4FFFFF (base 16) Shenzhen dingsheng technology co., LTD Floor 3, building 5, kaijeda industrial zone, no.97, huaxing road, langkou community, dalang street, longhua district @@ -10400,6 +10418,12 @@ C4-A5-59 (hex) Motive Technologies, Inc. San Francisco CA 94105 US +C4-A5-59 (hex) SHENZHEN ORFA TECH CO., LTD +200000-2FFFFF (base 16) SHENZHEN ORFA TECH CO., LTD + Room 205, Building 4, Hongmumian Industrial Park, Longgang district, + Shenzhen Guangdong 518000 + CN + 20-85-93 (hex) UNILUMIN GROUP CO.,LTD 300000-3FFFFF (base 16) UNILUMIN GROUP CO.,LTD No.112 Yongfu Rd.,BaoanDistrict, @@ -15776,12 +15800,6 @@ D0-96-86 (hex) EPHI B.V. Jiangsu 214028 CN -94-C9-B7 (hex) Private -900000-9FFFFF (base 16) Private - 35F, Shenzhen Bay VC&PE Bldg, No.25, Haitian 2nd Rd, Binhai Comm, Yuehai St., Nanshan Dist, Shenzhen - shenzhen guangdong 518000 - CN - D4-61-37 (hex) Beijing Digital China Yunke Technology Limited 800000-8FFFFF (base 16) Beijing Digital China Yunke Technology Limited R301, 3F, NO9, shangdi 9th street, haidian district, beijing @@ -15902,17 +15920,32 @@ B00000-BFFFFF (base 16) KunPeng Instrument (Dalian)Co.,Ltd. Dalian LiaoNing 116000 CN +C4-A5-59 (hex) Aviron Interactive Inc. +700000-7FFFFF (base 16) Aviron Interactive Inc. + 251 Bartley Drive. Unit 2 + Toronto Ontario M4A 2N7 + CA + C4-A5-59 (hex) MINOLTA SECURITY D00000-DFFFFF (base 16) MINOLTA SECURITY 29 Park Place Englewood NJ 07631 US -C4-A5-59 (hex) Aviron Interactive Inc. -700000-7FFFFF (base 16) Aviron Interactive Inc. - 251 Bartley Drive. Unit 2 - Toronto Ontario M4A 2N7 - CA +C4-A5-59 (hex) Private +400000-4FFFFF (base 16) Private + +70-5A-6F (hex) BMR s.r.o. +100000-1FFFFF (base 16) BMR s.r.o. + Lipovka 17 + Rychnov nad Kneznou 51601 + CZ + +94-C9-B7 (hex) Titanium union(shenzhen)technology co.,ltd +900000-9FFFFF (base 16) Titanium union(shenzhen)technology co.,ltd + 35F, Shenzhen Bay VC&PE Bldg, No.25, Haitian 2nd Rd, Binhai Comm, Yuehai St., Nanshan Dist, Shenzhen + shenzhen guangdong 518000 + CN 4C-4B-F9 (hex) Shandong Linkotech Electronic Co., Ltd. 600000-6FFFFF (base 16) Shandong Linkotech Electronic Co., Ltd. @@ -21194,6 +21227,12 @@ E00000-EFFFFF (base 16) Foxconn Brasil Industria e Comercio Ltda Flowood 39232 US +C4-A5-59 (hex) Hebei Far-East Communication System Engineerning Co.,Ltd. +A00000-AFFFFF (base 16) Hebei Far-East Communication System Engineerning Co.,Ltd. + NO.21, Changsheng Street, Luquan Economic Development Zone + Shijiazhuang Hebei Prov 050000 + CN + C4-A5-59 (hex) Moultrie Mobile 500000-5FFFFF (base 16) Moultrie Mobile 5724 Highway 280 East @@ -21212,12 +21251,6 @@ C4-A5-59 (hex) Annapurna labs Cupertino CA 95014 US -C4-A5-59 (hex) Hebei Far-East Communication System Engineerning Co.,Ltd. -A00000-AFFFFF (base 16) Hebei Far-East Communication System Engineerning Co.,Ltd. - NO.21, Changsheng Street, Luquan Economic Development Zone - Shijiazhuang Hebei Prov 050000 - CN - 20-85-93 (hex) Great Lite International 700000-7FFFFF (base 16) Great Lite International 11F., No.207-2, Sec. 3, Beixin Rd., Xindian Dist., @@ -26641,3 +26674,9 @@ C00000-CFFFFF (base 16) ALTAM SYSTEMS SL Carrer Orient 78-84, 2-8 Sant Cugat del Valles Barcelona 08172 ES + +C4-A5-59 (hex) Archermind Japan Co.,Ltd. +000000-0FFFFF (base 16) Archermind Japan Co.,Ltd. + 4F Shinagawa East One Tower, 2-16-1, Konan + Minato-ku Tokyo 1080075 + JP diff --git a/hwdb.d/ma-small.txt b/hwdb.d/ma-small.txt index d8738e4d5..e4e92a094 100644 --- a/hwdb.d/ma-small.txt +++ b/hwdb.d/ma-small.txt @@ -6206,12 +6206,6 @@ B14000-B14FFF (base 16) Murata Manufacturing CO., Ltd. Gangnam-gu seoul 06296 KR -8C-1F-64 (hex) YUYAMA MFG Co.,Ltd -CFA000-CFAFFF (base 16) YUYAMA MFG Co.,Ltd - 1-4-30 - MEISHINGUCHI,TOYONAKA OSAKA 561-0841 - JP - 8C-1F-64 (hex) ABB 6D0000-6D0FFF (base 16) ABB Fulachstrasse 150 @@ -6224,6 +6218,24 @@ CFA000-CFAFFF (base 16) YUYAMA MFG Co.,Ltd Venhuizen 1606 AK NL +8C-1F-64 (hex) MIJ CO LTD +5B2000-5B2FFF (base 16) MIJ CO LTD + ROOM 204 882, Baksa-ro, Seo-myeon, chuncheon-si, Gangwon-do, Republic of korea + chuncheon-si Gangwon-do 24461 + KR + +8C-1F-64 (hex) YUYAMA MFG Co.,Ltd +CFA000-CFAFFF (base 16) YUYAMA MFG Co.,Ltd + 1-4-30 + MEISHINGUCHI,TOYONAKA OSAKA 561-0841 + JP + +8C-1F-64 (hex) Power Electronics Espana, S.L. +DA6000-DA6FFF (base 16) Power Electronics Espana, S.L. + Pol Industrial Carrases Ronda del Camp d’Aviació,4 + Lliria Valencia 46160 + ES + 70-B3-D5 (hex) EVCO SPA A80000-A80FFF (base 16) EVCO SPA VIA FELTRE N. 81 @@ -12350,6 +12362,24 @@ EE6000-EE6FFF (base 16) LYNKX Incheon Incheon 22689 KR +8C-1F-64 (hex) HomyHub SL +B65000-B65FFF (base 16) HomyHub SL + Sierra de Atapuerca 13Correos Labs + MADRID Madrid 28050 + ES + +8C-1F-64 (hex) Wende Tan +691000-691FFF (base 16) Wende Tan + FIT 1-213, Tsinghua University + Beijing 100084 + CN + +8C-1F-64 (hex) CI SYSTEMS ISRAEL LTD +9FB000-9FBFFF (base 16) CI SYSTEMS ISRAEL LTD + HaMehkar St 6 + Migdal HaEmek 2306990 + IL + 70-B3-D5 (hex) System West dba ICS Electronics E06000-E06FFF (base 16) System West dba ICS Electronics 7034 Commerce Circle Suite A @@ -18425,6 +18455,18 @@ AFD000-AFDFFF (base 16) Universal Robots A/S Odense S Odense 5260 DK +8C-1F-64 (hex) Video Network Security +733000-733FFF (base 16) Video Network Security + Suite 402-01, B Wing DSO HQ Building + Dubai 6009 + AE + +8C-1F-64 (hex) Specialist Mechanical Engineers (PTY)LTD +6B1000-6B1FFF (base 16) Specialist Mechanical Engineers (PTY)LTD + 907 HertzogstreetRietfontein + Pretoria Gauteng 0182 + ZA + 70-B3-D5 (hex) YUYAMA MFG Co.,Ltd BBB000-BBBFFF (base 16) YUYAMA MFG Co.,Ltd 3-3-1 @@ -24602,6 +24644,30 @@ AEA000-AEAFFF (base 16) INHEMETER Co.,Ltd SHENZHEN Guangdong 518054 CN +8C-1F-64 (hex) GL TECH CO.,LTD +BC9000-BC9FFF (base 16) GL TECH CO.,LTD + NO.Ten Changchun Road + ZHENGZHOU HENAN 455000 + CN + +8C-1F-64 (hex) Integer.pl S.A. +402000-402FFF (base 16) Integer.pl S.A. + Wielicka 28 + Krakow 30-552 + PL + +8C-1F-64 (hex) Idneo Technologies S.A.U. +8F6000-8F6FFF (base 16) Idneo Technologies S.A.U. + Carrer de Dalt, 3 + Mollet del Valles Barcelona 08100 + ES + +8C-1F-64 (hex) EkspertStroyProekt +A83000-A83FFF (base 16) EkspertStroyProekt + office 422, str.1, d.1, ul. Eniseyskaya + Moscow 129344 + RU + 70-B3-D5 (hex) DISMUNTEL SAL 92C000-92CFFF (base 16) DISMUNTEL SAL Pol ind cotes @@ -30626,8 +30692,20 @@ EA8000-EA8FFF (base 16) Zumbach Electronic AG Orpund 2552 CH +8C-1F-64 (hex) Rapid-e-Engineering Steffen Kramer +1B2000-1B2FFF (base 16) Rapid-e-Engineering Steffen Kramer + Am Waldring 7 + Rechtmehring Bayern 83562 + DE + 70-B3-D5 (hex) Earth Works 61C000-61CFFF (base 16) Earth Works 2-9-14 Aioi Kofu Yamanashi 400-0858 JP + +8C-1F-64 (hex) Procon Electronics Pty Ltd +DC2000-DC2FFF (base 16) Procon Electronics Pty Ltd + P O Box 164 + Seven Hills NSW 1730 + AU diff --git a/hwdb.d/pci.ids b/hwdb.d/pci.ids index 6d0c402bd..d4a4ce23c 100644 --- a/hwdb.d/pci.ids +++ b/hwdb.d/pci.ids @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2022.10.22 -# Date: 2022-10-22 03:15:01 +# Version: 2022.10.28 +# Date: 2022-10-28 03:15:01 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -110,6 +110,7 @@ 9100 JM9100 0731 9101 JM9100 0731 9102 JM9100-I + 0731 9103 JM9100M 910a JH910 0731 910a JH910 0731 910b JH910-I @@ -4943,6 +4944,7 @@ 14b7 Family 17h-19h PCIe Dummy Host Bridge 14b9 Family 17h-19h Internal PCIe GPP Bridge 14ba Family 17h-19h PCIe GPP Bridge + 14cd Family 19h USB4/Thunderbolt PCIe tunnel 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini 1512 Family 14h Processor Root Port @@ -5039,6 +5041,8 @@ ea50 ce19 mCOM10-L1900 15d4 FireFlight USB 3.1 15d5 FireFlight USB 3.1 + 15d6 Rembrandt USB4 XHCI controller #5 + 15d7 Rembrandt USB4 XHCI controller #6 15da Raven/Raven2 PCIe Dummy Host Bridge 15db Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A ea50 ce19 mCOM10-L1900 @@ -5111,6 +5115,12 @@ 160d Arden Device 18h: Function 5 160e Arden Device 18h: Function 6 160f Arden Device 18h: Function 7 + 161a Rembrandt USB4 XHCI controller #1 + 161b Rembrandt USB4 XHCI controller #2 + 161c Rembrandt USB4 XHCI controller #7 + 161d Rembrandt USB4 XHCI controller #3 + 161e Rembrandt USB4 XHCI controller #4 + 161f Rembrandt USB4 XHCI controller #8 1620 Anubis HT Configuration 1621 Anubis Address Maps 1622 Anubis DRAM Configuration @@ -5171,6 +5181,14 @@ 166f Cezanne Data Fabric; Function 5 1670 Cezanne Data Fabric; Function 6 1671 Cezanne Data Fabric; Function 7 + 1679 Rembrandt Data Fabric: Device 18h; Function 0 + 167a Rembrandt Data Fabric: Device 18h; Function 1 + 167b Rembrandt Data Fabric: Device 18h; Function 2 + 167c Rembrandt Data Fabric: Device 18h; Function 3 + 167d Rembrandt Data Fabric: Device 18h; Function 4 + 167e Rembrandt Data Fabric: Device 18h; Function 5 + 167f Rembrandt Data Fabric: Device 18h; Function 6 + 1680 Rembrandt Data Fabric: Device 18h; Function 7 1700 Family 12h/14h Processor Function 0 1701 Family 12h/14h Processor Function 1 1702 Family 12h/14h Processor Function 2 @@ -11481,7 +11499,7 @@ # GRID K1 USM 0fe7 GK107GL [GRID K100 vGPU] 10de 101e GRID K100 - 0fe8 GK107M + 0fe8 GK107M [N14P-GS] 0fe9 GK107M [GeForce GT 750M Mac Edition] 0fea GK107M [GeForce GT 755M Mac Edition] 0fec GK107M [GeForce 710A] @@ -12008,6 +12026,7 @@ 11a3 GK104M [GeForce GTX 680MX] 106b 010d iMac 13,2 11a7 GK104M [GeForce GTX 675MX] + 11a8 GK104GLM [Quadro K5100M] 11a9 GK104M [GeForce GTX 870M] 11af GK104GLM [GRID IceCube] 11b0 GK104GL [GRID K240Q / K260Q vGPU] @@ -12408,6 +12427,7 @@ 1df5 GV100GL [Tesla V100 SXM2 16GB] 1df6 GV100GL [Tesla V100S PCIe 32GB] 1e02 TU102 [TITAN RTX] + 1e03 TU102 [GeForce RTX 2080 Ti 12GB] 1e04 TU102 [GeForce RTX 2080 Ti] 1e07 TU102 [GeForce RTX 2080 Ti Rev. A] 1462 3715 RTX 2080 Ti GAMING X TRIO @@ -12499,6 +12519,7 @@ 1fb1 TU117GL [T600] 1fb2 TU117GLM [Quadro T400 Mobile] 1fb6 TU117GLM [T600 Laptop GPU] + 1028 0b10 Precision 3571 1fb7 TU117GLM [T550 Laptop GPU] 1fb8 TU117GLM [Quadro T2000 Mobile / Max-Q] 1fb9 TU117GLM [Quadro T1000 Mobile] @@ -12529,8 +12550,9 @@ 20f0 GA100 [A100-PG506-207] 20f1 GA100 [A100 PCIe 40GB] 20f2 GA100 [A100-PG506-217] - 20f5 GA100 [A800-80] - 20f6 GA100 [A800-40] + 20f3 GA100 [A800-SXM4-80GB] + 20f5 GA100 [A800 80GB PCIe] + 20f6 GA100 [A800 40GB PCIe] 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] @@ -12904,6 +12926,7 @@ 1028 06e4 XPS 15 9550 1028 06e6 Latitude 11 5175 2-in-1 1028 09be Latitude 7410 + 1028 0b10 Precision 3571 17aa 224f ThinkPad X1 Carbon 5th Gen 5260 RTS5260 PCI Express Card Reader 5261 RTS5261 PCI Express Card Reader @@ -15129,6 +15152,7 @@ 1179 0001 Toshiba KBG30ZMS128G 128GB NVMe SSD 0115 XG4 NVMe SSD Controller 0116 XG5 NVMe SSD Controller + 1179 0001 XG5 NVMe SSD Controller 011a XG6 NVMe SSD Controller 0404 DVD Decoder card 0406 Tecra Video Capture device @@ -24321,6 +24345,7 @@ ec20 Elastic Network Adapter (ENA) efa0 Elastic Fabric Adapter (EFA) efa1 Elastic Fabric Adapter (EFA) + efa2 Elastic Fabric Adapter (EFA) 1d17 Zhaoxin 070f ZX-100 PCI Express Root Port 0710 ZX-100/ZX-200 PCI Express Root Port @@ -24476,6 +24501,7 @@ 1020 AR-GP-PF [General-Purpose Physical Function] 1021 AR-MGMT-PF [Board-Generic Management Physical Function] 1022 AR-ARKA-FX2 [Arkville 128B DPDK Data Mover for Agilex] + 1023 AR-BD-FX1 [BufferDirect Zero-Bounce Data Motion Endpoint] 4200 A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument] 1d72 Xiaomi 1d78 DERA Storage @@ -25070,6 +25096,8 @@ 1ed9 Myrtle.ai 1ee1 Suzhou Kuhan Information Technologies 0050 Aurora NVMe SSD Controller + 1ee1 0009 Airglow A430 NVMe SSD U.2 1.6TB + 1ee1 000a Airglow A430 NVMe SSD U.2 3.2TB 1ee4 PETAIO INC 1180 P8118 U.2 Single Port SSD 1ee9 SUSE LLC @@ -25101,42 +25129,42 @@ 1f2f 6116 KM560 U.2 3.84TB NVMe SSD 1f2f 6118 KM560 U.2 7.68TB NVMe SSD 1f3f 3SNIC Ltd - 2100 3SRAID SAS/SATA HBA + 2100 SSSRAID SAS/SATA HBA 1f3f 0120 HBA 32 Ports 1f3f 0125 HBA 40 Ports 1f3f 0180 HBA 16 Ports 1f3f 0185 HBA 8 Ports - 2200 3SRAID RAID controller + 2200 SSSRAID RAID controller 1f3f 0185 RAID Controller 16 Ports with 2G Cache 1f3f 01a1 RAID Controller 40 Ports with 2G Cache 1f3f 01a4 RAID Controller 16 Ports with 4G Cache 1f3f 01a8 RAID Controller 32 Ports with 4G Cache 1f3f 01ad RAID Controller 40 Ports with 4G Cache - 9001 Ethernet VF + 9001 SSSNIC Ethernet VF 1f3f 1000 Ethernet VF - 9002 Ethernet VF Hyper-V + 9002 SSSNIC Ethernet VF Hyper-V 1f3f 1000 Ethernet VF Hyper-V - 9003 Ethernet SDI VF + 9003 SSSNIC Ethernet SDI VF 1f3f 1000 Ethernet SDI VF - 9004 Ethernet SDI VF Hyper-V + 9004 SSSNIC Ethernet SDI VF Hyper-V 1f3f 1000 Ethernet SDI VF Hyper-V - 9008 3SFC VF + 9008 SSSFC VF 1f3f 1000 3SFC VF - 9009 3SFC VF Hyper-V + 9009 SSSFC VF Hyper-V 1f3f 1000 3SFC VF Hyper-V - 9010 3SFC FC Controller + 9010 SSSFC FC Controller 1f3f 0041 Dual Port 16GE FC to PCIe Gen4 x16 Adapter 1f3f 0061 Dual Port 32GE FC to PCIe Gen4 x16 Adapter - 9020 Ethernet Network Adapter + 9020 SSSNIC Ethernet Network Adapter 1f3f 0051 Dual Port 25GE Ethernet Network Adapter 1f3f 0052 Quad Port 25GE Ethernet Network Adapter 1f3f 00a1 Dual Port 100GE Ethernet Network Adapter - 9030 IPU + 9030 SSSNIC IPU 1f3f 0051 Dual Port 25GE IPU - 9031 SDI5.0 + 9031 SSSNIC SDI5.0 1f3f 0051 Dual Port 25GE SDI5.0lite 1f3f 00a1 Dual Port 100GE SDI5.0 - 9032 SDI5.1 + 9032 SSSNIC SDI5.1 1f3f 00a1 Dual Port 100GE SDI5.1 1f40 Netac Technology Co.,Ltd 1f44 VVDN Technologies Private Limited @@ -28588,6 +28616,7 @@ 1a1c Ethernet Connection (17) I219-LM 1a1d Ethernet Connection (17) I219-V 1a1e Ethernet Connection (16) I219-LM + 1028 0b10 Precision 3571 1a1f Ethernet Connection (16) I219-V 1a21 82840 840 [Carmel] Chipset Host Bridge (Hub A) 1a23 82840 840 [Carmel] Chipset AGP Bridge @@ -32806,7 +32835,9 @@ 4571 Elkhart Lake [UHD Graphics Gen11 32EU] 460d 12th Gen Core Processor PCI Express x16 Controller #1 461d Alder Lake Innovation Platform Framework Processor Participant + 1028 0b10 Precision 3571 461e Alder Lake-P Thunderbolt 4 USB Controller + 1028 0b10 Precision 3571 461f Alder Lake-P Thunderbolt 4 PCI Express Root Port #3 4626 Alder Lake-P Integrated Graphics Controller 4628 Alder Lake-UP3 GT2 [UHD Graphics] @@ -32818,10 +32849,13 @@ 463a AlderLake-P [UHD Graphics] 463d 12th Gen Core Processor PCI Express x4 Controller #2 463e Alder Lake-P Thunderbolt 4 NHI #0 + 1028 0b10 Precision 3571 463f Alder Lake-P Thunderbolt 4 PCI Express Root Port #1 4641 12th Gen Core Processor Host Bridge/DRAM Registers + 1028 0b10 Precision 3571 464d 12th Gen Core Processor PCI Express x4 Controller #0 464f 12th Gen Core Processor Gaussian & Neural Accelerator + 1028 0b10 Precision 3571 4660 12th Gen Core Processor Host Bridge/DRAM Registers 4668 12th Gen Core Processor Host Bridge/DRAM Registers 466d Alder Lake-P Thunderbolt 4 NHI #1 @@ -32926,29 +32960,43 @@ 504c EP80579 Integrated Processor with QuickAssist TDM 5181 Alder Lake PCH-P LPC/eSPI Controller 5182 Alder Lake PCH eSPI Controller + 1028 0b10 Precision 3571 51a3 Alder Lake PCH-P SMBus Host Controller + 1028 0b10 Precision 3571 51a4 Alder Lake-P PCH SPI Controller + 1028 0b10 Precision 3571 51a8 Alder Lake PCH UART #0 51a9 Alder Lake PCH UART #1 + 51b1 Alder Lake PCI Express x1 Root Port #10 51bf Alder Lake PCH-P PCI Express Root Port #9 51c5 Alder Lake-P Serial IO I2C Controller #0 51c6 Alder Lake-P Serial IO I2C Controller #1 51c8 Alder Lake PCH-P High Definition Audio Controller + 1028 0b10 Precision 3571 51d3 Alder Lake-P SATA AHCI Controller + 1028 0b10 Precision 3571 51d8 Alder Lake-P Serial IO I2C Controller #2 51d9 Alder Lake-P Serial IO I2C Controller #3 51e0 Alder Lake PCH HECI Controller + 1028 0b10 Precision 3571 + 51e3 Alder Lake AMT SOL Redirection + 1028 0b10 Precision 3571 51e8 Alder Lake PCH Serial IO I2C Controller #0 + 1028 0b10 Precision 3571 51e9 Alder Lake PCH Serial IO I2C Controller #1 + 1028 0b10 Precision 3571 51ea Alder Lake PCH Serial IO I2C Controller #2 51eb Alder Lake PCH Serial IO I2C Controller #3 51ed Alder Lake PCH USB 3.2 xHCI Host Controller + 1028 0b10 Precision 3571 51ef Alder Lake PCH Shared SRAM + 1028 0b10 Precision 3571 51f0 Alder Lake-P PCH CNVi WiFi 8086 0034 Wireless-AC 9560 160MHz 8086 0070 Wi-Fi 6 AX201 160MHz 8086 0074 Wi-Fi 6 AX201 160MHz 8086 4070 Wi-Fi 6 AX201 160MHz + 8086 4090 Wi-Fi 6E AX211 160MHz 5200 EtherExpress PRO/100 Intelligent Server PCI Bridge 5201 EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller 8086 0001 EtherExpress PRO/100 Server Ethernet Adapter diff --git a/man/50-xdg-data-dirs.sh b/man/50-xdg-data-dirs.sh index 5f042c551..0a180ffa3 100755 --- a/man/50-xdg-data-dirs.sh +++ b/man/50-xdg-data-dirs.sh @@ -1,5 +1,5 @@ #!/bin/sh -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # set the default value XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}" diff --git a/man/90-rearrange-path.py b/man/90-rearrange-path.py index 50696a60e..5c727e411 100755 --- a/man/90-rearrange-path.py +++ b/man/90-rearrange-path.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 """ diff --git a/man/check-os-release-simple.py b/man/check-os-release-simple.py index 738b1fd86..ce73c77b1 100644 --- a/man/check-os-release-simple.py +++ b/man/check-os-release-simple.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 import platform os_release = platform.freedesktop_os_release() diff --git a/man/check-os-release.py b/man/check-os-release.py index 1a57c7a20..19b193ec7 100644 --- a/man/check-os-release.py +++ b/man/check-os-release.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 import ast import re diff --git a/man/check-os-release.sh b/man/check-os-release.sh index 35c8cac4b..12f7ee12c 100644 --- a/man/check-os-release.sh +++ b/man/check-os-release.sh @@ -1,5 +1,5 @@ #!/bin/sh -eu -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 test -e /etc/os-release && os_release='/etc/os-release' || os_release='/usr/lib/os-release' . "${os_release}" diff --git a/man/event-quick-child.c b/man/event-quick-child.c index 16cc6cf3a..8195efbaa 100644 --- a/man/event-quick-child.c +++ b/man/event-quick-child.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/fido2-crypttab.sh b/man/fido2-crypttab.sh index f7d25bf88..acb2e177e 100644 --- a/man/fido2-crypttab.sh +++ b/man/fido2-crypttab.sh @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # Enroll the security token in the LUKS2 volume. Replace /dev/sdXn by the # partition to use (e.g. /dev/sda1). diff --git a/man/glib-event-glue.c b/man/glib-event-glue.c index 3741b5257..61e8bf646 100644 --- a/man/glib-event-glue.c +++ b/man/glib-event-glue.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/halt.xml b/man/halt.xml index 6d272f7da..c13ee5c14 100644 --- a/man/halt.xml +++ b/man/halt.xml @@ -69,8 +69,9 @@ - Power-off the machine, regardless of which one - of the three commands is invoked. + Power-off the machine, when either halt + or poweroff is invoked. This option is ignored when + reboot is invoked. diff --git a/man/hwdb-usb-device.c b/man/hwdb-usb-device.c index 743c190f9..19a5db802 100644 --- a/man/hwdb-usb-device.c +++ b/man/hwdb-usb-device.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/id128-app-specific.c b/man/id128-app-specific.c index 39660f4f8..b8982c75f 100644 --- a/man/id128-app-specific.c +++ b/man/id128-app-specific.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/inotify-watch-tmp.c b/man/inotify-watch-tmp.c index a1144790c..07ee8f675 100644 --- a/man/inotify-watch-tmp.c +++ b/man/inotify-watch-tmp.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journal-enumerate-fields.c b/man/journal-enumerate-fields.c index f4b6b7b07..bb0931970 100644 --- a/man/journal-enumerate-fields.c +++ b/man/journal-enumerate-fields.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journal-iterate-foreach.c b/man/journal-iterate-foreach.c index 363101d5b..381b50f9c 100644 --- a/man/journal-iterate-foreach.c +++ b/man/journal-iterate-foreach.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journal-iterate-poll.c b/man/journal-iterate-poll.c index 8205bfd85..d377324b7 100644 --- a/man/journal-iterate-poll.c +++ b/man/journal-iterate-poll.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journal-iterate-unique.c b/man/journal-iterate-unique.c index ac0c63803..5fe98b36b 100644 --- a/man/journal-iterate-unique.c +++ b/man/journal-iterate-unique.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journal-iterate-wait.c b/man/journal-iterate-wait.c index 60b3459a1..ac4b60b8e 100644 --- a/man/journal-iterate-wait.c +++ b/man/journal-iterate-wait.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journal-stream-fd.c b/man/journal-stream-fd.c index d59aa14c1..8aad5ff8c 100644 --- a/man/journal-stream-fd.c +++ b/man/journal-stream-fd.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/journald.conf.xml b/man/journald.conf.xml index a14abad32..24cee4c8b 100644 --- a/man/journald.conf.xml +++ b/man/journald.conf.xml @@ -273,21 +273,16 @@ RuntimeMaxUse= limit after a vacuuming operation is complete. - SystemMaxFileSize= and - RuntimeMaxFileSize= control how large - individual journal files may grow at most. This influences - the granularity in which disk space is made available through - rotation, i.e. deletion of historic data. Defaults to one - eighth of the values configured with - SystemMaxUse= and - RuntimeMaxUse=, so that usually seven - rotated journal files are kept as history. - - Specify values in bytes or use K, M, G, T, P, E as - units for the specified sizes (equal to 1024, 1024², … bytes). - Note that size limits are enforced synchronously when journal - files are extended, and no explicit rotation step triggered by - time is needed. + SystemMaxFileSize= and RuntimeMaxFileSize= control how + large individual journal files may grow at most. This influences the granularity in which disk space + is made available through rotation, i.e. deletion of historic data. Defaults to one eighth of the + values configured with SystemMaxUse= and RuntimeMaxUse=, so + that usually seven rotated journal files are kept as history. If the journal compact mode is enabled + (enabled by default), the maximum file size is capped to 4G. + + Specify values in bytes or use K, M, G, T, P, E as units for the specified sizes (equal to + 1024, 1024², … bytes). Note that size limits are enforced synchronously when journal files are + extended, and no explicit rotation step triggered by time is needed. SystemMaxFiles= and RuntimeMaxFiles= control how many diff --git a/man/path-documents.c b/man/path-documents.c index 13ea85a82..a357dd659 100644 --- a/man/path-documents.c +++ b/man/path-documents.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/print-unit-path.c b/man/print-unit-path.c index ff52fd28c..44c827182 100644 --- a/man/print-unit-path.c +++ b/man/print-unit-path.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/sd-bus-container-append.c b/man/sd-bus-container-append.c index 11238779d..8bb4f33e8 100644 --- a/man/sd-bus-container-append.c +++ b/man/sd-bus-container-append.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include diff --git a/man/sd-bus-container-read.c b/man/sd-bus-container-read.c index 75be5fa9b..5ede316c0 100644 --- a/man/sd-bus-container-read.c +++ b/man/sd-bus-container-read.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include diff --git a/man/sd_bus_error-example.c b/man/sd_bus_error-example.c index abea13ca4..9b162eb6c 100644 --- a/man/sd_bus_error-example.c +++ b/man/sd_bus_error-example.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/send-unit-files-changed.c b/man/send-unit-files-changed.c index 4d03dd1fe..dfd38a14a 100644 --- a/man/send-unit-files-changed.c +++ b/man/send-unit-files-changed.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #define _cleanup_(f) __attribute__((cleanup(f))) diff --git a/man/systemd-dissect.xml b/man/systemd-dissect.xml index 6430501bd..9528e91a4 100644 --- a/man/systemd-dissect.xml +++ b/man/systemd-dissect.xml @@ -18,7 +18,7 @@ systemd-dissect - Dissect file system OS images + Dissect Discoverable Disk Images (DDIs) @@ -43,7 +43,7 @@ Description systemd-dissect is a tool for introspecting and interacting with file system OS - disk images. It supports five different operations: + disk images, specifically Discoverable Disk Images (DDIs). It supports five different operations: Show general OS image information, including the image's diff --git a/man/systemd-stub.xml b/man/systemd-stub.xml index dacf0fa7a..415d663f5 100644 --- a/man/systemd-stub.xml +++ b/man/systemd-stub.xml @@ -396,6 +396,10 @@ /usr/lib/systemd/boot/efi/linuxx64.efi.stub \ foo-unsigned.efi + Note that these PE section offsets are example values and a properly assembled image must not + contain any overlapping sections (this includes already existing sections inside the stub before + assembly) or boot may fail. + This generates one PE executable file foo-unsigned.efi from the six individual files for OS release information, kernel command line, boot splash image, kernel image, main initrd and UEFI boot stub. diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index 50da5e641..29666b102 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml @@ -708,27 +708,28 @@ CapabilityBoundingSet=~CAP_B CAP_C setgid bits, or filesystem capabilities). This is the simplest and most effective way to ensure that a process and its children can never elevate privileges again. Defaults to false, but certain settings override this and ignore the value of this setting. This is the case when - DynamicUser=, - LockPersonality=, - MemoryDenyWriteExecute=, - PrivateDevices=, - ProtectClock=, - ProtectHostname=, - ProtectKernelLogs=, - ProtectKernelModules=, - ProtectKernelTunables=, - RestrictAddressFamilies=, - RestrictNamespaces=, - RestrictRealtime=, - RestrictSUIDSGID=, - SystemCallArchitectures=, - SystemCallFilter=, or - SystemCallLog= are specified. Note that even if this setting is overridden - by them, systemctl show shows the original value of this setting. In case the - service will be run in a new mount namespace anyway and SELinux is disabled, all file systems - are mounted with MS_NOSUID flag. Also see - No New - Privileges Flag. + DynamicUser=, LockPersonality=, + MemoryDenyWriteExecute=, PrivateDevices=, + ProtectClock=, ProtectHostname=, + ProtectKernelLogs=, ProtectKernelModules=, + ProtectKernelTunables=, RestrictAddressFamilies=, + RestrictNamespaces=, RestrictRealtime=, + RestrictSUIDSGID=, SystemCallArchitectures=, + SystemCallFilter=, or SystemCallLog= are specified. Note that + even if this setting is overridden by them, systemctl show shows the original + value of this setting. In case the service will be run in a new mount namespace anyway and SELinux is + disabled, all file systems are mounted with MS_NOSUID flag. Also see No New Privileges + Flag. + + Note that this setting only has an effect on the unit's processes themselves (or any processes + directly or indirectly forked off them). It has no effect on processes potentially invoked on request + of them through tools such as at1p, + crontab1p, + systemd-run1, or + arbitrary IPC services. diff --git a/man/systemd.network.xml b/man/systemd.network.xml index e35da7bd4..ffed2ee06 100644 --- a/man/systemd.network.xml +++ b/man/systemd.network.xml @@ -2008,9 +2008,11 @@ allow my_server_t localnet_peer_t:peer recv; RouteTable=num - The table identifier for DHCP routes (a number between 1 and 4294967295, or 0 to - unset). The table can be retrieved using - ip route show table num. + The table identifier for DHCP routes. Takes one of predefined names + default, main, and local, and names + defined in RouteTable= in + networkd.conf5, + or a number between 1…4294967295. When used in combination with VRF=, the VRF's routing table is used when this parameter is not specified. @@ -2502,10 +2504,14 @@ Token=prefixstable:2002:da8:1:: RouteTable=num - The table identifier for the routes received in the Router Advertisement - (a number between 1 and 4294967295, or 0 to unset). - The table can be retrieved using ip route show table num. - + The table identifier for the routes received in the Router Advertisement. Takes one of + predefined names default, main, and local, + and names defined in RouteTable= in + networkd.conf5, + or a number between 1…4294967295. + + When used in combination with VRF=, the VRF's routing table is + used when this parameter is not specified. diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index bc45803bb..8e1a3464d 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -1745,6 +1745,7 @@ AssertHost= AssertKernelCommandLine= AssertKernelVersion= + AssertCredential= AssertEnvironment= AssertSecurity= AssertCapability= diff --git a/man/tpm2-crypttab.sh b/man/tpm2-crypttab.sh index a988fb6e0..d109eb40c 100644 --- a/man/tpm2-crypttab.sh +++ b/man/tpm2-crypttab.sh @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # Enroll the TPM2 security chip in the LUKS2 volume, and bind it to PCR 7 # only. Replace /dev/sdXn by the partition to use (e.g. /dev/sda1). diff --git a/man/vtable-example.c b/man/vtable-example.c index d82bb18a3..e3346a802 100644 --- a/man/vtable-example.c +++ b/man/vtable-example.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: CC0-1.0 */ +/* SPDX-License-Identifier: MIT-0 */ #include #include diff --git a/man/yubikey-crypttab.sh b/man/yubikey-crypttab.sh index 13084dbf1..ce9c2917c 100644 --- a/man/yubikey-crypttab.sh +++ b/man/yubikey-crypttab.sh @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # Destroy any old key on the Yubikey (careful!) ykman piv reset diff --git a/network/80-6rd-tunnel.network b/network/80-6rd-tunnel.network index 6b9748a07..fb163e732 100644 --- a/network/80-6rd-tunnel.network +++ b/network/80-6rd-tunnel.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-container-host0.network b/network/80-container-host0.network index da92b6bd0..30476674e 100644 --- a/network/80-container-host0.network +++ b/network/80-container-host0.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-container-vb.network b/network/80-container-vb.network index 9908f8758..3a99ab876 100644 --- a/network/80-container-vb.network +++ b/network/80-container-vb.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-container-ve.network b/network/80-container-ve.network index 10441a571..d295d131a 100644 --- a/network/80-container-ve.network +++ b/network/80-container-ve.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-container-vz.network b/network/80-container-vz.network index 6861fe7df..7d902e78b 100644 --- a/network/80-container-vz.network +++ b/network/80-container-vz.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-ethernet.network.example b/network/80-ethernet.network.example index 30c710098..ce82b2572 100644 --- a/network/80-ethernet.network.example +++ b/network/80-ethernet.network.example @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This example config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To use the file, one of the following methods may be used: # 1. add a symlink from /etc/systemd/network to the current location of this file, diff --git a/network/80-vm-vt.network b/network/80-vm-vt.network index f1cb60fd1..7979871e2 100644 --- a/network/80-vm-vt.network +++ b/network/80-vm-vt.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-wifi-adhoc.network b/network/80-wifi-adhoc.network index 3d5ba3cad..d7a341d01 100644 --- a/network/80-wifi-adhoc.network +++ b/network/80-wifi-adhoc.network @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/network/80-wifi-ap.network.example b/network/80-wifi-ap.network.example index d866f7900..6ea102431 100644 --- a/network/80-wifi-ap.network.example +++ b/network/80-wifi-ap.network.example @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This example config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To use the file, one of the following methods may be used: # 1. add a symlink from /etc/systemd/network to the current location of this file, diff --git a/network/80-wifi-station.network.example b/network/80-wifi-station.network.example index a1cd3530e..160b4eb5e 100644 --- a/network/80-wifi-station.network.example +++ b/network/80-wifi-station.network.example @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This example config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To use the file, one of the following methods may be used: # 1. add a symlink from /etc/systemd/network to the current location of this file, diff --git a/network/99-default.link b/network/99-default.link index dad91bb1a..429ac31e8 100644 --- a/network/99-default.link +++ b/network/99-default.link @@ -1,7 +1,7 @@ -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. -# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, one of the following methods may be used: # 1. add a drop-in file that extends this file by creating the diff --git a/po/hr.po b/po/hr.po index 506f6f4cd..80c85be98 100644 --- a/po/hr.po +++ b/po/hr.po @@ -3,12 +3,12 @@ # SOME DESCRIPTIVE TITLE. # This file is distributed under the same license as the PACKAGE package. # gogo , 2016. -# Gogo Gogsi , 2020, 2021. +# Gogo Gogsi , 2020, 2021, 2022. msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-20 10:35+0200\n" -"PO-Revision-Date: 2021-10-03 16:04+0000\n" +"PO-Revision-Date: 2022-10-31 11:19+0000\n" "Last-Translator: Gogo Gogsi \n" "Language-Team: Croatian \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.8\n" +"X-Generator: Weblate 4.14.1\n" #: src/core/org.freedesktop.systemd1.policy.in:22 msgid "Send passphrase back to system" @@ -155,22 +155,19 @@ msgstr "Potrebna je ovjera za prikaz UUID-a proizvoda." #: src/hostname/org.freedesktop.hostname1.policy:61 msgid "Get hardware serial number" -msgstr "" +msgstr "Prikaži serijski broj hardvera" #: src/hostname/org.freedesktop.hostname1.policy:62 -#, fuzzy msgid "Authentication is required to get hardware serial number." -msgstr "Potrebna je ovjera za postavljanje vremena sustava." +msgstr "Potrebna je ovjera za prikaz serijskog broja hardvera." #: src/hostname/org.freedesktop.hostname1.policy:71 -#, fuzzy msgid "Get system description" -msgstr "Postavi vremensku zonu sustava" +msgstr "Prikaži informacije sustava" #: src/hostname/org.freedesktop.hostname1.policy:72 -#, fuzzy msgid "Authentication is required to get system description." -msgstr "Potrebna je ovjera za postavljanje vremenske zone sustava." +msgstr "Potrebna je ovjera za prikaz informacija sustava." #: src/import/org.freedesktop.import1.policy:22 msgid "Import a VM or container image" diff --git a/po/ka.po b/po/ka.po index b5929dd3f..7ae99a827 100644 --- a/po/ka.po +++ b/po/ka.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-20 10:35+0200\n" -"PO-Revision-Date: 2022-03-10 18:16+0000\n" +"PO-Revision-Date: 2022-10-25 22:19+0000\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.11.2\n" +"X-Generator: Weblate 4.14.1\n" #: src/core/org.freedesktop.systemd1.policy.in:22 msgid "Send passphrase back to system" @@ -149,22 +149,19 @@ msgstr "პროდუქტის UUID-ის ამოსაღებად #: src/hostname/org.freedesktop.hostname1.policy:61 msgid "Get hardware serial number" -msgstr "" +msgstr "აპარატურის სერიული ნომრის მიღება" #: src/hostname/org.freedesktop.hostname1.policy:62 -#, fuzzy msgid "Authentication is required to get hardware serial number." -msgstr "სისტემური დროის დასაყენებლად საჭიროა ავთენტიკაცია." +msgstr "აპარატურის სერიული ნომრის მისაღებად საჭიროა ავთენტიკაცია." #: src/hostname/org.freedesktop.hostname1.policy:71 -#, fuzzy msgid "Get system description" -msgstr "სისტემური დროის სარტყლის დაყენება" +msgstr "სისტემის აღწერის მიღება" #: src/hostname/org.freedesktop.hostname1.policy:72 -#, fuzzy msgid "Authentication is required to get system description." -msgstr "სისტემური დროის სარტყლის დასაყენებლად საჭიროა ავთენტიკაცია." +msgstr "სისტემის აღწერის მისაღებად საჭიროა ავთენტიკაცია." #: src/import/org.freedesktop.import1.policy:22 msgid "Import a VM or container image" diff --git a/po/ru.po b/po/ru.po index 8e5dde3b0..26b0f9575 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,12 +6,13 @@ # Sergey Ptashnick <0comffdiz@inbox.ru>, 2013-2018. # Vladimir Yerilov , 2020. # Alexey Rubtsov , 2021. +# Olga Smirnova , 2022. msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-20 10:35+0200\n" -"PO-Revision-Date: 2021-07-02 09:04+0000\n" -"Last-Translator: Alexey Rubtsov \n" +"PO-Revision-Date: 2022-10-27 23:19+0000\n" +"Last-Translator: Olga Smirnova \n" "Language-Team: Russian \n" "Language: ru\n" @@ -20,7 +21,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.7.1\n" +"X-Generator: Weblate 4.14.1\n" #: src/core/org.freedesktop.systemd1.policy.in:22 msgid "Send passphrase back to system" @@ -174,22 +175,19 @@ msgstr "Чтобы получить UUID продукта, необходимо #: src/hostname/org.freedesktop.hostname1.policy:61 msgid "Get hardware serial number" -msgstr "" +msgstr "Получить серийный номер оборудования" #: src/hostname/org.freedesktop.hostname1.policy:62 -#, fuzzy msgid "Authentication is required to get hardware serial number." -msgstr "Чтобы настроить системное время, необходимо пройти аутентификацию." +msgstr "Чтобы получить серийный номер, необходимо пройти аутентификацию." #: src/hostname/org.freedesktop.hostname1.policy:71 -#, fuzzy msgid "Get system description" -msgstr "Настроить часовой пояс" +msgstr "Получить описание системы" #: src/hostname/org.freedesktop.hostname1.policy:72 -#, fuzzy msgid "Authentication is required to get system description." -msgstr "Чтобы настроить часовой пояс, необходимо пройти аутентификацию." +msgstr "Чтобы получить описание системы, необходимо пройти аутентификацию." #: src/import/org.freedesktop.import1.policy:22 msgid "Import a VM or container image" diff --git a/po/sv.po b/po/sv.po index effceed18..1c7774225 100644 --- a/po/sv.po +++ b/po/sv.po @@ -6,12 +6,13 @@ # Josef Andersson , 2015, 2017. # Göran Uddeborg , 2020, 2021. # Luna Jernberg , 2020. +# Anders Jonsson , 2022. msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-20 10:35+0200\n" -"PO-Revision-Date: 2021-02-10 15:40+0000\n" -"Last-Translator: Göran Uddeborg \n" +"PO-Revision-Date: 2022-10-27 23:19+0000\n" +"Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -19,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.4.2\n" +"X-Generator: Weblate 4.14.1\n" #: src/core/org.freedesktop.systemd1.policy.in:22 msgid "Send passphrase back to system" @@ -159,22 +160,19 @@ msgstr "Autentisering krävs för att hämta produkt-UUID." #: src/hostname/org.freedesktop.hostname1.policy:61 msgid "Get hardware serial number" -msgstr "" +msgstr "Hämta serienummer för hÃ¥rdvara" #: src/hostname/org.freedesktop.hostname1.policy:62 -#, fuzzy msgid "Authentication is required to get hardware serial number." -msgstr "Autentisering krävs för ställa in systemtiden." +msgstr "Autentisering krävs för att hämta serienummer för hÃ¥rdvara." #: src/hostname/org.freedesktop.hostname1.policy:71 -#, fuzzy msgid "Get system description" -msgstr "Ange systemets tidszon" +msgstr "Hämta systemets beskrivning" #: src/hostname/org.freedesktop.hostname1.policy:72 -#, fuzzy msgid "Authentication is required to get system description." -msgstr "Autentisering krävs för att ställa in systemets tidszon." +msgstr "Autentisering krävs för att hämta systemets beskrivning." #: src/import/org.freedesktop.import1.policy:22 msgid "Import a VM or container image" @@ -771,7 +769,7 @@ msgstr "Återställ NTP-inställningar" #: src/network/org.freedesktop.network1.policy:122 msgid "Authentication is required to reset NTP settings." -msgstr "Autentisering krävs för Ã¥terställa NTP-inställningar." +msgstr "Autentisering krävs för att Ã¥terställa NTP-inställningar." #: src/network/org.freedesktop.network1.policy:132 msgid "Revert DNS settings" diff --git a/po/zh_CN.po b/po/zh_CN.po index c45640060..8b8b7aac6 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -4,13 +4,13 @@ # Frank Hill , 2014. # Boyuan Yang <073plan@gmail.com>, 2015. # Jeff Bai , 2016. -# Charles Lee , 2020, 2021. +# Charles Lee , 2020, 2021, 2022. # Whired Planck , 2020. msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-20 10:35+0200\n" -"PO-Revision-Date: 2021-03-01 09:40+0000\n" +"PO-Revision-Date: 2022-10-31 11:19+0000\n" "Last-Translator: Charles Lee \n" "Language-Team: Chinese (Simplified) \n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.4.2\n" +"X-Generator: Weblate 4.14.1\n" #: src/core/org.freedesktop.systemd1.policy.in:22 msgid "Send passphrase back to system" @@ -156,22 +156,19 @@ msgstr "获取产品 UUID 需要认证。" #: src/hostname/org.freedesktop.hostname1.policy:61 msgid "Get hardware serial number" -msgstr "" +msgstr "获取硬件序列号" #: src/hostname/org.freedesktop.hostname1.policy:62 -#, fuzzy msgid "Authentication is required to get hardware serial number." -msgstr "设置系统时间需要认证。" +msgstr "获取硬件序列号需要认证。" #: src/hostname/org.freedesktop.hostname1.policy:71 -#, fuzzy msgid "Get system description" -msgstr "设置系统时区" +msgstr "获得系统描述" #: src/hostname/org.freedesktop.hostname1.policy:72 -#, fuzzy msgid "Authentication is required to get system description." -msgstr "设置系统时区需要认证。" +msgstr "获得系统描述需要认证。" #: src/import/org.freedesktop.import1.policy:22 msgid "Import a VM or container image" diff --git a/rules.d/60-persistent-storage.rules b/rules.d/60-persistent-storage.rules index 64a240919..18588e4c4 100644 --- a/rules.d/60-persistent-storage.rules +++ b/rules.d/60-persistent-storage.rules @@ -59,14 +59,20 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{type}== # Run ata_id on non-removable USB Mass Storage (SATA/PATA disks in enclosures) KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", ATTR{removable}=="0", SUBSYSTEMS=="usb", IMPORT{program}="ata_id --export $devnode" -# Fall back usb_id for USB devices -KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id" +# Also import properties from usb_id for USB devices +KERNEL=="sd*[!0-9]|sr*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id" # SCSI devices KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" +# Previously, ata_id in the above might not be able to retrieve attributes correctly, +# and properties from usb_id were used as a fallback. See issue #24921 and PR #24923. +# To keep backward compatibility, still we need to create symlinks based on USB serial. +# See issue #25179. +KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_USB_SERIAL}=="?*", SYMLINK+="disk/by-id/usb-$env{ID_USB_SERIAL}" +KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_USB_SERIAL}=="?*", SYMLINK+="disk/by-id/usb-$env{ID_USB_SERIAL}-part%n" # PMEM devices KERNEL=="pmem*", ENV{DEVTYPE}=="disk", ATTRS{uuid}=="?*", SYMLINK+="disk/by-id/pmem-$attr{uuid}" diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c index 4a276f66b..6e47357a1 100644 --- a/src/analyze/analyze.c +++ b/src/analyze/analyze.c @@ -241,6 +241,8 @@ static int help(int argc, char *argv[], void *userdata) { " -h --help Show this help\n" " --version Show package version\n" " -q --quiet Do not emit hints\n" + " --root=PATH Operate on an alternate filesystem root\n" + " --image=PATH Operate on disk image as filesystem root\n" "\nSee the %s for details.\n", program_invocation_short_name, ansi_highlight(), diff --git a/src/basic/fd-util.c b/src/basic/fd-util.c index 6c85a3489..cee20a9a8 100644 --- a/src/basic/fd-util.c +++ b/src/basic/fd-util.c @@ -2,7 +2,6 @@ #include #include -#include #if WANT_LINUX_FS_H #include #endif @@ -779,20 +778,6 @@ int read_nr_open(void) { return 1024 * 1024; } -/* This is here because it's fd-related and is called from sd-journal code. Other btrfs-related utilities are - * in src/shared, but libsystemd must not link to libsystemd-shared, see docs/ARCHITECTURE.md. */ -int btrfs_defrag_fd(int fd) { - int r; - - assert(fd >= 0); - - r = fd_verify_regular(fd); - if (r < 0) - return r; - - return RET_NERRNO(ioctl(fd, BTRFS_IOC_DEFRAG, NULL)); -} - int fd_get_diskseq(int fd, uint64_t *ret) { uint64_t diskseq; diff --git a/src/basic/fd-util.h b/src/basic/fd-util.h index 8543d0d5e..d9896e27e 100644 --- a/src/basic/fd-util.h +++ b/src/basic/fd-util.h @@ -108,7 +108,6 @@ static inline int make_null_stdio(void) { int fd_reopen(int fd, int flags); int read_nr_open(void); -int btrfs_defrag_fd(int fd); int fd_get_diskseq(int fd, uint64_t *ret); /* The maximum length a buffer for a /proc/self/fd/ path needs */ diff --git a/src/boot/efi/cpio.c b/src/boot/efi/cpio.c index 1e814525b..648f9f000 100644 --- a/src/boot/efi/cpio.c +++ b/src/boot/efi/cpio.c @@ -341,7 +341,7 @@ static EFI_STATUS measure_cpio( return EFI_SUCCESS; } -char16_t *get_dropin_dir(const EFI_DEVICE_PATH *file_path) { +static char16_t *get_dropin_dir(const EFI_DEVICE_PATH *file_path) { if (!file_path) return NULL; diff --git a/src/boot/efi/initrd.c b/src/boot/efi/initrd.c index 0132c9edd..d994ef86d 100644 --- a/src/boot/efi/initrd.c +++ b/src/boot/efi/initrd.c @@ -37,7 +37,7 @@ static const struct { } }; -EFIAPI EFI_STATUS initrd_load_file( +static EFIAPI EFI_STATUS initrd_load_file( EFI_LOAD_FILE_PROTOCOL *this, EFI_DEVICE_PATH *file_path, BOOLEAN boot_policy, diff --git a/src/boot/efi/linux.c b/src/boot/efi/linux.c index 813e648b6..75b950770 100644 --- a/src/boot/efi/linux.c +++ b/src/boot/efi/linux.c @@ -51,7 +51,7 @@ static EFIAPI EFI_STATUS security2_hook( this->original_security2, device_path, file_buffer, file_size, boot_policy); } -EFI_STATUS load_image(EFI_HANDLE parent, const void *source, size_t len, EFI_HANDLE *ret_image) { +static EFI_STATUS load_image(EFI_HANDLE parent, const void *source, size_t len, EFI_HANDLE *ret_image) { assert(parent); assert(source); assert(ret_image); diff --git a/src/boot/efi/secure-boot.c b/src/boot/efi/secure-boot.c index 6a5c2a9be..171b2c96b 100644 --- a/src/boot/efi/secure-boot.c +++ b/src/boot/efi/secure-boot.c @@ -159,7 +159,7 @@ static EFI_STATUS install_security_override_one(EFI_GUID guid, SecurityOverride /* This replaces the platform provided security arch protocols (defined in the UEFI Platform Initialization * Specification) with the provided override instances. If not running in secure boot or the protocols are - * not available nothing happens. The override instances are provided with the neccessary info to undo this + * not available nothing happens. The override instances are provided with the necessary info to undo this * in uninstall_security_override(). */ void install_security_override(SecurityOverride *override, SecurityOverride *override2) { assert(override); diff --git a/src/boot/measure.c b/src/boot/measure.c index 6372c9314..4f16acedf 100644 --- a/src/boot/measure.c +++ b/src/boot/measure.c @@ -623,6 +623,9 @@ static int verb_calculate(int argc, char *argv[], void *userdata) { if (!arg_sections[UNIFIED_SECTION_LINUX] && !arg_current) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Either --linux= or --current must be specified, refusing."); + assert(!strv_isempty(arg_banks)); + assert(!strv_isempty(arg_phase)); + r = pcr_states_allocate(&pcr_states); if (r < 0) return r; @@ -721,6 +724,9 @@ static int verb_sign(int argc, char *argv[], void *userdata) { if (!arg_private_key) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "No private key specified, use --private-key=."); + assert(!strv_isempty(arg_banks)); + assert(!strv_isempty(arg_phase)); + /* When signing we only support JSON output */ arg_json_format_flags &= ~JSON_FORMAT_OFF; @@ -773,6 +779,10 @@ static int verb_sign(int argc, char *argv[], void *userdata) { if (r < 0) return r; + r = pcr_states_save(pcr_states, n); + if (r < 0) + return r; + r = dlopen_tpm2(); if (r < 0) return r; @@ -781,151 +791,166 @@ static int verb_sign(int argc, char *argv[], void *userdata) { if (r < 0) return r; - for (size_t i = 0; i < n; i++) { - static const TPMT_SYM_DEF symmetric = { - .algorithm = TPM2_ALG_AES, - .keyBits.aes = 128, - .mode.aes = TPM2_ALG_CFB, - }; - PcrState *p = pcr_states + i; - - rc = sym_Esys_StartAuthSession( - c.esys_context, - ESYS_TR_NONE, - ESYS_TR_NONE, - ESYS_TR_NONE, - ESYS_TR_NONE, - ESYS_TR_NONE, - NULL, - TPM2_SE_TRIAL, - &symmetric, - TPM2_ALG_SHA256, - &session_handle); - if (rc != TSS2_RC_SUCCESS) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to open session in TPM: %s", sym_Tss2_RC_Decode(rc)); - goto finish; - } + STRV_FOREACH(phase, arg_phase) { - /* Generate a single hash value from the PCRs included in our policy. Given that that's - * exactly one, the calculation is trivial. */ - TPM2B_DIGEST intermediate_digest = { - .size = SHA256_DIGEST_SIZE, - }; - assert(sizeof(intermediate_digest.buffer) >= SHA256_DIGEST_SIZE); - sha256_direct(p->value, p->value_size, intermediate_digest.buffer); + r = measure_phase(pcr_states, n, *phase); + if (r < 0) + return r; - int tpmalg = tpm2_pcr_bank_from_string(EVP_MD_name(p->md)); - if (tpmalg < 0) { - log_error_errno(tpmalg, "Unsupported PCR bank"); - goto finish; - } + for (size_t i = 0; i < n; i++) { + static const TPMT_SYM_DEF symmetric = { + .algorithm = TPM2_ALG_AES, + .keyBits.aes = 128, + .mode.aes = TPM2_ALG_CFB, + }; + PcrState *p = pcr_states + i; + + rc = sym_Esys_StartAuthSession( + c.esys_context, + ESYS_TR_NONE, + ESYS_TR_NONE, + ESYS_TR_NONE, + ESYS_TR_NONE, + ESYS_TR_NONE, + NULL, + TPM2_SE_TRIAL, + &symmetric, + TPM2_ALG_SHA256, + &session_handle); + if (rc != TSS2_RC_SUCCESS) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to open session in TPM: %s", sym_Tss2_RC_Decode(rc)); + goto finish; + } - TPML_PCR_SELECTION pcr_selection; - tpm2_pcr_mask_to_selection(1 << TPM_PCR_INDEX_KERNEL_IMAGE, tpmalg, &pcr_selection); - - rc = sym_Esys_PolicyPCR( - c.esys_context, - session_handle, - ESYS_TR_NONE, - ESYS_TR_NONE, - ESYS_TR_NONE, - &intermediate_digest, - &pcr_selection); - if (rc != TSS2_RC_SUCCESS) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to push PCR policy into TPM: %s", sym_Tss2_RC_Decode(rc)); - goto finish; - } + /* Generate a single hash value from the PCRs included in our policy. Given that that's + * exactly one, the calculation is trivial. */ + TPM2B_DIGEST intermediate_digest = { + .size = SHA256_DIGEST_SIZE, + }; + assert(sizeof(intermediate_digest.buffer) >= SHA256_DIGEST_SIZE); + sha256_direct(p->value, p->value_size, intermediate_digest.buffer); + + int tpmalg = tpm2_pcr_bank_from_string(EVP_MD_name(p->md)); + if (tpmalg < 0) { + log_error_errno(tpmalg, "Unsupported PCR bank"); + goto finish; + } - _cleanup_(Esys_Freep) TPM2B_DIGEST *pcr_policy_digest = NULL; - rc = sym_Esys_PolicyGetDigest( - c.esys_context, - session_handle, - ESYS_TR_NONE, - ESYS_TR_NONE, - ESYS_TR_NONE, - &pcr_policy_digest); - if (rc != TSS2_RC_SUCCESS) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to get policy digest from TPM: %s", sym_Tss2_RC_Decode(rc)); - goto finish; - } + TPML_PCR_SELECTION pcr_selection; + tpm2_pcr_mask_to_selection(1 << TPM_PCR_INDEX_KERNEL_IMAGE, tpmalg, &pcr_selection); + + rc = sym_Esys_PolicyPCR( + c.esys_context, + session_handle, + ESYS_TR_NONE, + ESYS_TR_NONE, + ESYS_TR_NONE, + &intermediate_digest, + &pcr_selection); + if (rc != TSS2_RC_SUCCESS) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to push PCR policy into TPM: %s", sym_Tss2_RC_Decode(rc)); + goto finish; + } - session_handle = tpm2_flush_context_verbose(c.esys_context, session_handle); + _cleanup_(Esys_Freep) TPM2B_DIGEST *pcr_policy_digest = NULL; + rc = sym_Esys_PolicyGetDigest( + c.esys_context, + session_handle, + ESYS_TR_NONE, + ESYS_TR_NONE, + ESYS_TR_NONE, + &pcr_policy_digest); + if (rc != TSS2_RC_SUCCESS) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to get policy digest from TPM: %s", sym_Tss2_RC_Decode(rc)); + goto finish; + } - _cleanup_(EVP_MD_CTX_freep) EVP_MD_CTX* mdctx = NULL; - mdctx = EVP_MD_CTX_new(); - if (!mdctx) { - r = log_oom(); - goto finish; - } + session_handle = tpm2_flush_context_verbose(c.esys_context, session_handle); - if (EVP_DigestSignInit(mdctx, NULL, p->md, NULL, privkey) != 1) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to initialize signature context."); - goto finish; - } + _cleanup_(EVP_MD_CTX_freep) EVP_MD_CTX* mdctx = NULL; + mdctx = EVP_MD_CTX_new(); + if (!mdctx) { + r = log_oom(); + goto finish; + } - if (EVP_DigestSignUpdate(mdctx, pcr_policy_digest->buffer, pcr_policy_digest->size) != 1) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to sign data."); - goto finish; - } + if (EVP_DigestSignInit(mdctx, NULL, p->md, NULL, privkey) != 1) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to initialize signature context."); + goto finish; + } - size_t ss; - if (EVP_DigestSignFinal(mdctx, NULL, &ss) != 1) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to finalize signature"); - goto finish; - } + if (EVP_DigestSignUpdate(mdctx, pcr_policy_digest->buffer, pcr_policy_digest->size) != 1) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to sign data."); + goto finish; + } - _cleanup_free_ void *sig = malloc(ss); - if (!ss) { - r = log_oom(); - goto finish; - } + size_t ss; + if (EVP_DigestSignFinal(mdctx, NULL, &ss) != 1) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to finalize signature"); + goto finish; + } - if (EVP_DigestSignFinal(mdctx, sig, &ss) != 1) { - r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), - "Failed to acquire signature data"); - goto finish; - } + _cleanup_free_ void *sig = malloc(ss); + if (!ss) { + r = log_oom(); + goto finish; + } - _cleanup_free_ void *pubkey_fp = NULL; - size_t pubkey_fp_size = 0; - r = pubkey_fingerprint(pubkey, EVP_sha256(), &pubkey_fp, &pubkey_fp_size); - if (r < 0) - goto finish; + if (EVP_DigestSignFinal(mdctx, sig, &ss) != 1) { + r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), + "Failed to acquire signature data"); + goto finish; + } - _cleanup_(json_variant_unrefp) JsonVariant *bv = NULL, *a = NULL; + _cleanup_free_ void *pubkey_fp = NULL; + size_t pubkey_fp_size = 0; + r = pubkey_fingerprint(pubkey, EVP_sha256(), &pubkey_fp, &pubkey_fp_size); + if (r < 0) + goto finish; - r = tpm2_make_pcr_json_array(UINT64_C(1) << TPM_PCR_INDEX_KERNEL_IMAGE, &a); - if (r < 0) { - log_error_errno(r, "Failed to build JSON PCR mask array: %m"); - goto finish; - } + _cleanup_(json_variant_unrefp) JsonVariant *a = NULL; + r = tpm2_make_pcr_json_array(UINT64_C(1) << TPM_PCR_INDEX_KERNEL_IMAGE, &a); + if (r < 0) { + log_error_errno(r, "Failed to build JSON PCR mask array: %m"); + goto finish; + } - r = json_build(&bv, JSON_BUILD_ARRAY( - JSON_BUILD_OBJECT( - JSON_BUILD_PAIR("pcrs", JSON_BUILD_VARIANT(a)), /* PCR mask */ - JSON_BUILD_PAIR("pkfp", JSON_BUILD_HEX(pubkey_fp, pubkey_fp_size)), /* SHA256 fingerprint of public key (DER) used for the signature */ - JSON_BUILD_PAIR("pol", JSON_BUILD_HEX(pcr_policy_digest->buffer, pcr_policy_digest->size)), /* TPM2 policy hash that is signed */ - JSON_BUILD_PAIR("sig", JSON_BUILD_BASE64(sig, ss))))); /* signature data */ - if (r < 0) { - log_error_errno(r, "Failed to build JSON object: %m"); - goto finish; - } + _cleanup_(json_variant_unrefp) JsonVariant *bv = NULL; + r = json_build(&bv, JSON_BUILD_OBJECT( + JSON_BUILD_PAIR("pcrs", JSON_BUILD_VARIANT(a)), /* PCR mask */ + JSON_BUILD_PAIR("pkfp", JSON_BUILD_HEX(pubkey_fp, pubkey_fp_size)), /* SHA256 fingerprint of public key (DER) used for the signature */ + JSON_BUILD_PAIR("pol", JSON_BUILD_HEX(pcr_policy_digest->buffer, pcr_policy_digest->size)), /* TPM2 policy hash that is signed */ + JSON_BUILD_PAIR("sig", JSON_BUILD_BASE64(sig, ss)))); /* signature data */ + if (r < 0) { + log_error_errno(r, "Failed to build JSON object: %m"); + goto finish; + } + + _cleanup_(json_variant_unrefp) JsonVariant *av = NULL; + av = json_variant_ref(json_variant_by_key(v, p->bank)); + + r = json_variant_append_array(&av, bv); + if (r < 0) { + log_error_errno(r, "Failed to append JSON object: %m"); + goto finish; + } - r = json_variant_set_field(&v, p->bank, bv); - if (r < 0) { - log_error_errno(r, "Failed to add JSON field: %m"); - goto finish; + r = json_variant_set_field(&v, p->bank, av); + if (r < 0) { + log_error_errno(r, "Failed to add JSON field: %m"); + goto finish; + } } - } - if (!v) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unable to find a single working PCR bank."); + /* Return to the original kernel measurement for the next phase calculation */ + pcr_states_restore(pcr_states, n); + } if (arg_json_format_flags & (JSON_FORMAT_PRETTY|JSON_FORMAT_PRETTY_AUTO)) pager_open(arg_pager_flags); diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 633873da2..919aa58cd 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -2176,6 +2176,16 @@ static int install_error( "File %s is under the systemd unit hierarchy already.", changes[i].path); goto found; + case -EBADSLT: + r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING, + "Invalid specifier in %s.", changes[i].path); + goto found; + + case -EIDRM: + r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING, + "Destination unit %s is a non-template unit.", changes[i].path); + goto found; + case -EUCLEAN: r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING, "\"%s\" is not a valid unit name.", @@ -2188,11 +2198,26 @@ static int install_error( changes[i].path); goto found; + case -EXDEV: + if (changes[i].source) + r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING, + "Cannot alias %s as %s.", + changes[i].source, changes[i].path); + else + r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING, + "Invalid unit reference %s.", changes[i].path); + goto found; + case -ENOENT: r = sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT, "Unit file %s does not exist.", changes[i].path); goto found; + case -EUNATCH: + r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING, + "Cannot resolve specifiers in %s.", changes[i].path); + goto found; + default: assert(changes[i].type < 0); /* other errors */ r = sd_bus_error_set_errnof(error, changes[i].type, "File %s: %m", changes[i].path); diff --git a/src/core/system.conf.in b/src/core/system.conf.in index a4e79d303..71a5869ec 100644 --- a/src/core/system.conf.in +++ b/src/core/system.conf.in @@ -66,7 +66,7 @@ #DefaultLimitNOFILE=1024:{{HIGH_RLIMIT_NOFILE}} #DefaultLimitAS= #DefaultLimitNPROC= -#DefaultLimitMEMLOCK= +#DefaultLimitMEMLOCK=8M #DefaultLimitLOCKS= #DefaultLimitSIGPENDING= #DefaultLimitMSGQUEUE= diff --git a/src/coredump/coredumpctl.c b/src/coredump/coredumpctl.c index 15ea88775..30ea08702 100644 --- a/src/coredump/coredumpctl.c +++ b/src/coredump/coredumpctl.c @@ -195,6 +195,8 @@ static int verb_help(int argc, char **argv, void *userdata) { " -D --directory=DIR Use journal files from directory\n\n" " -q --quiet Do not show info messages and privilege warning\n" " --all Look at all journal files instead of local ones\n" + " --root=PATH Operate on an alternate filesystem root\n" + " --image=PATH Operate on disk image as filesystem root\n" "\nSee the %2$s for details.\n", program_invocation_short_name, link, diff --git a/src/dissect/dissect.c b/src/dissect/dissect.c index a216b6c1b..c465115fc 100644 --- a/src/dissect/dissect.c +++ b/src/dissect/dissect.c @@ -82,7 +82,7 @@ static int help(void) { "%1$s [OPTIONS...] --umount PATH\n" "%1$s [OPTIONS...] --copy-from IMAGE PATH [TARGET]\n" "%1$s [OPTIONS...] --copy-to IMAGE [SOURCE] PATH\n\n" - "%5$sDissect a file system OS image.%6$s\n\n" + "%5$sDissect a Discoverable Disk Image (DDI).%6$s\n\n" "%3$sOptions:%4$s\n" " --no-pager Do not pipe output into a pager\n" " --no-legend Do not show the headers and footers\n" diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c index f6041c716..bc7a83860 100644 --- a/src/libsystemd/sd-device/device-private.c +++ b/src/libsystemd/sd-device/device-private.c @@ -664,7 +664,7 @@ int device_rename(sd_device *device, const char *name) { return device_add_property_internal(device, "INTERFACE", name); } -int device_shallow_clone(sd_device *device, sd_device **ret) { +static int device_shallow_clone(sd_device *device, sd_device **ret) { _cleanup_(sd_device_unrefp) sd_device *dest = NULL; const char *val = NULL; int r; @@ -737,32 +737,6 @@ int device_clone_with_db(sd_device *device, sd_device **ret) { return 0; } -int device_copy_properties(sd_device *device_dst, sd_device *device_src) { - const char *property, *value; - int r; - - assert(device_dst); - assert(device_src); - - r = device_properties_prepare(device_src); - if (r < 0) - return r; - - ORDERED_HASHMAP_FOREACH_KEY(value, property, device_src->properties_db) { - r = device_add_property_aux(device_dst, property, value, true); - if (r < 0) - return r; - } - - ORDERED_HASHMAP_FOREACH_KEY(value, property, device_src->properties) { - r = device_add_property_aux(device_dst, property, value, false); - if (r < 0) - return r; - } - - return 0; -} - void device_cleanup_tags(sd_device *device) { assert(device); diff --git a/src/libsystemd/sd-device/device-private.h b/src/libsystemd/sd-device/device-private.h index 90da7f431..a59f130af 100644 --- a/src/libsystemd/sd-device/device-private.h +++ b/src/libsystemd/sd-device/device-private.h @@ -54,9 +54,7 @@ int device_get_properties_nulstr(sd_device *device, const char **ret_nulstr, siz int device_get_properties_strv(sd_device *device, char ***ret); int device_rename(sd_device *device, const char *name); -int device_shallow_clone(sd_device *device, sd_device **ret); int device_clone_with_db(sd_device *device, sd_device **ret); -int device_copy_properties(sd_device *device_dst, sd_device *device_src); int device_tag_index(sd_device *dev, sd_device *dev_old, bool add); int device_update_db(sd_device *device); diff --git a/src/libsystemd/sd-device/test-sd-device-monitor.c b/src/libsystemd/sd-device/test-sd-device-monitor.c index 66ca63600..9e64ba01c 100644 --- a/src/libsystemd/sd-device/test-sd-device-monitor.c +++ b/src/libsystemd/sd-device/test-sd-device-monitor.c @@ -293,15 +293,6 @@ static void test_sd_device_monitor_filter_remove(sd_device *device) { assert_se(sd_event_loop(sd_device_monitor_get_event(monitor_client)) == 100); } -static void test_device_copy_properties(sd_device *device) { - _cleanup_(sd_device_unrefp) sd_device *copy = NULL; - - assert_se(device_shallow_clone(device, ©) >= 0); - assert_se(device_copy_properties(copy, device) >= 0); - - test_send_receive_one(copy, false, false, false); -} - int main(int argc, char *argv[]) { _cleanup_(sd_device_unrefp) sd_device *loopback = NULL, *sda = NULL; int r; @@ -333,7 +324,6 @@ int main(int argc, char *argv[]) { test_tag_filter(loopback); test_sysattr_filter(loopback, "ifindex"); test_sd_device_monitor_filter_remove(loopback); - test_device_copy_properties(loopback); r = sd_device_new_from_subsystem_sysname(&sda, "block", "sda"); if (r < 0) { diff --git a/src/libsystemd/sd-device/test-sd-device.c b/src/libsystemd/sd-device/test-sd-device.c index 6f432005e..4ab8b3894 100644 --- a/src/libsystemd/sd-device/test-sd-device.c +++ b/src/libsystemd/sd-device/test-sd-device.c @@ -342,7 +342,7 @@ TEST(sd_device_enumerator_filter_subsystem) { /* The test test_sd_device_enumerator_filter_subsystem_trial() is quite racy. Let's run the function * several times after the udev queue becomes empty. */ - if (!udev_available()) { + if (!udev_available() || (access("/run/udev", F_OK) < 0 && errno == ENOENT)) { assert_se(test_sd_device_enumerator_filter_subsystem_trial_many()); return; } diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c index 6526d3378..7b0b2dea8 100644 --- a/src/network/networkd-dhcp-common.c +++ b/src/network/networkd-dhcp-common.c @@ -15,6 +15,7 @@ #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-network.h" +#include "networkd-route-util.h" #include "parse-util.h" #include "socket-util.h" #include "string-table.h" @@ -529,7 +530,7 @@ int config_parse_dhcp_or_ra_route_table( assert(IN_SET(ltype, AF_INET, AF_INET6)); assert(rvalue); - r = safe_atou32(rvalue, &rt); + r = manager_get_route_table_from_string(network->manager, rvalue, &rt); if (r < 0) { log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to parse RouteTable=%s, ignoring assignment: %m", rvalue); diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c index ce4ab47ef..db1ecb4c9 100644 --- a/src/network/networkd-radv.c +++ b/src/network/networkd-radv.c @@ -607,7 +607,7 @@ static int radv_process_request(Request *req, Link *link, void *userdata) { } log_link_debug(link, "IPv6 Router Advertisement engine is configured%s.", - link_has_carrier(link) ? " and started." : ""); + link_has_carrier(link) ? " and started" : ""); return 1; } diff --git a/src/network/networkd-route-util.c b/src/network/networkd-route-util.c index 312f5f298..036638209 100644 --- a/src/network/networkd-route-util.c +++ b/src/network/networkd-route-util.c @@ -417,8 +417,8 @@ int manager_get_route_table_to_string(const Manager *m, uint32_t table, char **r assert(m); assert(ret); - if (table == 0) - return -EINVAL; + /* Unlike manager_get_route_table_from_string(), this accepts 0, as the kernel may create routes with + * table 0. See issue #25089. */ s = route_table_to_string(table); if (!s) diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 514845f7c..d1f3bab09 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -2351,7 +2351,7 @@ int config_parse_route_table( r = manager_get_route_table_from_string(network->manager, rvalue, &n->table); if (r < 0) { log_syntax(unit, LOG_WARNING, filename, line, r, - "Could not parse route table number \"%s\", ignoring assignment: %m", rvalue); + "Could not parse route table \"%s\", ignoring assignment: %m", rvalue); return 0; } diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c index 71c4360fa..130ed5e0a 100644 --- a/src/network/networkd-routing-policy-rule.c +++ b/src/network/networkd-routing-policy-rule.c @@ -1250,7 +1250,7 @@ int config_parse_routing_policy_rule_table( r = manager_get_route_table_from_string(network->manager, rvalue, &n->table); if (r < 0) { log_syntax(unit, LOG_WARNING, filename, line, r, - "Could not parse RPDB rule route table number \"%s\", ignoring assignment: %m", rvalue); + "Could not parse RPDB rule route table \"%s\", ignoring assignment: %m", rvalue); return 0; } diff --git a/src/network/wait-online/link.c b/src/network/wait-online/link.c index 836d713f7..e197e62e2 100644 --- a/src/network/wait-online/link.c +++ b/src/network/wait-online/link.c @@ -105,16 +105,16 @@ int link_update_monitor(Link *l) { assert(l->ifname); r = sd_network_link_get_required_for_online(l->ifindex); - if (r < 0) + if (r < 0 && r != -ENODATA) ret = log_link_debug_errno(l, r, "Failed to determine whether the link is required for online or not, " "assuming required: %m"); l->required_for_online = r != 0; r = sd_network_link_get_required_operstate_for_online(l->ifindex, &required_operstate); - if (r < 0) { + if (r < 0 && r != -ENODATA) ret = log_link_debug_errno(l, r, "Failed to get required operational state, ignoring: %m"); - l->required_operstate = LINK_OPERSTATE_RANGE_DEFAULT; - } else if (isempty(required_operstate)) + + if (isempty(required_operstate)) l->required_operstate = LINK_OPERSTATE_RANGE_DEFAULT; else { r = parse_operational_state_range(required_operstate, &l->required_operstate); @@ -128,9 +128,10 @@ int link_update_monitor(Link *l) { ret = log_link_debug_errno(l, r, "Failed to get operational state, ignoring: %m"); r = sd_network_link_get_required_family_for_online(l->ifindex, &required_family); - if (r < 0) + if (r < 0 && r != -ENODATA) ret = log_link_debug_errno(l, r, "Failed to get required address family, ignoring: %m"); - else if (isempty(required_family)) + + if (isempty(required_family)) l->required_family = ADDRESS_FAMILY_NO; else { AddressFamily f; diff --git a/src/resolve/resolved-varlink.c b/src/resolve/resolved-varlink.c index e344cf6dd..8ba5eb983 100644 --- a/src/resolve/resolved-varlink.c +++ b/src/resolve/resolved-varlink.c @@ -503,7 +503,7 @@ static int vl_method_resolve_address(Varlink *link, JsonVariant *parameters, Var return varlink_error_invalid_parameter(link, JSON_VARIANT_STRING_CONST("family")); if (FAMILY_ADDRESS_SIZE(p.family) != p.address_size) - return varlink_error(link, "io.systemd.UserDatabase.BadAddressSize", NULL); + return varlink_error(link, "io.systemd.Resolve.BadAddressSize", NULL); if (!validate_and_mangle_flags(NULL, &p.flags, 0)) return varlink_error_invalid_parameter(link, JSON_VARIANT_STRING_CONST("flags")); diff --git a/src/shared/btrfs-util.c b/src/shared/btrfs-util.c index 5e3bcbb6e..58ba286a2 100644 --- a/src/shared/btrfs-util.c +++ b/src/shared/btrfs-util.c @@ -739,6 +739,18 @@ int btrfs_subvol_get_subtree_quota(const char *path, uint64_t subvol_id, BtrfsQu return btrfs_subvol_get_subtree_quota_fd(fd, subvol_id, ret); } +int btrfs_defrag_fd(int fd) { + int r; + + assert(fd >= 0); + + r = fd_verify_regular(fd); + if (r < 0) + return r; + + return RET_NERRNO(ioctl(fd, BTRFS_IOC_DEFRAG, NULL)); +} + int btrfs_defrag(const char *p) { _cleanup_close_ int fd = -1; diff --git a/src/shared/btrfs-util.h b/src/shared/btrfs-util.h index b67a4c10f..5f568f235 100644 --- a/src/shared/btrfs-util.h +++ b/src/shared/btrfs-util.h @@ -52,6 +52,7 @@ int btrfs_clone_range(int infd, uint64_t in_offset, int ofd, uint64_t out_offset int btrfs_get_block_device_fd(int fd, dev_t *dev); int btrfs_get_block_device(const char *path, dev_t *dev); +int btrfs_defrag_fd(int fd); int btrfs_defrag(const char *p); int btrfs_quota_enable_fd(int fd, bool b); diff --git a/src/shared/install.c b/src/shared/install.c index 6d91a02f1..834a1c59e 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1973,12 +1973,16 @@ static int install_info_symlink_wants( n = info->name; } + r = 0; STRV_FOREACH(s, list) { _cleanup_free_ char *path = NULL, *dst = NULL; q = install_name_printf(scope, info, *s, &dst); - if (q < 0) - return install_changes_add(changes, n_changes, q, *s, NULL); + if (q < 0) { + install_changes_add(changes, n_changes, q, *s, NULL); + if (r >= 0) + r = q; + } if (!unit_name_is_valid(dst, valid_dst_type)) { /* Generate a proper error here: EUCLEAN if the name is generally bad, EIDRM if the @@ -1992,9 +1996,11 @@ static int install_info_symlink_wants( continue; if (unit_name_is_valid(dst, UNIT_NAME_ANY)) - return install_changes_add(changes, n_changes, -EIDRM, dst, n); + q = install_changes_add(changes, n_changes, -EIDRM, dst, n); else - return install_changes_add(changes, n_changes, -EUCLEAN, dst, NULL); + q = install_changes_add(changes, n_changes, -EUCLEAN, dst, NULL); + if (r >= 0) + r = q; continue; } @@ -2004,7 +2010,7 @@ static int install_info_symlink_wants( return -ENOMEM; q = create_symlink(lp, info->path, path, true, changes, n_changes); - if (r == 0) + if ((q < 0 && r >= 0) || r == 0) r = q; if (unit_file_exists(scope, lp, dst) == 0) { diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON index a2a0059fe..cb58d8243 100755 --- a/src/systemctl/systemd-sysv-install.SKELETON +++ b/src/systemctl/systemd-sysv-install.SKELETON @@ -1,5 +1,5 @@ #!/bin/sh -# SPDX-License-Identifier: CC0-1.0 +# SPDX-License-Identifier: MIT-0 # # This script is called by "systemctl enable/disable" when the given unit is a # SysV init.d script. It needs to call the distribution's mechanism for diff --git a/src/test/test-condition.c b/src/test/test-condition.c index 8fcaacc17..4cd23d8e2 100644 --- a/src/test/test-condition.c +++ b/src/test/test-condition.c @@ -247,8 +247,12 @@ TEST(condition_test_host) { _cleanup_free_ char *hostname = NULL; Condition *condition; sd_id128_t id; + int r; - assert_se(sd_id128_get_machine(&id) >= 0); + r = sd_id128_get_machine(&id); + if (IN_SET(r, -ENOENT, -ENOMEDIUM)) + return (void) log_tests_skipped("/etc/machine-id missing"); + assert_se(r >= 0); condition = condition_new(CONDITION_HOST, SD_ID128_TO_STRING(id), false, false); assert_se(condition); diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c index 5d9d99e27..9c1ced759 100644 --- a/src/test/test-fs-util.c +++ b/src/test/test-fs-util.c @@ -216,7 +216,7 @@ TEST(chase_symlinks) { result = mfree(result); r = chase_symlinks("/etc/machine-id/foo", NULL, 0, &result, NULL); - assert_se(r == -ENOTDIR); + assert_se(IN_SET(r, -ENOTDIR, -ENOENT)); result = mfree(result); /* Path that loops back to self */ diff --git a/src/test/test-id128.c b/src/test/test-id128.c index 5da7b0ec1..4b71c5c00 100644 --- a/src/test/test-id128.c +++ b/src/test/test-id128.c @@ -38,7 +38,7 @@ TEST(id128) { assert_se(!sd_id128_in_set(id, ID128_WALDI)); assert_se(!sd_id128_in_set(id, ID128_WALDI, ID128_WALDI)); - if (sd_booted() > 0) { + if (sd_booted() > 0 && access("/etc/machine-id", F_OK) >= 0) { assert_se(sd_id128_get_machine(&id) == 0); printf("machine: %s\n", sd_id128_to_string(id, t)); @@ -145,11 +145,13 @@ TEST(id128) { assert_se(id128_read_fd(fd, ID128_UUID, &id2) >= 0); assert_se(sd_id128_equal(id, id2)); - assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id) >= 0); - assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id2) >= 0); - assert_se(sd_id128_equal(id, id2)); - assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), &id2) >= 0); - assert_se(!sd_id128_equal(id, id2)); + if (sd_booted() > 0 && access("/etc/machine-id", F_OK) >= 0) { + assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id) >= 0); + assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id2) >= 0); + assert_se(sd_id128_equal(id, id2)); + assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), &id2) >= 0); + assert_se(!sd_id128_equal(id, id2)); + } } TEST(sd_id128_get_invocation) { @@ -168,6 +170,9 @@ TEST(benchmark_sd_id128_get_machine_app_specific) { unsigned iterations = slow_tests_enabled() ? 1000000 : 1000; usec_t t, q; + if (access("/etc/machine-id", F_OK) < 0 && errno == ENOENT) + return (void) log_tests_skipped("/etc/machine-id does not exist"); + log_info("/* %s (%u iterations) */", __func__, iterations); sd_id128_t id = ID128_WALDI, id2; diff --git a/src/test/test-load-fragment.c b/src/test/test-load-fragment.c index 7705c4877..3cf704134 100644 --- a/src/test/test-load-fragment.c +++ b/src/test/test-load-fragment.c @@ -518,8 +518,10 @@ TEST(install_printf, .sd_booted = true) { _cleanup_free_ char *mid = NULL, *bid = NULL, *host = NULL, *gid = NULL, *group = NULL, *uid = NULL, *user = NULL; - assert_se(specifier_machine_id('m', NULL, NULL, NULL, &mid) >= 0 && mid); - assert_se(specifier_boot_id('b', NULL, NULL, NULL, &bid) >= 0 && bid); + if (access("/etc/machine-id", F_OK) >= 0) + assert_se(specifier_machine_id('m', NULL, NULL, NULL, &mid) >= 0 && mid); + if (sd_booted() > 0) + assert_se(specifier_boot_id('b', NULL, NULL, NULL, &bid) >= 0 && bid); assert_se(host = gethostname_malloc()); assert_se(group = gid_to_name(getgid())); assert_se(asprintf(&gid, UID_FMT, getgid()) >= 0); diff --git a/src/test/test-math-util.c b/src/test/test-math-util.c index 0162bf7dc..9771576fc 100644 --- a/src/test/test-math-util.c +++ b/src/test/test-math-util.c @@ -54,16 +54,6 @@ TEST(iszero_safe) { assert_se( iszero_safe(DBL_MIN / -INFINITY)); assert_se( iszero_safe(DBL_MAX / INFINITY / 2)); assert_se( iszero_safe(DBL_MAX / -INFINITY * DBL_MAX)); -#if defined(__i386__) && !defined(__SSE2_MATH__) - /* On 32bit x86, -mfpmath=387 is the default and SSE2 is not used. Then, floating point values are - * calculated in 80bit, and truncated to the length of the used type (double in this case). Hence, - * DBL_MAX * 2 is temporary calculated as a normal value, and goes to zero when divided with - * INFINITY. See issue #25044. */ - log_debug("i386 architecture without SSE2 is detected. " - "Skipping \"assert_se(!iszero_safe(DBL_MAX * 2 / INFINITY))\"."); -#else - assert_se(!iszero_safe(DBL_MAX * 2 / INFINITY)); -#endif /* infinity / infinity is NaN */ assert_se(!iszero_safe(INFINITY / INFINITY)); diff --git a/src/test/test-specifier.c b/src/test/test-specifier.c index 516502032..4a8ff4bd1 100644 --- a/src/test/test-specifier.c +++ b/src/test/test-specifier.c @@ -74,7 +74,7 @@ TEST(specifier_printf) { assert_se(streq(w, "xxx a=AAAA b=BBBB e= yyy")); free(w); - r = specifier_printf("machine=%m, boot=%b, host=%H, pretty=%q, version=%v, arch=%a, empty=%e", SIZE_MAX, table, NULL, NULL, &w); + r = specifier_printf("boot=%b, host=%H, pretty=%q, version=%v, arch=%a, empty=%e", SIZE_MAX, table, NULL, NULL, &w); assert_se(r >= 0); assert_se(w); puts(w); @@ -127,13 +127,18 @@ TEST(specifier_real_path_missing_file) { } TEST(specifiers) { + int r; + for (const Specifier *s = specifier_table; s->specifier; s++) { char spec[3]; _cleanup_free_ char *resolved = NULL; xsprintf(spec, "%%%c", s->specifier); - assert_se(specifier_printf(spec, SIZE_MAX, specifier_table, NULL, NULL, &resolved) >= 0); + r = specifier_printf(spec, SIZE_MAX, specifier_table, NULL, NULL, &resolved); + if (s->specifier == 'm' && IN_SET(r, -ENOENT, -ENOMEDIUM)) /* machine-id might be missing in build chroots */ + continue; + assert_se(r >= 0); log_info("%%%c → %s", s->specifier, resolved); } diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c index c2f631417..43fdb15d1 100644 --- a/src/test/test-unit-name.c +++ b/src/test/test-unit-name.c @@ -235,9 +235,9 @@ TEST(unit_name_mangle) { TEST_RET(unit_printf, .sd_booted = true) { _cleanup_free_ char - *architecture, *os_image_version, *boot_id, *os_build_id, + *architecture, *os_image_version, *boot_id = NULL, *os_build_id, *hostname, *short_hostname, *pretty_hostname, - *machine_id, *os_image_id, *os_id, *os_version_id, *os_variant_id, + *machine_id = NULL, *os_image_id, *os_id, *os_version_id, *os_variant_id, *user, *group, *uid, *gid, *home, *shell, *tmp_dir, *var_tmp_dir; _cleanup_(manager_freep) Manager *m = NULL; @@ -252,16 +252,20 @@ TEST_RET(unit_printf, .sd_booted = true) { assert_se(specifier_architecture('a', NULL, NULL, NULL, &architecture) >= 0); assert_se(architecture); assert_se(specifier_os_image_version('A', NULL, NULL, NULL, &os_image_version) >= 0); - assert_se(specifier_boot_id('b', NULL, NULL, NULL, &boot_id) >= 0); - assert_se(boot_id); + if (sd_booted() > 0) { + assert_se(specifier_boot_id('b', NULL, NULL, NULL, &boot_id) >= 0); + assert_se(boot_id); + } assert_se(specifier_os_build_id('B', NULL, NULL, NULL, &os_build_id) >= 0); assert_se(hostname = gethostname_malloc()); assert_se(specifier_short_hostname('l', NULL, NULL, NULL, &short_hostname) == 0); assert_se(short_hostname); assert_se(specifier_pretty_hostname('q', NULL, NULL, NULL, &pretty_hostname) == 0); assert_se(pretty_hostname); - assert_se(specifier_machine_id('m', NULL, NULL, NULL, &machine_id) >= 0); - assert_se(machine_id); + if (access("/etc/machine-id", F_OK) >= 0) { + assert_se(specifier_machine_id('m', NULL, NULL, NULL, &machine_id) >= 0); + assert_se(machine_id); + } assert_se(specifier_os_image_id('M', NULL, NULL, NULL, &os_image_id) >= 0); assert_se(specifier_os_id('o', NULL, NULL, NULL, &os_id) >= 0); assert_se(specifier_os_version_id('w', NULL, NULL, NULL, &os_version_id) >= 0); @@ -312,12 +316,14 @@ TEST_RET(unit_printf, .sd_booted = true) { /* normal unit */ expect(u, "%a", architecture); expect(u, "%A", os_image_version); - expect(u, "%b", boot_id); + if (boot_id) + expect(u, "%b", boot_id); expect(u, "%B", os_build_id); expect(u, "%H", hostname); expect(u, "%l", short_hostname); expect(u, "%q", pretty_hostname); - expect(u, "%m", machine_id); + if (machine_id) + expect(u, "%m", machine_id); expect(u, "%M", os_image_id); expect(u, "%o", os_id); expect(u, "%w", os_version_id); diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 768731669..784b89557 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -3335,7 +3335,7 @@ static int parse_line( if (laccess(i.argument, F_OK) == -ENOENT) { /* Silently skip over lines where the source file is missing. */ - log_syntax(NULL, LOG_INFO, fname, line, 0, "Copy source path '%s' does not exist, skipping line.", i.argument); + log_syntax(NULL, LOG_DEBUG, fname, line, 0, "Copy source path '%s' does not exist, skipping line.", i.argument); return 0; } @@ -3441,7 +3441,7 @@ static int parse_line( r = read_credential(i.argument, &i.binary_argument, &i.binary_argument_size); if (IN_SET(r, -ENXIO, -ENOENT)) { /* Silently skip over lines that have no credentials passed */ - log_syntax(NULL, LOG_INFO, fname, line, 0, + log_syntax(NULL, LOG_DEBUG, fname, line, 0, "Credential '%s' not specified, skipping line.", i.argument); return 0; } diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c index 13ef700b1..750412370 100644 --- a/src/udev/udev-builtin-net_id.c +++ b/src/udev/udev-builtin-net_id.c @@ -1087,7 +1087,7 @@ static int get_link_info(sd_device *dev, LinkInfo *info) { r = sd_device_get_sysattr_value(dev, "address", &s); if (r < 0 && r != -ENOENT) return r; - if (r > 0) { + if (r >= 0) { r = parse_hw_addr(s, &info->hw_addr); if (r < 0) log_device_debug_errno(dev, r, "Failed to parse 'address' sysattr, ignoring: %m"); diff --git a/src/udev/udev-builtin-usb_id.c b/src/udev/udev-builtin-usb_id.c index d94718f46..847c2b831 100644 --- a/src/udev/udev-builtin-usb_id.c +++ b/src/udev/udev-builtin-usb_id.c @@ -427,21 +427,52 @@ fallback: if (!isempty(instance_str)) strpcpyl(&s, l, "-", instance_str, NULL); - udev_builtin_add_property(dev, test, "ID_VENDOR", vendor_str); - udev_builtin_add_property(dev, test, "ID_VENDOR_ENC", vendor_str_enc); - udev_builtin_add_property(dev, test, "ID_VENDOR_ID", vendor_id); - udev_builtin_add_property(dev, test, "ID_MODEL", model_str); - udev_builtin_add_property(dev, test, "ID_MODEL_ENC", model_str_enc); - udev_builtin_add_property(dev, test, "ID_MODEL_ID", product_id); - udev_builtin_add_property(dev, test, "ID_REVISION", revision_str); - udev_builtin_add_property(dev, test, "ID_SERIAL", serial); + if (sd_device_get_property_value(dev, "ID_BUS", NULL) >= 0) + log_device_debug(dev, "ID_BUS property is already set, setting only properties prefixed with \"ID_USB_\"."); + else { + udev_builtin_add_property(dev, test, "ID_BUS", "usb"); + + udev_builtin_add_property(dev, test, "ID_MODEL", model_str); + udev_builtin_add_property(dev, test, "ID_MODEL_ENC", model_str_enc); + udev_builtin_add_property(dev, test, "ID_MODEL_ID", product_id); + + udev_builtin_add_property(dev, test, "ID_SERIAL", serial); + if (!isempty(serial_str)) + udev_builtin_add_property(dev, test, "ID_SERIAL_SHORT", serial_str); + + udev_builtin_add_property(dev, test, "ID_VENDOR", vendor_str); + udev_builtin_add_property(dev, test, "ID_VENDOR_ENC", vendor_str_enc); + udev_builtin_add_property(dev, test, "ID_VENDOR_ID", vendor_id); + + udev_builtin_add_property(dev, test, "ID_REVISION", revision_str); + + if (!isempty(type_str)) + udev_builtin_add_property(dev, test, "ID_TYPE", type_str); + + if (!isempty(instance_str)) + udev_builtin_add_property(dev, test, "ID_INSTANCE", instance_str); + } + + /* Also export the same values in the above by prefixing ID_USB_. */ + udev_builtin_add_property(dev, test, "ID_USB_MODEL", model_str); + udev_builtin_add_property(dev, test, "ID_USB_MODEL_ENC", model_str_enc); + udev_builtin_add_property(dev, test, "ID_USB_MODEL_ID", product_id); + udev_builtin_add_property(dev, test, "ID_USB_SERIAL", serial); if (!isempty(serial_str)) - udev_builtin_add_property(dev, test, "ID_SERIAL_SHORT", serial_str); + udev_builtin_add_property(dev, test, "ID_USB_SERIAL_SHORT", serial_str); + + udev_builtin_add_property(dev, test, "ID_USB_VENDOR", vendor_str); + udev_builtin_add_property(dev, test, "ID_USB_VENDOR_ENC", vendor_str_enc); + udev_builtin_add_property(dev, test, "ID_USB_VENDOR_ID", vendor_id); + + udev_builtin_add_property(dev, test, "ID_USB_REVISION", revision_str); + if (!isempty(type_str)) - udev_builtin_add_property(dev, test, "ID_TYPE", type_str); + udev_builtin_add_property(dev, test, "ID_USB_TYPE", type_str); + if (!isempty(instance_str)) - udev_builtin_add_property(dev, test, "ID_INSTANCE", instance_str); - udev_builtin_add_property(dev, test, "ID_BUS", "usb"); + udev_builtin_add_property(dev, test, "ID_USB_INSTANCE", instance_str); + if (!isempty(packed_if_str)) udev_builtin_add_property(dev, test, "ID_USB_INTERFACES", packed_if_str); if (ifnum) diff --git a/test/test-execute/exec-specifier.service b/test/test-execute/exec-specifier.service index 321d0e338..2b487bae8 100644 --- a/test/test-execute/exec-specifier.service +++ b/test/test-execute/exec-specifier.service @@ -27,7 +27,6 @@ ExecStart=sh -c 'test %g = $$(id -gn)' ExecStart=sh -c 'test %G = $$(id -g)' ExecStart=test %h = /root ExecStart=sh -c 'test -x %s' -ExecStart=sh -c 'test %m = $$(cat /etc/machine-id)' ExecStart=sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')' ExecStart=sh -c 'test %H = $$(uname -n)' ExecStart=sh -c 'test %v = $$(uname -r)' diff --git a/test/test-execute/exec-specifier@.service b/test/test-execute/exec-specifier@.service index 46c8503f1..69e969f71 100644 --- a/test/test-execute/exec-specifier@.service +++ b/test/test-execute/exec-specifier@.service @@ -24,7 +24,6 @@ ExecStart=sh -c 'test %g = $$(id -gn)' ExecStart=sh -c 'test %G = $$(id -g)' ExecStart=test %h = /root ExecStart=sh -c 'test -x %s' -ExecStart=sh -c 'test %m = $$(cat /etc/machine-id)' ExecStart=sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')' ExecStart=sh -c 'test %H = $$(uname -n)' ExecStart=sh -c 'test %v = $$(uname -r)' diff --git a/test/test-network/conf/25-ipv6ra-prefix-client-with-static-ipv4-address.network b/test/test-network/conf/12-dummy-no-address.network similarity index 54% rename from test/test-network/conf/25-ipv6ra-prefix-client-with-static-ipv4-address.network rename to test/test-network/conf/12-dummy-no-address.network index 14c239685..fef18c237 100644 --- a/test/test-network/conf/25-ipv6ra-prefix-client-with-static-ipv4-address.network +++ b/test/test-network/conf/12-dummy-no-address.network @@ -1,7 +1,6 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -Name=veth99 +Name=dummy98 [Network] -IPv6AcceptRA=true -Address=192.168.5.1/24 +IPv6AcceptRA=no diff --git a/test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network b/test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network deleted file mode 100644 index ff5b98a40..000000000 --- a/test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later -[Match] -Name=veth99 - -[NetworkEmulator] -DelaySec=9 - -[Network] -DHCP=ipv4 -IPv6AcceptRA=true diff --git a/test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network b/test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network deleted file mode 100644 index 13ee90dd5..000000000 --- a/test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network +++ /dev/null @@ -1,20 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later -[Match] -Name=veth-peer - -[Network] -Address=192.168.5.1/24 -IPv6AcceptRA=no -DHCPServer=yes -IPv6SendRA=yes - -[IPv6Prefix] -Prefix=2002:da8:1:0::/64 - -[DHCPServer] -DNS=192.168.5.1 -NTP=192.168.5.1 - -[IPv6SendRA] -EmitDNS=no -EmitDomains=no diff --git a/test/test-network/conf/25-ipv6-prefix-with-delay.network b/test/test-network/conf/25-ipv6-prefix-with-delay.network deleted file mode 100644 index 4b661fed4..000000000 --- a/test/test-network/conf/25-ipv6-prefix-with-delay.network +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later -[Match] -Name=veth-peer - -[NetworkEmulator] -DelaySec=15 - -[Network] -IPv6AcceptRA=no -IPv6SendRA=yes - -[IPv6Prefix] -Prefix=2002:da8:1:0::/64 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 2f7614428..87710ef3f 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -13,7 +13,6 @@ import errno import itertools import os import pathlib -import psutil import re import shutil import signal @@ -22,6 +21,8 @@ import sys import time import unittest +import psutil + network_unit_dir = '/run/systemd/network' networkd_conf_dropin_dir = '/run/systemd/networkd.conf.d' networkd_ci_temp_dir = '/run/networkd-ci' @@ -96,6 +97,7 @@ def mkdir_p(path): def touch(path): pathlib.Path(path).touch() +# pylint: disable=R1710 def check_output(*command, **kwargs): # This checks the result and returns stdout (and stderr) on success. command = command[0].split() + list(command[1:]) @@ -243,6 +245,21 @@ def expectedFailureIfNetdevsimWithSRIOVIsNotAvailable(): return f +# pylint: disable=C0415 +def compare_kernel_version(min_kernel_version): + try: + import platform + from packaging import version + except ImportError: + print('Failed to import either platform or packaging module, assuming the comparison failed') + return False + + # Get only the actual kernel version without any build/distro/arch stuff + # e.g. '5.18.5-200.fc36.x86_64' -> '5.18.5' + kver = platform.release().split('-')[0] + + return version.parse(kver) >= version.parse(min_kernel_version) + def udev_reload(): check_output(*udevadm_cmd, 'control', '--reload') @@ -506,6 +523,7 @@ def flush_l2tp_tunnels(): print(f'Cannot remove L2TP tunnel {tid}, ignoring.') def save_timezone(): + # pylint: disable=global-statement global saved_timezone r = run(*timedatectl_cmd, 'show', '--value', '--property', 'Timezone', env=env) if r.returncode == 0: @@ -858,7 +876,7 @@ class Utilities(): args += ['--ipv6'] try: check_output(*args, env=wait_online_env) - except subprocess.CalledProcessError as e: + except subprocess.CalledProcessError: # show detailed status on failure for link in links_with_operstate: name = link.split(':')[0] @@ -891,11 +909,11 @@ class Utilities(): def check_netlabel(self, interface, address, label='system_u:object_r:root_t:s0'): if not shutil.which('selinuxenabled'): - print(f'## Checking NetLabel skipped: selinuxenabled command not found.') + print('## Checking NetLabel skipped: selinuxenabled command not found.') elif call_quiet('selinuxenabled') != 0: - print(f'## Checking NetLabel skipped: SELinux disabled.') + print('## Checking NetLabel skipped: SELinux disabled.') elif not shutil.which('netlabelctl'): # not packaged by all distros - print(f'## Checking NetLabel skipped: netlabelctl command not found.') + print('## Checking NetLabel skipped: netlabelctl command not found.') else: output = check_output('netlabelctl unlbl list') print(output) @@ -1383,8 +1401,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): output = check_output('ip -d tuntap show') print(output) - self.assertRegex(output, f'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') - self.assertRegex(output, f'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') + self.assertRegex(output, fr'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') + self.assertRegex(output, fr'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') output = check_output('ip -d link show testtun99') print(output) @@ -1407,8 +1425,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): output = check_output('ip -d tuntap show') print(output) - self.assertRegex(output, f'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') - self.assertRegex(output, f'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') + self.assertRegex(output, fr'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') + self.assertRegex(output, fr'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$') output = check_output('ip -d link show testtun99') print(output) @@ -1426,8 +1444,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): output = check_output('ip -d tuntap show') print(output) - self.assertRegex(output, f'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$') - self.assertRegex(output, f'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$') + self.assertRegex(output, r'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$') + self.assertRegex(output, r'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$') for i in range(10): if i != 0: @@ -2051,7 +2069,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): print(output) self.assertIn('inet6 2002:da8:1:0:1034:56ff:fe78:9abc/64 scope global dynamic', output) - @unittest.skip(reason="Causes kernel panic on recent kernels: https://bugzilla.kernel.org/show_bug.cgi?id=208315") + @unittest.skipUnless(compare_kernel_version("6"), reason="Causes kernel panic on unpatched kernels: https://bugzilla.kernel.org/show_bug.cgi?id=208315") def test_macsec(self): copy_network_unit('25-macsec.netdev', '25-macsec.network', '25-macsec.key', '26-macsec.network', '12-dummy.netdev') @@ -2221,7 +2239,7 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): self.assertIn('inet6 2001:db8:1:f101::1/64 scope global deprecated', output) self.assertRegex(output, r'inet6 fd[0-9a-f:]*1/64 scope global') - self.check_netlabel('dummy98', '10\.4\.3\.0/24') + self.check_netlabel('dummy98', r'10\.4\.3\.0/24') # Tests for #20891. # 1. set preferred lifetime forever to drop the deprecated flag for testing #20891. @@ -2618,18 +2636,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): self.assertIn('anycast 149.10.123.2 proto static scope link', output) self.assertIn('broadcast 149.10.123.3 proto static scope link', output) - print('### ip route show type blackhole') - output = check_output('ip route show type blackhole') + print('### ip -4 route show type blackhole') + output = check_output('ip -4 route show type blackhole') print(output) self.assertIn('blackhole 202.54.1.2 proto static', output) - print('### ip route show type unreachable') - output = check_output('ip route show type unreachable') + print('### ip -4 route show type unreachable') + output = check_output('ip -4 route show type unreachable') print(output) self.assertIn('unreachable 202.54.1.3 proto static', output) - print('### ip route show type prohibit') - output = check_output('ip route show type prohibit') + print('### ip -4 route show type prohibit') + output = check_output('ip -4 route show type prohibit') print(output) self.assertIn('prohibit 202.54.1.4 proto static', output) @@ -2680,18 +2698,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): self.wait_online(['dummy98:routable']) # check all routes managed by Manager are removed - print('### ip route show type blackhole') - output = check_output('ip route show type blackhole') + print('### ip -4 route show type blackhole') + output = check_output('ip -4 route show type blackhole') print(output) self.assertEqual(output, '') - print('### ip route show type unreachable') - output = check_output('ip route show type unreachable') + print('### ip -4 route show type unreachable') + output = check_output('ip -4 route show type unreachable') print(output) self.assertEqual(output, '') - print('### ip route show type prohibit') - output = check_output('ip route show type prohibit') + print('### ip -4 route show type prohibit') + output = check_output('ip -4 route show type prohibit') print(output) self.assertEqual(output, '') @@ -2715,18 +2733,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): self.wait_online(['dummy98:routable']) # check all routes managed by Manager are reconfigured - print('### ip route show type blackhole') - output = check_output('ip route show type blackhole') + print('### ip -4 route show type blackhole') + output = check_output('ip -4 route show type blackhole') print(output) self.assertIn('blackhole 202.54.1.2 proto static', output) - print('### ip route show type unreachable') - output = check_output('ip route show type unreachable') + print('### ip -4 route show type unreachable') + output = check_output('ip -4 route show type unreachable') print(output) self.assertIn('unreachable 202.54.1.3 proto static', output) - print('### ip route show type prohibit') - output = check_output('ip route show type prohibit') + print('### ip -4 route show type prohibit') + output = check_output('ip -4 route show type prohibit') print(output) self.assertIn('prohibit 202.54.1.4 proto static', output) @@ -2749,18 +2767,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): time.sleep(2) # check all routes managed by Manager are removed - print('### ip route show type blackhole') - output = check_output('ip route show type blackhole') + print('### ip -4 route show type blackhole') + output = check_output('ip -4 route show type blackhole') print(output) self.assertEqual(output, '') - print('### ip route show type unreachable') - output = check_output('ip route show type unreachable') + print('### ip -4 route show type unreachable') + output = check_output('ip -4 route show type unreachable') print(output) self.assertEqual(output, '') - print('### ip route show type prohibit') - output = check_output('ip route show type prohibit') + print('### ip -4 route show type prohibit') + output = check_output('ip -4 route show type prohibit') print(output) self.assertEqual(output, '') @@ -3631,32 +3649,6 @@ class NetworkdTCTests(unittest.TestCase, Utilities): print(output) self.assertRegex(output, 'qdisc teql1 31: root') -class NetworkWaitOnlineTests(unittest.TestCase, Utilities): - - def setUp(self): - setup_common() - - def tearDown(self): - tear_down_common() - - @expectedFailureIfModuleIsNotAvailable('sch_netem') - def test_wait_online_ipv4(self): - copy_network_unit('25-veth.netdev', '25-dhcp-server-with-ipv6-prefix.network', '25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network') - start_networkd() - - self.wait_online(['veth99:routable'], ipv4=True) - - self.wait_address('veth99', r'192.168.5.[0-9]+', ipv='-4', timeout_sec=1) - - @expectedFailureIfModuleIsNotAvailable('sch_netem') - def test_wait_online_ipv6(self): - copy_network_unit('25-veth.netdev', '25-ipv6-prefix-with-delay.network', '25-ipv6ra-prefix-client-with-static-ipv4-address.network') - start_networkd() - - self.wait_online(['veth99:routable'], ipv6=True) - - self.wait_address('veth99', r'2002:da8:1:0:1034:56ff:fe78:9abc', ipv='-6', timeout_sec=1) - class NetworkdStateFileTests(unittest.TestCase, Utilities): def setUp(self): @@ -3745,6 +3737,36 @@ class NetworkdStateFileTests(unittest.TestCase, Utilities): self.assertIn('MDNS=yes', output) self.assertIn('DNSSEC=no', output) + def test_address_state(self): + copy_network_unit('12-dummy.netdev', '12-dummy-no-address.network') + start_networkd() + + self.wait_online(['dummy98:degraded']) + + output = read_link_state_file('dummy98') + self.assertIn('IPV4_ADDRESS_STATE=off', output) + self.assertIn('IPV6_ADDRESS_STATE=degraded', output) + + # with a routable IPv4 address + check_output('ip address add 10.1.2.3/16 dev dummy98') + self.wait_online(['dummy98:routable'], ipv4=True) + self.wait_online(['dummy98:routable']) + + output = read_link_state_file('dummy98') + self.assertIn('IPV4_ADDRESS_STATE=routable', output) + self.assertIn('IPV6_ADDRESS_STATE=degraded', output) + + check_output('ip address del 10.1.2.3/16 dev dummy98') + + # with a routable IPv6 address + check_output('ip address add 2002:da8:1:0:1034:56ff:fe78:9abc/64 dev dummy98') + self.wait_online(['dummy98:routable'], ipv6=True) + self.wait_online(['dummy98:routable']) + + output = read_link_state_file('dummy98') + self.assertIn('IPV4_ADDRESS_STATE=off', output) + self.assertIn('IPV6_ADDRESS_STATE=routable', output) + class NetworkdBondTests(unittest.TestCase, Utilities): def setUp(self): @@ -4577,7 +4599,7 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities): self.assertIn('client provides name: test-hostname', output) self.assertIn('26:mtu', output) - self.check_netlabel('veth99', '192\.168\.5\.0/24') + self.check_netlabel('veth99', r'192\.168\.5\.0/24') def test_dhcp_client_ipv4_use_routes_gateway(self): first = True diff --git a/test/test-systemd-tmpfiles.py b/test/test-systemd-tmpfiles.py index 4b3bdf336..af9ff9bf9 100755 --- a/test/test-systemd-tmpfiles.py +++ b/test/test-systemd-tmpfiles.py @@ -87,7 +87,7 @@ def test_content(line, expected, *, user, extra={}, subpath='/arg', path_cb=None def test_valid_specifiers(*, user): test_content('f {} - - - - two words', 'two words', user=user) - if id128: + if id128 and os.path.isfile('/etc/machine-id'): try: test_content('f {} - - - - %m', '{}'.format(id128.get_machine().hex), user=user) except AssertionError as e: diff --git a/test/udev-test.pl b/test/udev-test.pl index 985968d12..3099b5746 100755 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -1980,8 +1980,8 @@ EOF not_exp_links => ["notthere"], }], rules => </run/udev/rules.d/50-testsuite.rules </run/udev/rules.d/50-testsuite.rules </dev/null | sed 's/^v//' || echo "$fallback" +[ -e .git ] && \ + git describe --abbrev=7 --dirty=^ 2>/dev/null | sed 's/^v//; s/-rc/~rc/' || \ + echo "$fallback" diff --git a/units/systemd-udev-trigger.service b/units/systemd-udev-trigger.service index 0175a1485..cb1e4f9fe 100644 --- a/units/systemd-udev-trigger.service +++ b/units/systemd-udev-trigger.service @@ -19,4 +19,4 @@ ConditionPathIsReadWrite=/sys [Service] Type=oneshot RemainAfterExit=yes -ExecStart=-udevadm trigger --type=all --action=add --prioritized-subsystem=module,block,tpmrm,tty,net +ExecStart=-udevadm trigger --type=all --action=add --prioritized-subsystem=module,block,tpmrm,net,tty,input -- 2.39.2