mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:27:44 +00:00
Kernel: open() and openat() should ignore non-permission bits in mode
This commit is contained in:
parent
d310cf3b49
commit
e1d4b19461
2 changed files with 25 additions and 0 deletions
|
@ -156,6 +156,24 @@ void test_procfs_read_past_end()
|
|||
close(fd);
|
||||
}
|
||||
|
||||
void test_open_create_device()
|
||||
{
|
||||
int fd = open("/tmp/fakedevice", (O_RDWR | O_CREAT), (S_IFCHR | 0600));
|
||||
ASSERT(fd >= 0);
|
||||
|
||||
struct stat st;
|
||||
if (fstat(fd, &st) < 0) {
|
||||
perror("stat");
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
if (st.st_mode != 0100600) {
|
||||
fprintf(stderr, "Expected mode 0100600 after attempt to create a device node with open(O_CREAT), mode=%o\n", st.st_mode);
|
||||
}
|
||||
unlink("/tmp/fakedevice");
|
||||
close(fd);
|
||||
}
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
int rc;
|
||||
|
@ -177,6 +195,7 @@ int main(int, char**)
|
|||
test_mmap_directory();
|
||||
test_tmpfs_read_past_end();
|
||||
test_procfs_read_past_end();
|
||||
test_open_create_device();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue