[PATCH v7 0/2] firmware_loader: allow firmware_class.path to take multiple paths
From: Jeff Layton
Date: Thu Apr 02 2026 - 15:26:04 EST
This is something Michal had asked for last year, and I just got around
to implementing.
This version is mainly to address Sashiko review comments:
https://sashiko.dev/#/patchset/20260401-fw-path-v6-0-4ebe70441839%40kernel.org
I fixed the ones I felt were reasonable. I can explain my rationale for
not bothering with the others if anyone has questions about it.
Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
Changes in v7:
- re-escape emitted paths in fw_search_get
- fix potential out-of-bounds read in fw_get_filesystem_firmware()
- ensure all files are cleaned up after failed selftests
- Link to v6: https://lore.kernel.org/r/20260401-fw-path-v6-0-4ebe70441839@xxxxxxxxxx
Changes in v6:
- Add fw_search_unescape() to make the search path parsing more readable
- Rename search= to search_path=
- Link to v5: https://lore.kernel.org/r/20260323-fw-path-v5-0-e88b2fe145f3@xxxxxxxxxx
Changes in v5:
- Increase search= string length from 256 to 4096
- Preprocess search= path when it's set rather than on every firmware load
- Add selftests for search= functionality
- Link to v4: https://lore.kernel.org/r/20260320-fw-path-v4-1-7547e2f0dc64@xxxxxxxxxx
Changes in v4:
- Move search path to new search= option that is tried after path=
- Link to v3: https://lore.kernel.org/r/20260318-fw-path-v3-1-a701a08bc025@xxxxxxxxxx
Changes in v3:
- Allow '\' to escape a literal ':' or '\' in the string
- Link to v2: https://lore.kernel.org/r/20260318-fw-path-v2-1-8a106eb91eb4@xxxxxxxxxx
Changes in v2:
- switch to using ':' as path delimiter
- Link to v1: https://lore.kernel.org/r/20260318-fw-path-v1-1-7884d9bf618f@xxxxxxxxxx
---
Jeff Layton (2):
firmware_loader: add search_path= module option for multi-path firmware lookup
selftests/firmware: add search path test for firmware_class.search_path=
drivers/base/firmware_loader/main.c | 305 +++++++++++++++++++-------
tools/testing/selftests/firmware/Makefile | 2 +-
tools/testing/selftests/firmware/fw_search.sh | 217 ++++++++++++++++++
3 files changed, 447 insertions(+), 77 deletions(-)
---
base-commit: c369299895a591d96745d6492d4888259b004a9e
change-id: 20260317-fw-path-a094c30259a5
Best regards,
--
Jeff Layton <jlayton@xxxxxxxxxx>