Commit Graph

8234 Commits

Author SHA1 Message Date
Mario Limonciello
9e22e9c12f iommu: Suggest to turn on ThunderboltAccess for Lenovo systems
Lenovo systems that offer a BIOS setting for ThunderboltAccess will
use this option to control whether the IOMMU is enabled by default
or not.

It may be counter-intuitive; but as there are other more physically
difficult to attack PCIe devices it's better to have the IOMMU
enabled pre-boot even if it enables access to Thunderbolt/USB4.

Fixes: #5314
2022-12-14 08:44:27 -06:00
Richard Hughes
7a4fa63d0e Add a 'get-report-metadata' command to allow debugging metadata collection 2022-12-14 14:43:52 +00:00
Richard Hughes
2fcb6bd080 Add X-Dock and X-UsbDock update categories 2022-12-14 14:43:21 +00:00
Richard Hughes
2b8629afec Allow specifying OR parent requirements
For example:

    <requires>
      <!-- USB\VID_0451&PID_ACE1&OUID_0800000000000000 or
           USB\VID_0451&PID_ACE1&OUID_3300000000000000 -->
      <firmware depth="1">39cd2d79-f119-5e2b-ba57-0b101df5bebc|33c68fc5-fd3d-5cc8-951b-319368dfd6e8</firmware>
    </requires>
2022-12-14 14:14:08 +00:00
Richard Hughes
02e3549f1a trivial: Fix build failure when /var/cache/fwupd is not writable
The fu_context_load_quirks(FU_QUIRKS_LOAD_FLAG_NO_CACHE) has to be done first,
otherwise fu_context_load_hwinfo() auto-loads the quirk db with the defaults.

Fixes a build failure in Fedora QA.
2022-12-14 14:12:17 +00:00
Richard Hughes
41314f3b3f ti-tps6598x: Add a new plugin to update some TI USB-4 docks 2022-12-14 12:50:25 +00:00
Richard Hughes
9c989190d4 trivial: Fix a recently introduced -Wunused-variable 2022-12-14 09:51:22 +00:00
Richard Hughes
4ef8854618 trivial: Add convenience API for future use 2022-12-13 20:38:49 +00:00
Richard Hughes
882a7eec85 trivial: Fix warning when running fwupdtool --version 2022-12-13 13:47:35 +00:00
Richard Hughes
0d0ffa4708 Use prepared query when getting getting the bkc tags
There's no point parsing and optimizing this query 12 times at startup.
2022-12-13 13:47:22 +00:00
Richard Hughes
707b1ed6d5 trivial: Don't use xb_string_append_union() to join strings 2022-12-13 13:47:22 +00:00
Richard Hughes
970b4e3bda Use a prepared query when getting the remote ID
We do this a handful of times when calling GetDevices() and GetHistory() and
parsing the XPath expression each time is inefficient and kinda slow.
2022-12-13 13:47:22 +00:00
Richard Hughes
000e986dc8 Use the indexed query when getting releases for devices
This speeds up startup by ~9% on a machine with lots of devices attached.
2022-12-13 13:47:22 +00:00
Jakub Kolakowski
45f5b50d6f Add needs-shutdown flag for Solidigm NVMe device 2022-12-13 08:37:17 +00:00
Richard Hughes
83c90262d1 Remove plugin and device GRWLocks
This only have any protective effect if we're using multiple threads -- which
we're not. Removing these unused locks does not affect startup speed, but does
drop the idle RSS by ~10kB.
2022-12-12 17:29:38 +00:00
Richard Hughes
18dac1885d Fix a tiny memory leak when parsing signed reports 2022-12-12 17:29:17 +00:00
Richard Hughes
ef6c399a64 Fix a tiny memory leak when probing MEI devices 2022-12-12 17:29:17 +00:00
Richard Hughes
f3fdb7f6a9 Only write devices.json once at startup, rather than for each device add
This means we do 15% less i/o at startup, which means we start a lot faster.
2022-12-12 15:27:55 +00:00
Richard Hughes
92057fe0f1 Do not filter in fwupdtool for ->attach() if specifying --force 2022-12-12 13:51:40 +00:00
Richard Hughes
9549cd3a18 Allow reinstalling on devices with only-version-upgrade set
All three devices with that flag support reinstalling the current version for testing.
2022-12-12 12:56:00 +00:00
Richard Hughes
38dfdfd42e Convert FuProgress to a FINAL object
We're not going to subclass this, and making it final saves during startup:

 * 300K calls of fu_progress_get_instance_private()
 * 280K calls of fu_progress_get_step_weighting()
