Commit Graph
100 Commits
Author SHA1 Message Date
Tomáš Rohlínek 6a20a83421 fix(storage/fatfs): fix FAT32 mount integer overflow (CVE-2026-6682)
The initial CVE-2026-6682 fix (merged in !50362) hardened the exFAT
mount path, but the CVE as reported by runZero is a FAT32 defect in
mount_volume() and is reachable in ESP-IDF's default configuration
(exFAT and 64-bit LBA disabled). This corrects the fix.

Root cause: `fasize *= fs->n_fats` is a DWORD multiply with no overflow
guard. A crafted BPB_FATSz32 such as 0x80000001 with NumFATs=2 wraps
`fasize` to 0x00000002. The wrapped (too-small) FAT size then places
`fs->database` inside the FAT region, so a forged directory entry in the
overlapping sector yields an attacker-controlled `finfo.fsize`. Any
caller that uses that size as a read length overflows its buffer with
attacker-controlled bytes (CVSS 7.6, path to RCE). The later
`fs->fsize < szbfat` check does not catch this because it compares the
un-doubled single-FAT size, which is still large.

Fix: reject a per-FAT size that overflows DWORD when multiplied by the
FAT count, and reject a reserved+FAT+root system-area size that overflows
DWORD, before either value is used to derive the data-area base.

The previous exFAT cluster-heap/bitmap 64-bit promotions are retained as
defense-in-depth and their comments relabeled accordingly (they are not
CVE-2026-6682). The SBOM cve-exclude-list reason is updated to describe
the FAT32 overflow and its fix.
2026-07-07 16:36:30 +02:00
Tomas Rohlinek 5fde421955 Merge branch 'fix/fatfs_vulnerabilities' into 'master'
fix(fatfs): harden against runZero 2026 FatFs bugs

See merge request espressif/esp-idf!50362
2026-07-06 15:20:15 +02:00
Tomáš Rohlínek 5716f444d4 fix(storage/fatfs): record non-applicable runZero 2026 CVEs in SBOM
Document the three runZero "Seven FatFs bugs" CVEs that require no source change
in this component, so vulnerability scanners have their disposition:

  - CVE-2026-6684: GPT partition-scan loop DoS. Already fixed upstream in R0.16,
    where test_gpt_header() caps the partition-entry count at 128.
  - CVE-2026-6686: read of uninitialized clusters after f_lseek() past EOF.
    Longstanding, behavioral; not a memory-safety defect and zero-filling every
    extended cluster is prohibitively costly on flash.
  - CVE-2026-6688: long-filename overflow in downstream callers. Not exposed in
    ESP-IDF; vfs_fat.c uses bounded copies and fname is bounded by FF_MAX_LFN.

Reference: https://www.runzero.com/blog/fatfs-bugs/
2026-07-06 13:39:24 +02:00
Tomáš Rohlínek 838ea02c56 fix(storage/fatfs): clamp exFAT volume-label length in f_getlabel() (CVE-2026-6687)
f_getlabel() extracts the exFAT volume label with a loop bounded by the on-disk
byte dj.dir[XDIR_NumLabel] (0-255):

    for (si = di = hs = 0; si < dj.dir[XDIR_NumLabel]; si++)
        wc = ld_16(dj.dir + XDIR_Label + si * 2);

The exFAT label field holds at most 11 UTF-16 units (22 bytes). A crafted
directory entry with a larger count both reads past the 22-byte label field and,
through put_utf(... &label[di], 4), writes past the end of the caller-provided
label buffer (the canonical API examples use small fixed stack buffers) -> stack
buffer overflow.

Clamp the character count to the exFAT maximum of 11 before the extraction loop.
Record the CVE in the component SBOM.

Note: f_getlabel() takes no destination-buffer size, so under UTF-8 output
(FF_LFN_UNICODE == 2) 11 units can still expand to up to 34 bytes; the clamp
downgrades this from attacker-unbounded to spec-bounded. ESP-IDF's VFS layer
does not call f_getlabel(); direct callers on untrusted media should size their
buffer accordingly. A complete fix requires an upstream size-aware API change.

Reference: https://www.runzero.com/blog/fatfs-bugs/
2026-07-06 13:38:59 +02:00
Tomáš Rohlínek 98416b7e13 fix(storage/fatfs): guard dirty-cache refill against unsigned LBA wrap (CVE-2026-6685)
After a direct multi-sector disk_read()/disk_write(), FatFs decides whether the
cached sector overlaps the direct-I/O range with:

    fp->sect - sect < cc          (and the FF_FS_TINY variant fs->winsect - sect < cc)

