This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 61c82404580 fs/lock: Allow driver lock 61c82404580 is described below commit 61c82404580367de237ece3d3d437f906647239c Author: Zhe Weng <weng...@xiaomi.com> AuthorDate: Thu Mar 13 10:46:28 2025 +0800 fs/lock: Allow driver lock Sometimes we need to flock a driver node, which we can support easily. Signed-off-by: Zhe Weng <weng...@xiaomi.com> --- fs/vfs/fs_lock.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fs/vfs/fs_lock.c b/fs/vfs/fs_lock.c index ff43d28f388..f685eace90c 100644 --- a/fs/vfs/fs_lock.c +++ b/fs/vfs/fs_lock.c @@ -100,11 +100,14 @@ static mutex_t g_protect_lock = NXMUTEX_INITIALIZER; static int file_lock_get_path(FAR struct file *filep, FAR char *path) { FAR struct tcb_s *tcb = this_task(); + bool is_allowed_type; - /* We only apply file lock on mount points (f_inode won't be NULL). */ + /* We only apply file lock on mountpt and driver (f_inode won't be NULL). */ - if (!INODE_IS_MOUNTPT(filep->f_inode) || - tcb->flags & TCB_FLAG_SIGNAL_ACTION) + is_allowed_type = INODE_IS_MOUNTPT(filep->f_inode) || + INODE_IS_DRIVER(filep->f_inode); + + if (!is_allowed_type || tcb->flags & TCB_FLAG_SIGNAL_ACTION) { return -EBADF; }