nuttx/fs
Abhishek Mishra 08afc5f2cf fs: enforce path search and unify inode permission helpers
Require X_OK on path ancestors and mountpoint gates via
inode_checkpathperm(), and use inode_checkperm() for inode mode checks.
inode_checkpathperm() takes the inode tree read lock (or INODE_CHECK_LOCKED
when the caller already holds it) and can fold a non-zero amode check onto
the target inode in the same call.

When CONFIG_FS_PERMISSION is disabled, inode_checkperm/inode_checkpathperm
are empty macros returning 0 so there is no stub .text cost.

Skip mountpoint R/W open-mode checks in inode_checkopenperm(); keep
traversal separate from open.  Add an optional mountpt_operations.permission
hook (tmpfs when CONFIG_FS_PERMISSION) for in-volume DAC without making the
VFS mount-crossing path depend on it.

Signed-off-by: Abhishek Mishra <mishra.abhishek2808@gmail.com>
2026-08-02 18:48:40 -03:00
..
aio !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
binfs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
cromfs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
driver libs/libc: Fix divide-by-zero in stat() with large filesystem block sizes 2026-07-16 23:37:22 +08:00
event fs/event/open: fix the inode information update outside of lock 2026-01-28 10:03:06 +08:00
fat !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
hostfs fs/hostfs: Use configured path length 2026-07-23 15:34:02 +08:00
inode fs: enforce path search and unify inode permission helpers 2026-08-02 18:48:40 -03:00
littlefs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
mmap !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
mnemofs fs/mnemofs: Add mnemofs version 1 support. 2026-05-19 10:29:11 +08:00
mount fs: enforce path search and unify inode permission helpers 2026-08-02 18:48:40 -03:00
mqueue fs: enforce permission checks when opening IPC pseudo-inodes 2026-07-30 09:48:10 +08:00
nfs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
nxffs fs/vfs: Add ioctldir for volume ioctls via the mountpoint directory. 2026-07-25 07:28:22 -03:00
partition fs/partition: bound TXTABLE partition names 2026-07-06 07:51:46 +02:00
procfs fs/procfs: fix incorrect environ read for another task under CONFIG_ARCH_ADDRENV 2026-07-11 12:43:10 -03:00
romfs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
rpmsgfs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
semaphore fs: enforce permission checks when opening IPC pseudo-inodes 2026-07-30 09:48:10 +08:00
shm fs: enforce permission checks when opening IPC pseudo-inodes 2026-07-30 09:48:10 +08:00
smartfs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
socket include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
spiffs !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
tmpfs fs: enforce path search and unify inode permission helpers 2026-08-02 18:48:40 -03:00
unionfs include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
userfs include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
v9fs include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
vfs fs: enforce path search and unify inode permission helpers 2026-08-02 18:48:40 -03:00
xipfs fs/xipfs: Add a contiguous execute-in-place file system. 2026-07-29 07:49:03 -03:00
zipfs fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
CMakeLists.txt fs: migrate to SPDX identifier 2024-11-06 01:58:54 +08:00
fs_heap.c mm/mm_heap: use struct mm_heap_config_s to init the memory heap 2026-01-19 14:18:27 +08:00
fs_heap.h fs_heap:add fs_heap_mallinfo_task 2025-01-15 17:12:50 +08:00
fs_initialize.c fs: Move inotify.c from fs/notify/ to fs/vfs/ 2025-06-23 18:17:10 -03:00
Kconfig fs/xipfs: Add a contiguous execute-in-place file system. 2026-07-29 07:49:03 -03:00
Makefile fs/xipfs: Add a contiguous execute-in-place file system. 2026-07-29 07:49:03 -03:00