`sect`, `fp->sect` and `fs->winsect` are unsigned LBA_t. On 32-bit LBA_t builds,
if the cached sector is below `sect`, the subtraction wraps to a huge value that
can still compare `< cc`, so the code computes a bogus large offset:

  - in f_write() it mis-copies from the direct write buffer (data corruption);
  - in f_read() it is worse: memcpy(rbuff + (wrapped_offset * SS), ...) is an
    out-of-bounds WRITE into the caller-supplied read buffer.

Add an explicit lower-bound check (fp->sect >= sect, resp. fs->winsect >= sect)
before the range test on both the read and write paths and both the FF_FS_TINY
and normal variants, so the condition is exactly "cached sector lies within
[sect, sect + cc)". Record the CVE in the component SBOM.

Reference: https://www.runzero.com/blog/fatfs-bugs/
2026-07-06 13:38:29 +02:00
Tomáš Rohlínek 7d73545564 fix(storage/fatfs): reject empty exFAT cluster heap and guard divisor (CVE-2026-6683)
The FAT12/16/32 mount path rejects a zero cluster count, but the exFAT path
accepted NumClusters == 0. That yields fs->n_fatent == 2, and sync_fs() later
computes the "percent in use" field as:

    ... * 100 / (fs->n_fatent - 2)

which is a division by zero (n_fatent - 2 == 0) -> crash. On a device that
syncs during an update this can brick the unit.

Reject ncl == 0 at exFAT mount time, and add a defense-in-depth
`fs->n_fatent > 2` guard around the division in sync_fs() so the divisor can
never be zero even if some future path produces such a filesystem object.
Record the CVE in the component SBOM.

Reference: https://www.runzero.com/blog/fatfs-bugs/
2026-07-06 13:37:59 +02:00
Tomáš Rohlínek 81ec08b949 fix(storage/fatfs): fix exFAT mount integer overflow (CVE-2026-6682)
The exFAT mount path validates that the media is large enough to hold the
declared cluster heap with:

    if (maxlba < (QWORD)fs->database + ncl * fs->csize) ...

`ncl` (DWORD, up to MAX_EXFAT) and `fs->csize` (WORD) are both promoted to
`unsigned int`, so `ncl * fs->csize` is evaluated in 32-bit arithmetic and can
wrap before the QWORD promotion of the sum. A crafted image with a large
NumClusters/SecPerClus can therefore make an undersized volume pass the "size
is large enough" check; subsequent cluster->sector math then addresses media
outside the actual device.

Promote the multiply to 64-bit ((QWORD)ncl * fs->csize). Apply the same
promotion to the bitmap-base computation ((LBA_t)fs->csize * (bcl - 2)), which
has the identical overflow shape. Record the CVE in the component SBOM.

Reference: https://www.runzero.com/blog/fatfs-bugs/
2026-07-06 13:37:28 +02:00
Tomáš Rohlínek ae0fad3bac fix(storage/fatfs): correct SBOM version to R0.16
The vendored FatFs sources are revision R0.16 (FF_DEFINED == 80386, per
components/fatfs/src/ff.h and ff.c) but the SBOM recorded R0.15. Correct the
recorded version so vulnerability tracking matches the actual sources.
2026-07-06 13:36:59 +02:00
Tomas Rohlinek af1b80bc55 Merge branch 'feat/readonly_WL_fatfs' into 'master'
fatfs: add read_only flag to esp_vfs_fat_mount_config_t

Closes IDF-15826

See merge request espressif/esp-idf!49597
2026-06-26 09:16:27 +02:00
Tomas Rohlinek dfd2e6b6f7 fatfs: add read_only flag to esp_vfs_fat_mount_config_t 2026-06-26 09:16:26 +02:00
Tomáš Rohlínek a9f545bcea feat(esp_blockdev): add build-time ioctl command reservation overlap checker 2026-06-16 11:38:22 +02:00
Tomas Rohlinek 99d4c753e2 fix(network/http_server): fix clang-tidy warnings for missing close
Cherry-picked from 68b37333049383659d6ea73fa11a1d942994535a
2026-06-03 00:00:43 +02:00
Tomas Rohlinek 0d5a7406ec Merge branch 'fix/stdio_remove_fd_table' into 'master'
refactor(storage/stdio): remove fd table, forward opens to primary backend

