From c518435bb11ae496a00423b35b894f8590acf87d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sun, 8 Nov 2015 04:29:22 +0100 Subject: [PATCH] VFS: pass correct vnode to fs calls in default get_vnode_name The opendir and closedir/free_dircookie hooks were called with mismatched vnode. It seems only googlefs is actually affected by this, since all other fs without a get_vnode_name just don't are about the passed vnode arg to closedir and free_dircookie. Now I should really get some sleep! --- src/system/kernel/fs/vfs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 097fa3b577f..963eb371ccf 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -2528,8 +2528,8 @@ get_vnode_name(struct vnode* vnode, struct vnode* parent, struct dirent* buffer, } } - FS_CALL(vnode, close_dir, cookie); - FS_CALL(vnode, free_dir_cookie, cookie); + FS_CALL(parent, close_dir, cookie); + FS_CALL(parent, free_dir_cookie, cookie); } return status; }