diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp index 084f4606e0..33bd1dcdbd 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp @@ -159,7 +159,7 @@ Node::CheckPermissions(int mode) const // root has always read/write permission, but at least one of the // X bits must be set for execute permission permissions = userPermissions | groupPermissions | otherPermissions - | S_IROTH | S_IWOTH; + | ACCESS_R | ACCESS_W; // user is node owner } else if (uid == fUID) permissions = userPermissions; diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h index c85fd13d4e..39528a49df 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h @@ -57,8 +57,8 @@ public: // stat data -// void SetMode(mode_t mode) { fMode = mode; } - inline void SetMode(mode_t mode) { fMode = fMode & S_IFMT | mode & ~S_IFMT; } + inline void SetMode(mode_t mode) + { fMode = fMode & ~S_IUMSK | mode & S_IUMSK; } inline mode_t GetMode() const { return fMode; } inline void SetUID(uid_t uid) { fUID = uid; } diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp index 1ed59e74d3..49741159a7 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp @@ -230,9 +230,12 @@ Volume::Mount(nspace_id id) // create the root dir if (error == B_OK) { fRootDirectory = new(nothrow) Directory(this); - if (fRootDirectory) + if (fRootDirectory) { + // set permissions: -rwxr-xr-x + fRootDirectory->SetMode( + S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); error = fRootDirectory->Link(NULL); - else + } else SET_ERROR(error, B_NO_MEMORY); } // set mounted flag / cleanup on error