Commit Graph

7693 Commits

Author SHA1 Message Date
Richard Hughes
cc30929339 Correctly detect CET IBT
According to Intel, EDX[bit 20] corresponds to IBT feature, *not* ECX.

Fixes half of https://github.com/fwupd/fwupd/issues/4960
2022-08-29 14:40:47 +01:00
Mario Limonciello
1f7526cce1 tpm: Don't require uefi capsule updates for checking TPM PCR0
There isn't any reason that we need to have a system advertising a
GUID with `main-system-firmware` in order to check that PCR0 reconstruction
matches what the TPM actually has.

Fixes: #4961
2022-08-29 07:56:23 +01:00
Richard Hughes
7f930a41dc trivial: Fix one -Wunused-variable warning 2022-08-26 21:18:25 +01:00
Richard Hughes
eec6de6985 Fix applying the latest DBX update on machines with 20200729.x64 installed
Use a hardcoded list of last-set dbx checksums to fix the reported version
when required.
2022-08-26 16:29:28 +01:00
Mario Limonciello
506730879d trivial: fix a minor logic error in sb/3rd party commit 2022-08-25 20:25:17 -05:00
Mario Limonciello
22b477bff5 trivial: don't allow turning on secure boot if 3rd party CA is off
Turning on UEFI secure boot on Lenovo systems with 3rd party CA
turned off will cause a boot loop.
2022-08-25 16:28:38 -05:00
Mario Limonciello
273a363a71 trivial: bios-settings: don't show error for nothing to do
After policy applies for the first time, you don't want to show
messaging to users that the policy can't apply the next time.
2022-08-25 14:40:09 -05:00
Mario Limonciello
afd661963b trivial: move the FwupdBiosSetting read only map into a hashtable
This is probably going to grow in the future, so make it more efficient.
2022-08-25 14:05:24 -05:00
Mario Limonciello
df07318f36 Move FwupdBiosSetting description database into libfwupdplugin
This needs to be handled by the daemon so that all GUI clients will
be able to load translations as well.

The translations will be distributed with fwupd, and any GUI client
should look up the translations.
2022-08-25 14:05:24 -05:00
Richard Hughes
a5397c6836 Add a new vfunc to check if two firmwares are compatible
For future use.
2022-08-25 15:30:07 +01:00
Richard Hughes
e12b46b991 Force the chassis type to be valid if emulating
The logic being that if we're emulating another system we're possibly
on a VM, and that's possibly going to report that it isn't a desktop.

