Skip to content

[pull] master from maestro-os:master #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 104 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
43e5a20
fix: memory sync to disk on process exit
llenotre Apr 18, 2025
82c28b0
fix(pata): `write_pages`
llenotre Apr 18, 2025
b8bd73f
feat: `sync` and `syncfs`
llenotre Apr 19, 2025
fb1698a
fix: doc
llenotre Apr 19, 2025
18721a3
fix(ext2): mark fs structures as dirty when modified
llenotre Apr 20, 2025
f18c3df
feat: `sleep_until` and `sleep_for`
llenotre Apr 16, 2025
38f693a
refactor: move time-related system calls to the same file
llenotre Apr 16, 2025
e7f4cb8
fix: `sleep_for`
llenotre Apr 17, 2025
536ff37
fix(tty): deadlock
llenotre Apr 17, 2025
5dcc5df
feat: `time64` and `nanosleep64`
llenotre Apr 20, 2025
5663c7f
Merge pull request #45 from maestro-os/time
llenotre Apr 20, 2025
07b095e
fix: COW deadlock
llenotre Apr 20, 2025
4087ac1
fix: `/proc` panic
llenotre Apr 20, 2025
6cb4d6a
perf: looking for pending signal
llenotre Apr 20, 2025
82ee2c1
fix(tty): signals
llenotre Apr 21, 2025
83bc35c
refactor: user pointers (wip)
llenotre Apr 26, 2025
8205fa7
refactor: `mem_space/copy.rs` -> `memory/user.rs`
llenotre Apr 26, 2025
d580456
refactor: `RingBuffer`
llenotre Apr 26, 2025
9592ec5
fix: fmt and doc
llenotre Apr 26, 2025
4a0e0b2
fix: `read_all` and tty write
llenotre Apr 26, 2025
d99e9f0
fix: `/dev/random` deadlock
llenotre Apr 27, 2025
cda215a
fix: doc
llenotre Apr 27, 2025
8415056
refactor(`readlink`): remove unnecessary offset computations
llenotre Apr 27, 2025
285604d
refactor: remove unnecessary offset computations
llenotre Apr 27, 2025
fad9bc3
Merge pull request #47 from maestro-os/user-ptr
llenotre Apr 27, 2025
96b862d
refactor(`MemSpace`): use interior mutability
llenotre Apr 28, 2025
2ec3da8
fix(`meminfo`): deadlock
llenotre Apr 28, 2025
c7df05c
fix(procfs): `cmdline` and `environ`
llenotre May 8, 2025
bca14a4
fix: compilation
llenotre May 8, 2025
db48d48
fix(procfs): spontaneous fs disappearance
llenotre May 8, 2025
faf0c10
fix(ext2): flush to disk after unlinking an entry
llenotre May 8, 2025
914cc74
fix(ext2): corruption (wip)
llenotre May 8, 2025
299111b
chore: revert code removal in `vfs::Entry::release`
llenotre May 9, 2025
e764a3b
fix: deadlock
llenotre May 9, 2025
be237ce
fix: deadlock
llenotre May 9, 2025
56bd9a0
fix: overflow
llenotre May 9, 2025
652af65
chore: cleanup
llenotre May 9, 2025
b6ce55a
fix(procfs): spontaneous fs disappearance
llenotre May 9, 2025
2a64765
fix: malloc check compilation
llenotre May 11, 2025
04f771a
fix: `MAP_PRIVATE`
llenotre May 11, 2025
18cf3e8
Merge pull request #46 from maestro-os/page-cache
llenotre May 11, 2025
2bb6bd1
doc: supported architectures
llenotre May 11, 2025
002155e
doc: add process state transition diagram
llenotre May 11, 2025
b89ae3a
doc(README): `mdbook` and `mdbook-mermaid` dependency
llenotre May 11, 2025
c1f9d1e
ci(mdbook): prepare `mdbook-mermaid`
llenotre May 11, 2025
f9d56d5
Merge pull request #48 from maestro-os/doc
llenotre May 11, 2025
c91ecf3
chore: bump to Rust edition 2024
llenotre May 11, 2025
988a8ba
chore: bump dependencies
llenotre May 11, 2025
cca9cc1
fix: cargo clippy
llenotre May 11, 2025
aa1c849
fix: cargo clippy
llenotre May 11, 2025
6824a21
fix(`x86_64`): custom target
llenotre May 11, 2025
a388345
fix: misaligned references
llenotre May 12, 2025
82e21ca
fix: stackoverflow in debug mode
llenotre May 12, 2025
fd60133
fix: module compilation
llenotre May 12, 2025
903a78a
chore: update module template
llenotre May 12, 2025
8e5746f
Merge pull request #49 from maestro-os/rust2024
llenotre May 12, 2025
4c44cfc
chore: remove `deny(warnings)` (except in CI)
llenotre May 12, 2025
f310a1b
refactor: remove unused code
llenotre May 12, 2025
42c9c8f
refactor(syscall): add `user.rs`
llenotre May 12, 2025
973f0cf
refactor(syscall): add `process.rs` and `wait.rs`
llenotre May 12, 2025
ec98a07
refactor(syscall): add `signal.rs`
llenotre May 13, 2025
51d66e3
refactor(syscall): add `fd.rs` and `fs.rs`
llenotre May 13, 2025
30b8da6
fix(inttest): allow `dead_code`
llenotre May 13, 2025
7c3772d
refactor: remove unnecessary `#![allow(unused_imports)]`
llenotre May 13, 2025
55fc50c
refactor(syscall): group pipe and socket syscalls
llenotre May 13, 2025
0b1c889
refactor(syscall): add `mem.rs`
llenotre May 13, 2025
f6b89dc
refactor(syscall): grouping (wip)
llenotre May 13, 2025
29f3f64
feat(syscall): unimplemented syscalls
llenotre May 13, 2025
f88d17e
refactor: remove usages of `intrinsics`
llenotre May 13, 2025
c8a3aa7
refactor(syscall): grouping
llenotre May 13, 2025
af67778
Merge pull request #50 from maestro-os/warn
llenotre May 13, 2025
be36634
feat: ELF interpreter support (wip)
llenotre May 18, 2025
e996c16
feat(exec): `AT_EXECFD`
llenotre May 19, 2025
6245878
Revert "feat(exec): `AT_EXECFD`"
llenotre May 19, 2025
0ca9ccb
fix(exec): ELF interpreter loading
llenotre May 19, 2025
3bc7578
refactor(exec): remove unnecessary `exec_impl`
llenotre May 19, 2025
21118d7
Merge pull request #52 from maestro-os/interp
llenotre May 20, 2025
0093a3a
fix: file write
llenotre May 22, 2025
4df1407
fix(exec): ELF dynamic loading (wip)
llenotre May 23, 2025
0e14d49
fix(ELF): use `ENOEXEC` instead of `EINVAL`
llenotre May 24, 2025
4a94b96
feat(exec): `AT_EXECFN`
llenotre May 31, 2025
6ce5ab7
fix(exec): undefined behaviour (arithmetic on null pointer)
llenotre Jun 1, 2025
96170d0
fix: userspace memory layout (wip)
llenotre Jun 6, 2025
ca669f1
feat(syscall): `sysinfo`
llenotre Jun 7, 2025
b01b07d
fix: compilation
llenotre Jun 7, 2025
a5a8c03
fix(`waitpid`): `WCONTINUED`
llenotre Jun 10, 2025
4866f81
refactor: userspace memory map
llenotre Jun 10, 2025
98f40d4
feat(exec): `PT_GNU_STACK`
llenotre Jun 10, 2025
fa80fdc
fix(exec): load end address
llenotre Jun 10, 2025
7643043
fix: `SIG_IGN` and `SIG_DFL` on `rt_sigaction`
llenotre Jun 12, 2025
a43f89b
style: remove some `atomic::Ordering::`
llenotre Jun 14, 2025
06fa361
feat: `Vec::new_uninit`
llenotre Jun 14, 2025
a69ccbf
fix: `lseek` negative offsets
llenotre Jun 14, 2025
d10f1d0
refactor: ELF parser (wip)
llenotre Jun 15, 2025
8b50e7c
refactor(elf): do not read the whole file when loading
llenotre Jun 15, 2025
1aff500
fix(mmap): file permissions check
llenotre Jun 16, 2025
887d62b
feat: `Node::new`
llenotre Jun 17, 2025
02e703c
fix: file status flush to disk
llenotre Jun 17, 2025
aa5e085
fix: `wait*`
llenotre Jun 17, 2025
1558ae0
Merge pull request #53 from maestro-os/gcc
llenotre Jun 17, 2025
0fd61fd
fix(paging): invalid unmap
llenotre Jun 18, 2025
eb121ed
fix: ansi escape codes (wip)
llenotre Jun 20, 2025
b7ff612
feat(tty): screen clearing
llenotre Jun 21, 2025
f6680b4
fix(x86_64): crash when having more than 1GB of memory
llenotre Jun 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix: COW deadlock
  • Loading branch information
llenotre committed Apr 20, 2025
commit 07b095e686e9b0d43bd7a6922c4c6cc1654d17a8
2 changes: 1 addition & 1 deletion kernel/src/process/mem_space/mapping.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ impl MemMapping {
let virtaddr = VirtAddr::from(self.addr) + offset * PAGE_SIZE;
let page = if let Some(page) = &self.anon_pages[offset] {
// An anonymous page is already present, use it
if self.flags & MAP_PRIVATE != 0 && page.is_shared() {
if self.flags & MAP_SHARED == 0 && page.is_shared() {
// The page cannot be shared: we need our own copy
let page = init_page(vmem, self.prot, Some(page), virtaddr)?;
self.anon_pages[offset] = Some(page);
Expand Down