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 <[email protected]>
---
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/[email protected]

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/[email protected]

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/[email protected]

Changes in v4:
- Move search path to new search= option that is tried after path=
- Link to v3: 
https://lore.kernel.org/r/[email protected]

Changes in v3:
- Allow '\' to escape a literal ':' or '\' in the string
- Link to v2: 
https://lore.kernel.org/r/[email protected]

Changes in v2:
- switch to using ':' as path delimiter
- Link to v1: 
https://lore.kernel.org/r/[email protected]

---
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 <[email protected]>


Reply via email to