[PATCH v8 0/2] firmware_loader: allow firmware_class.path to take multiple paths

From: Jeff Layton

Date: Thu Apr 23 2026 - 14:18:19 EST


This version just has a couple of very minor nits fixed that sashiko
flagged. I'd love to see this go into -next soon, so it can make v7.2.

Greg, are you ok with this version?

Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
Changes in v8:
- add newline to output in fw_search_get()
- fix test #3 to test non-present file properly
- Link to v7: https://lore.kernel.org/r/20260402-fw-path-v7-0-5b7e9c41a8c0@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 | 306 +++++++++++++++++++-------
tools/testing/selftests/firmware/Makefile | 2 +-
tools/testing/selftests/firmware/fw_search.sh | 217 ++++++++++++++++++
3 files changed, 448 insertions(+), 77 deletions(-)
---
base-commit: c369299895a591d96745d6492d4888259b004a9e
change-id: 20260317-fw-path-a094c30259a5

Best regards,
--
Jeff Layton <jlayton@xxxxxxxxxx>