See merge request espressif/esp-idf!49019
2026-06-02 10:31:56 +02:00
Tomas Rohlinek 064389e334 refactor(storage/stdio): remove fd table, forward opens to primary backend 2026-06-02 10:31:56 +02:00
Tomas Rohlinek fb2e11f070 Merge branch 'fix/vfs_incorect_deprecation' into 'master'
fix(storage/vfs): Mark the correct version of function deprecated

See merge request espressif/esp-idf!49015
2026-05-28 17:40:54 +02:00
Tomáš Rohlínek 7361e32490 fix(storage/vfs): Mark the correct version of function deprecated 2026-05-28 15:00:50 +02:00
Tomas Rohlinek ff1099f39b Merge branch 'feat/refactor_stdio_vfs' into 'master'
feat(storage/stdio): refactor stdio vfs

Closes IDF-15109

See merge request espressif/esp-idf!44351
2026-05-27 11:36:05 +02:00
Tomáš Rohlínek 92725e92d5 fix(esp_stdio): add fd-table locking, per-fd flag checks, and Kconfig cleanup 2026-05-26 08:56:51 +02:00
Tomas Rohlinek c225eb59db Merge branch 'feat/update_littlefs' into 'master'
feat(storage/littlefs): Bump version to enable blockdev support

Closes IDF-12746

See merge request espressif/esp-idf!47358
2026-04-22 09:51:20 +02:00
Tomáš Rohlínek c54c523674 feat(storage/littlefs): Bump version to enable blockdev support 2026-04-08 09:45:12 +02:00
Tomáš Rohlínek 59179490a2 fix(esp_stdio): remap console select fd bits to sink device
Map logical /dev/console fds to the primary sink fd for select.
This avoids probing UART1/UART2 for stdout/stderr and keeps UART select state consistent.
Add stdio regression checks for logical fd mapping and symmetric uart_end_select teardown.
2026-04-01 15:33:45 +02:00
Tomáš Rohlínek e041542092 test(mspi_test): relax Unity heap leak threshold for lazy stdio 2026-04-01 15:32:55 +02:00
Tomáš Rohlínek 4a7f4bf872 feat(system/esp_stdio): Add test coverage for esp_stdio refactor 2026-04-01 15:32:55 +02:00
Tomáš Rohlínek ba4686ce90 feat(storage/stdio): Refactor stdio_vfs multiplexer 2026-04-01 15:32:54 +02:00
Tomáš Rohlínek 1509ca2895 fix(storage/esp_libc): Fix incorrect fd checks 2026-04-01 15:30:45 +02:00
Tomas Rohlinek a23ff398d2 Merge branch 'docs/update_fatfs_config_docs' into 'master'
docs(storage/fatfs): Refactor fatfs docs

Closes IDF-9652, IDF-15454, and DOC-14113

See merge request espressif/esp-idf!46278
2026-03-31 14:02:59 +02:00
Tomáš Rohlínek 917e0fd255 docs(storage/fatfs): Fix problem with FatFs refactor 2026-03-31 10:20:49 +08:00
Tomáš Rohlínek 4af8f201b9 docs(storage/fatfs): Refactor FatFs documentation 2026-03-31 10:20:49 +08:00
Tomáš Rohlínek a07d018409 docs(storage/fatfs): Update LFN default and dynamic buffers docs 2026-03-31 10:20:49 +08:00
Tomas Rohlinek 03086cb4a5 Merge branch 'feature/add_blockdev_docs' into 'master'
feat(storage/blockdev): Add documentation including contracts for operations

Closes IDF-12759

See merge request espressif/esp-idf!43156
2026-03-26 16:17:17 +01:00
Tomáš Rohlínek d8e3106134 feat(storage/blockdev): Add documentation including contracts for operations 2026-03-26 12:20:35 +01:00
Tomas Rohlinek 99939bdcc2 Merge branch 'contrib/github_pr_18327' into 'master'
fix(fatfs): correct preprocessor guard for fail label when FF_FS_TINY=1 and FF_USE_DYN_BUFFER=1 (GitHub PR)

Closes IDFGH-17355

See merge request espressif/esp-idf!46742
2026-03-23 19:45:48 +01:00
Tomáš Rohlínek ec1969c1fc fix(storage/esp_blockdev): Update docs for doxygen 2026-03-19 14:48:56 +01:00
Tomas Rohlinek 99c09321a6 Merge branch 'feat/bdl_generic_partition' into 'master'
feat(storage/blockdev): Add generic partition and memory mapping blockdev drivers