2022-12-11 20:26:15 +00:00
Richard Hughes
a157e3d19d Add fu_version_from_uint24() for future usage 2022-12-11 20:25:52 +00:00
Richard Hughes
c7ab395ff4 Return a more useful error if USB recovery() failed 2022-12-11 20:25:36 +00:00
Richard Hughes
baef005a3c trivial: Add compiler hint that fu_device_build_instance_id() must end in NULL 2022-12-10 14:43:03 +00:00
Richard Hughes
1d69bec346 trivial: Fix up a plugin method name 2022-12-10 14:42:30 +00:00
Mario Limonciello
308068e73b trivial: fix autopkgtest failure
Explicitly load_hwinfo at start of mtd self test
```
.# Start of mtd tests
.# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
.# XbSilo-DEBUG: attempting to load /tmp/.E94WW1
.# XbSilo-DEBUG: failed to load silo: blob too small
Bail out! FuContext-FATAL-CRITICAL: cannot use HWIDs before calling ->load_hwinfo()

(/usr/libexec/installed-tests/fwupd/mtd-self-test:1758): FuContext-CRITICAL **: 23:27:43.095: cannot use HWIDs before calling ->load_hwinfo()
```
2022-12-09 07:53:33 -06:00
Mario Limonciello
85a168206c trivial: uefi-capsule: decrease warning about missing header to debug
Plenty of vendors rely upon this behavior, so we don't need to be
making noise in everyone's logs for them.
2022-12-08 14:18:47 -06:00
Mario Limonciello
45662477f4 Don't suggest iommu=pt to people (Fixes: #5304) 2022-12-08 09:17:00 -06:00
Richard Hughes
7fa569f87d Add the fwupd version to the HSI result if the chassis is invalid
If the user uploads a report to the LVFS we don't currently get the fwupd
version data in this case. And it makes the LVFS unhappy.
2022-12-08 12:51:24 +00:00
Richard Hughes
b686da54c8 trivial: post release version bump 2022-12-07 18:52:46 +00:00
Richard Hughes
1024d97d61 Release fwupd 1.8.8 2022-12-07 18:39:56 +00:00
Richard Hughes
291d2c116f intel-gsc: Use the new 'gpu' device icon 2022-12-07 17:08:53 +00:00
Richard Hughes
60e83e1918 Load report data from /etc/lsb-release 2022-12-07 11:48:18 +00:00
Richard Hughes
189b4a413d Add the X-Gpu category for new hardware support 2022-12-06 17:30:54 +00:00
Richard Hughes
ecb38b1199 Move to C11
Hey, it's only 11 years ago and I'd like to use _Generic.
2022-12-06 17:27:12 +00:00
Richard Hughes
93d6d6b7f8 intel-gsc: Use measured progress steps on real hardware 2022-12-06 15:18:47 +00:00
Richard Hughes
7ad92a8eb9 intel-gsc: Wait for the GPU to come back after updating 2022-12-06 15:13:19 +00:00
Richard Hughes
118bef7666 intel-gsc: Mark GPU devices as internal 2022-12-06 15:11:52 +00:00
Richard Hughes
4a29b831fb Mark all MEI devices as internal 2022-12-06 15:10:45 +00:00
Richard Hughes
ba14cff478 trivial: Fix a gtk-doc introspection warning 2022-12-06 14:43:33 +00:00
Richard Hughes
d74a4704c5 intel-gsc: Make the code match the comment to fix upgrading on real hardware 2022-12-06 14:41:24 +00:00
Richard Hughes
9485e898c3 trivial: Remove some obsolete fuzzing instructions 2022-12-06 13:00:57 +00:00
Richard Hughes
3538637a7e Use the correct AppStream ID for the KM 2022-12-05 16:05:58 +00:00
Richard Hughes
324c1b8593 trivial: Fix fuzzers 2022-12-01 14:29:04 +00:00
Richard Hughes
123fac737a trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
Gary Buhrmaster
ad930b8d13 The README.md is not a config file.
This also removes the errant % in spec file and addrssses the
build error "sh: line 1: noreplace: command not found"
2022-11-30 07:12:43 +00:00
Jelle van der Waa
090c15e87e build: don't record timestamp in builtin.quirk.gz
On Arch Linux fwupd is almost reproducible except for the timestamp
recorded in the generated gzip file.
2022-11-29 22:18:56 +00:00
Richard Hughes
e1fdc5218f trivial: Use #defines when building report metadata 2022-11-29 17:31:36 +00:00
Richard Hughes
3a8824d4e7 Add FwupdReport to expose the signed reports from QA teams
Some front end clients are going to be allow-listing updates based on what
the release was tested on, or by who the testing team was.

Export this data from each report when requested.
2022-11-29 16:55:55 +00:00
Richard Hughes
9d20464606 Add more metadata to the report attributes
This can be used in gnome-control-center when building the security report.

Fixes https://github.com/fwupd/fwupd/discussions/5262
2022-11-29 16:55:25 +00:00