fwupd/plugins/optionrom
Richard Hughes c4ca8e25d1 Use honggfuzz to fuzz firmware rather than AFL
This has better multi-core performance and can run in persistent mode -- which
allows us to construct a test harness of all the parsers (which takes time) and
then just reuse the process for lots of different data.
2020-12-11 09:37:42 +00:00
..
fuzzing Use honggfuzz to fuzz firmware rather than AFL 2020-12-11 09:37:42 +00:00
tests Rename and modernize the udev plugin 2019-10-09 14:59:54 +01:00
fu-optionrom-device.c Use a different Device ID for the OptionROM devices 2020-10-29 14:01:25 +00:00
fu-optionrom-device.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-plugin-optionrom.c trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
fu-rom-tool.c Rename and modernize the udev plugin 2019-10-09 14:59:54 +01:00
fu-rom.c optionrom: Add the fuzzing functionality as a meson target 2020-10-22 13:22:34 +01:00
fu-rom.h Add fu_device_dump_firmware() 2020-09-24 10:54:27 -05:00
fu-self-test.c Install the installed tests 2020-08-28 10:10:43 -05:00
meson.build Use honggfuzz to fuzz firmware rather than AFL 2020-12-11 09:37:42 +00:00
optionrom.quirk Set all FuUdevDevice plugins to use FU_QUIRKS_PLUGIN 2019-10-09 20:02:16 +01:00
README.md Add external interface messages 2020-10-26 12:05:20 -05:00

OptionROM Support

Introduction

This plugin reads the version numbers of PCI devices. It cannot deploy firmware onto devices but is used to list devices with known firmware updates that may require booting into another operating system to apply.

This plugin is also able to read and parse the firmware of some PCI devices which allows some host state verification to be done.

GUID Generation

These devices use the standard USB DeviceInstanceId values, e.g.

  • PCI\VEN_%04X&DEV_%04X

Additionally, GUIDs found in OptionROMs may also be added.

Vendor ID Security

The device is not upgradable and thus requires no vendor ID set.

External interface access

This plugin requires read access to the rom file of PCI devices (/sys/class/pci_bus/*/device/rom)