Closes IDF-12750

See merge request espressif/esp-idf!39989
2026-03-19 10:53:44 +01:00
Tomáš Rohlínek ec7acbbbfc feat(storage/blockdev): Update description for ioctl commands 2026-03-19 08:56:34 +01:00
Tomáš Rohlínek 54b04cd2ca feat(storage/blockdev_util): Add the component to CODEOWNERS 2026-03-19 08:56:34 +01:00
Tomáš Rohlínek d2ff18b047 feat(storage/blockdev): Add generic partition blockdev driver 2026-03-19 08:56:21 +01:00
Tomáš Rohlínek 63a708fcaa feat(storage/blockdev): Add memory mapping device driver 2026-03-19 08:54:39 +01:00
Tomas Rohlinek 38ee8df910 Merge branch 'chore/update_filesystem_considerations_codeowners' into 'master'
docs(storage): Move file system considerations doc guide ownership under storage

See merge request espressif/esp-idf!46732
2026-03-18 12:43:13 +01:00
Tomáš Rohlínek 8ad3ae4263 docs(storage): Move file system considerations doc guide under storage 2026-03-18 09:58:36 +01:00
Tomas Rohlinek 3c499632c7 Merge branch 'feat/unify_vfs_api' into 'master'
feat(storage/vfs): Unify VFS API by removing context-less APIs

Closes IDF-15107

See merge request espressif/esp-idf!44161
2026-03-13 15:05:04 +01:00
Tomáš Rohlínek 405b82921d feat(storage/vfs): Document context-less API deprecation 2026-03-11 11:04:34 +01:00
Tomáš Rohlínek a46fec8d96 feat(storage/vfs): Remove usage of context less VFS APIs 2026-03-11 11:03:43 +01:00
Tomáš Rohlínek 859ca9e5e2 feat(storage/vfs): Deprecate context-less function pointers 2026-03-11 11:03:37 +01:00
Tomas Rohlinek 12f36a021f Merge branch 'feat/align_fatfs_buffers' into 'master'
feat(storage/fatfs): Allow fatfs buffers to be aligned for DMA access

Closes IDF-9714

See merge request espressif/esp-idf!44942
2026-03-03 18:09:50 +01:00
Tomáš Rohlínek 96f820e535 feat(storage/fatfs): Allow fatfs buffers to be aligned for DMA access 2026-02-25 12:50:20 +01:00
Tomas Rohlinek 0b096cccbb Merge branch 'fix/poll_return_value' into 'master'
fix(storage/esp_libc): Fix poll return value discrepancy

Closes IDF-9973

See merge request espressif/esp-idf!44943
2026-02-25 08:28:48 +01:00
Tomas Rohlinek ff2b43f31b Merge branch 'fix/minimize_dependencies' into 'master'
feat(storage): Minimize dependencies for test cases

Closes IDF-15321

See merge request espressif/esp-idf!45832
2026-02-24 16:06:21 +01:00
Tomáš Rohlínek d509422fec fix(vfs): clear dummy select output fd sets
Zero dummy VFS output fd sets in start_select.
This keeps revents limited to readiness from end_select.
It prevents spurious POLLERR bits in poll() regression tests.
2026-02-19 11:27:21 +01:00
Tomáš Rohlínek 4575ac1f5e feat(storage): Minimize dependencies for test cases 2026-02-18 13:43:27 +01:00
Tomas Rohlinek d32b88dffb Merge branch 'fix/esp_partition_blockdev_sizes' into 'master'
fix(storage/partition): Update sizes in blockdev geometry in read-only mode for compatibility

See merge request espressif/esp-idf!45646
2026-02-05 21:06:51 +01:00
Tomáš Rohlínek 49b1871545 fix(storage/partition): Update sizes in blockdev geometry in read-only mode for compatibility 2026-02-05 15:35:05 +01:00
Tomas Rohlinek f0bf3ca1c0 Merge branch 'fix/vfs_missing_va_end' into 'master'
fix(storage/vfs): Remove va_end leak in ioctl caused by early return in macro

Closes IDF-15111

See merge request espressif/esp-idf!44923
2026-01-29 12:03:11 +01:00
Tomas Rohlinek 059f49ceff Merge branch 'docs/fatfs_change_of_defaults' into 'master'
docs(storage): Update migration guide

Closes IDF-14188