I also think it makes sense to serialize out the FuSmbios object
to-and-from JSON, but that's a patch for another day.
2022-08-25 13:56:41 +01:00
Richard Hughes
50f0953b32 trivial: Fix a Coverity issue which is really a false positive 2022-08-25 12:15:23 +01:00
Richard Hughes
afb56d4286 trivial: Fix one -Wunused-variable warning 2022-08-25 12:08:33 +01:00
Richard Hughes
2a231896fd trivial: Fix a couple of coding style issues 2022-08-25 12:04:25 +01:00
Richard Hughes
2fed9cde72 trivial: Fix one -Wunused-variable warning 2022-08-25 12:03:51 +01:00
Richard Hughes
c4bdc3ae30 trivial: Fix one -Wunused-variable warning 2022-08-25 11:55:03 +01:00
Josh Chen
fa7b6247bb Added support for absolute reporting (non-HID) devices 2022-08-25 11:53:30 +01:00
Richard Hughes
6710f360ec trivial: Fix search-replace typo 2022-08-25 10:09:58 +01:00
Mario Limonciello
9391deb2d7 trivial: only accept bios settings ending in .json 2022-08-25 10:08:39 +01:00
Mario Limonciello
03d1e22d74
trivial: add get-bios-setting command to simple-client (#4947) 2022-08-24 21:19:23 +00:00
Mario Limonciello
087a809a5a Add documentation for fwupd BIOS settings API 2022-08-24 14:10:11 -05:00
Mario Limonciello
0e9ea45d27 trivial: fu-util/fu-tool: fix json mode for programming bios settings 2022-08-24 14:10:11 -05:00
Mario Limonciello
b48710aac7 trivial: fu-util: make JSON mode silent
We don't want to be emitting errors in JSON mode, we should only use
return codes.
2022-08-24 14:10:11 -05:00
Mario Limonciello
04c2186edc Add support for loading default BIOS settings policy
A user can place a JSON file in /etc/fwupd/bios-settings.d/ with
the default desired policy for the machine.

fwupd will load this policy on startup to ensure BIOS settings
are set as desired by the system administrator.
2022-08-24 12:59:42 -05:00
Mario Limonciello
2f9cb74c59 trivial: don't assume we know about pending_reboot
The `pending_reboot` variable is tracked by the kernel, make sure
that it is updated from the kernel when BIOS settings are changed.
2022-08-24 12:59:42 -05:00
Mario Limonciello
e49c64553d trivial: return FWUPD_ERRROR_NOTHING_TO_DO if BIOS settings already set
This will prevent setting `pending_reboot` if the settings already match
those desired by the client.
2022-08-24 10:58:25 -05:00
kate
3d199058bb fu-engine: HSI prefix fixing for invalid chassis
The invalid HSI prefix should be "HSI:INVALID" not "HSI-INVALID".

Signed-off-by: Kate Hsuan <hpa@redhat.com>
2022-08-24 16:27:02 +01:00
Richard Hughes
fa2df1eed6 Use ID_VENDOR_ID and ID_MODEL_ID fallbacks
Some udev subsystems run probers to populate the values, rather than
just the kernel providing the sysfs files. Support reading these too.
2022-08-24 15:54:58 +01:00
Richard Hughes
07ab0a61a2 trivial: Update some translations 2022-08-24 14:37:45 +01:00
Richard Hughes
f970b3de23 Do not show HSI events where we changed the spec result value 2022-08-24 13:49:19 +01:00
Richard Hughes
b436bbee58 Only fail the kernel tainted HSI test for specific taint reasons
For example, working around a firmware bug in the kernel isn't really
what the HSI attribute was intended to measure.
2022-08-24 13:35:55 +01:00
Mario Limonciello
9549970285 trivial: bios-settings: shuffle the json output order
We want the name and description to be the first few keys
2022-08-24 07:20:01 -05:00
Mario Limonciello
b7b0ce533d trivial: Unify ambiguity between bios-attrs and bios-settings
These are currently used interchangeably since there was indecisiveness
which to use as the feature was being developed.

As outward facing it will be named with "settings", change all uses
in the code to match this.
2022-08-24 07:20:01 -05:00
Richard Hughes
8b63023aaf Only show *changed* events in the fwupdmgr security output
We do not want to show added or removed HSI tests in this UI.
2022-08-24 13:19:17 +01:00
Richard Hughes
1393a0bb8c trivial: Fix ppc64le Fedora RPM builds 2022-08-24 12:19:05 +01:00
Richard Hughes
4e5a928d91 pci-mei: Update vulnerable CMSE versions from CSMEVDT data 2022-08-24 10:30:39 +01:00
Richard Hughes
326042b9b2 pci-mei: Recognize CSME version 16
Fixes https://github.com/fwupd/fwupd/issues/4927
2022-08-24 10:30:39 +01:00
Mario Limonciello
826983b8a7 Add support to set BIOS settings using a JSON payload
The JSON payload is ideally generated from `fwupdmgr get-bios-settings --json`
with all attributes expected to be included as additional arguments.
2022-08-24 09:51:46 +01:00
Richard Hughes
c886fb8f71 Include vfat in the list of possible BDP partition types
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2119436
2022-08-24 09:41:46 +01:00
Mario Limonciello
2045578d20 trivial: add a debugging statement to indicate BIOS settings work 2022-08-22 09:29:08 -05:00
Mario Limonciello
01d120efda trivial: Make BIOS setting parsing errors less verbose by default
The `--verbose` output for getting BIOS setting info is very noisy
on Lenovo systems due to a mismatch for the driver behavior and
kernel API.

Hide most of it behind an optional environment variable
`FWUPD_BIOS_SETTING_VERBOSE`.
2022-08-22 09:29:08 -05:00
Richard Hughes
6aec72d58a Allow self tests to pass when run in LXC zones
Fixes https://github.com/fwupd/fwupd/issues/4684
2022-08-22 12:46:36 +01:00
Mario Limonciello
2705179117 Convert HSI into a meson tristate-feature
This allows us to disable it automatically on architectures that
aren't supported and OSes that aren't supported.

Link: https://bugs.launchpad.net/ubuntu/+source/fwupd/+bug/1987067
2022-08-22 06:03:38 -05:00
Mario Limonciello
c4fb8f5eb4 trivial: Add new modalias instance IDs for some elan touchpads 2022-08-22 06:03:19 -05:00
Mario Limonciello
82e2d613aa Add GUIDs using MODALIAS as well
This will allow targeting the same thing that kernel drivers use to load the hardware
2022-08-22 06:03:19 -05:00
Richard Hughes
2a5c27a094 Do not assert when running with no plugins
Fixes https://github.com/fwupd/fwupd/issues/4932
2022-08-22 11:50:56 +01:00
Richard Hughes
4af448af1a Actually parse AppStream issues
These are saved on the <release>, not the <component>.

Fixes half of https://github.com/fwupd/fwupd/issues/4929
2022-08-22 11:06:40 +01:00
hugh chao(hugh712)
8b0c057f8f Install all devices with the same composite id in fwupdtool 2022-08-18 09:32:40 -05:00
Richard Hughes
620726c47a Prompt users to fix BIOS configuration issues 2022-08-13 16:44:18 +01:00
Sean Rhodes
a4a1be569b
plugins/{superio,flashrom}: Add LabTop Mk III HwId (#4920)
Add the HwId for the Star LabTop Mk III when using coreboot firmware,
as this differs to AMI.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2022-08-12 14:00:50 +00:00