See merge request espressif/esp-idf!44396
2026-01-22 15:08:02 +01:00
Tomáš Rohlínek d7344e9658 fix(storage/esp_libc): Fix poll return value discrepancy 2026-01-14 08:28:05 +01:00
Tomáš Rohlínek 8e41da1aa1 fix(storage/vfs): Remove va_end leak in ioctl caused by early return in macro 2026-01-08 12:01:56 +01:00
Tomáš Rohlínek f2a655b866 docs(storage): Update migration guide 2026-01-08 08:49:47 +01:00
Tomas Rohlinek 203c4da5f8 Merge branch 'feat/vfs_remove_old_api' into 'master'
feat(storage/vfs): v6 API breaking changes

Closes DOC-13273

See merge request espressif/esp-idf!42182
2025-12-17 20:21:27 +01:00
Tomáš Rohlínek 18c5aa7b80 docs(storage/vfs): Add migration guide for breaking changes 2025-12-16 17:48:55 +08:00
Tomáš Rohlínek 3e41a5de6f feat(storage/vfs): Deprecate legacy API 2025-12-16 17:48:55 +08:00
Tomáš Rohlínek 515975d2bb feat(storage/vfs): Make lwip specific API private 2025-12-16 17:48:55 +08:00
Tomáš Rohlínek 8c9d62de98 feat(storage/vfs): Remove old API usage 2025-12-16 17:48:55 +08:00
Tomáš Rohlínek 4814f06283 feat(storage/vfs): refactor VFS calls to multiple files 2025-12-16 17:48:55 +08:00
Tomáš Rohlínek 36045c6ca1 feat(storage/fatfs): Make host_test results easier to understand 2025-11-10 12:48:53 +01:00
Tomáš Rohlínek f781970329 feat(storage/fatfs): Update to FatFS R0.16 2025-11-10 12:42:52 +01:00
Tomas Rohlinek 06004072cb Merge branch 'feat/vfs_disable_termios_by_default' into 'master'
feat(storage/vfs): Disable termios support by default

Closes IDF-7998

See merge request espressif/esp-idf!42175
2025-10-23 13:25:11 +02:00
Tomas Rohlinek 734c1725fb Merge branch 'feat/fatfs_update_default_options' into 'master'
feat(storage/fatfs): Update default configuration to better fit average usecase

Closes IDF-14042

See merge request espressif/esp-idf!42174
2025-10-23 13:23:13 +02:00
Tomas Rohlinek 7d7c5f1412 Merge branch 'fix/vfs_new_api_docs' into 'master'
fix(storage/vfs): Fix typo in code snippet in docs

Closes IDF-14285

See merge request espressif/esp-idf!42609
2025-10-15 13:34:15 +02:00
Tomáš Rohlínek 4568f6c776 fix(storage/vfs): Fix typo in code snippet in docs 2025-10-15 10:08:52 +02:00
Tomáš Rohlínek f6ba0d8aa0 feat(storage/fatfs): Update default configuration to better fit average usecase 2025-10-15 09:30:02 +02:00
Tomáš Rohlínek d99e984a90 feat(storage/vfs): Disable termios support by default 2025-10-15 09:29:34 +02:00
Tomas Rohlinek bf1b16554a Merge branch 'feat/socket_count_checks' into 'master'
feat(network/lwip): Add checks for maximum socket count

Closes IDF-12788

See merge request espressif/esp-idf!38642
2025-04-30 14:52:01 +08:00
Tomáš Rohlínek fccd8d1a5b feat(network/lwip): Add checks for maximum socket count 2025-04-23 08:36:43 +02:00
Tomas Rohlinek 7005b101bf Merge branch 'fix/fatfs_use_dyn_buf_kconfig_mistake' into 'master'
fix(fatfs): Mistake in Kconfig for FATFS_USE_DYN_BUFFERS

Closes IDF-11789

See merge request espressif/esp-idf!35182
2025-04-09 23:45:03 +08:00
Tomáš Rohlínek b1997ebab6 feat(storage/fatfs): add dynamic buffer usage test 2025-04-09 14:02:44 +02:00
Tomas Rohlinek f945dae618 Merge branch 'contrib/github_pr_15247' into 'master'
refactor(components/fatfs): replace assert expression (GitHub PR)

Closes IDFGH-14473

See merge request espressif/esp-idf!38194
2025-04-02 18:21:55 +08:00
Tomáš Rohlínek be6e24370f fix(storage/nvf_flash): fixup additions from PR 2025-03-28 12:57:33 +01:00
Tomas Rohlinek 7d365f7b42 Merge branch 'fix/fatfsgen_tests' into 'master'
fix(storage/fatfsgen): increase test timeout

Closes IDFCI-2681

See merge request espressif/esp-idf!37702
2025-03-13 16:30:31 +08:00
Tomáš Rohlínek f416523e16 fix(storage/fatfsgen): increase test timeout 2025-03-12 14:45:39 +01:00
Tomáš Rohlínek df8a16281b feat(storage/fatfs): increase log legibility for fatfs mount 2025-02-28 14:59:48 +01:00
Tomáš Rohlínek 09aae72bfa docs(storage/fatfs): discrepancies between FATFS and POSIX
Closes https://github.com/espressif/esp-idf/issues/15187
2025-02-13 10:15:52 +01:00
Tomáš Rohlínek 67638981ec feat(storage/vfs): cleanup path prefix handling 2025-02-07 10:34:24 +01:00
Tomáš Rohlínek a45b12a68b feat(storage/vfs): improve mountpoint table memory usage 2025-01-30 09:07:51 +01:00
Tomas Rohlinek 9f253c7d7c Merge branch 'fix/fatfs_use_standard_flex_arrays' into 'master'
fix(storage/fatfs): use standard flex-array fields, instead of extension

See merge request espressif/esp-idf!36666
2025-01-29 17:31:56 +08:00
Tomáš Rohlínek a700e7c210 fix(storage/fatfs): use standard flex-array fields, instead of extension 2025-01-29 09:08:44 +01:00
Tomáš Rohlínek f9d6e356bf fix(storage/fatfsgen): broken test_apps scripts for fatfsgen 2025-01-16 13:41:57 +01:00
Tomáš Rohlínek 2140c9b688 fix(storage/fatfsgen): broken test_apps scripts for fatfsgen 2025-01-16 12:13:16 +01:00
Tomas Rohlinek 89045a1ff2 Merge branch 'feat/bump_esp_littlefs_1_16_0' into 'master'
feat(storage/examples): bump littlefs version to 1.16.0

Closes IDF-11691

See merge request espressif/esp-idf!35823
2024-12-23 17:04:52 +08:00
Tomas Rohlinek b5ac4fbdf9 Merge branch 'fix/esp_vfs_register_fd_range_warning_message' into 'master'
fix(storage/vfs): incorrect log level in esp_vfs_register_fd_range

Closes IDFGH-13421

See merge request espressif/esp-idf!35682
2024-12-19 22:22:31 +08:00
Tomáš Rohlínek 0fe0637cfe feat(storage/examples): bump littlefs version to 1.16.0 2024-12-19 14:11:15 +01:00
Tomáš Rohlínek 5e53f2975e fix(storage/vfs): incorrect log level in esp_vfs_register_fd_range
Closes https://github.com/espressif/esp-idf/issues/14327
2024-12-16 15:12:11 +01:00
Tomáš Rohlínek 86e5039fc9 feat(storage/vfs): make all member pointer of vfs_ops struct const 2024-12-12 13:03:30 +01:00
Tomáš Rohlínek d5d295cf7a fix(storage/console): fix test configuration 2024-11-28 13:34:25 +01:00
Tomáš Rohlínek f59362266a fix(storage/vfs_console): stop new console opens from overwriting existing fds 2024-11-28 13:12:22 +01:00
Tomas Rohlinek 408ae4c560 Merge branch 'feature/switch_to_new_vfs_api' into 'master'
feat(storage): switch to new VFS API

Closes IDF-11473

See merge request espressif/esp-idf!32029
2024-11-22 16:51:46 +08:00
Tomáš Rohlínek 65575bfe4d feat(storage/vfs): move semihost to new vfs API 2024-11-21 07:41:43 +01:00
Tomáš Rohlínek 9b4d11fb3c feat(storage/vfs): move l2tap to new vfs API 2024-11-21 07:41:43 +01:00
Tomáš Rohlínek aae0825587 feat(storage/esp_vfs_console): move console to new vfs API 2024-11-21 07:41:42 +01:00
Tomáš Rohlínek fbb5d9063e feat(storage/vfs): move jtag driver to new vfs API 2024-11-21 07:41:42 +01:00
Tomáš Rohlínek 2821ad7920 feat(storage/vfs): move uart driver to new vfs API 2024-11-21 07:41:42 +01:00