Robin Randhawa
95bd8f2013
clone: Make stack manipulation arch specific
2021-01-17 10:26:49 +00:00
Robin Randhawa
ae3a55f5d1
Introduce a PageTableType enum to help distinguish User and Kernel Tables
2021-01-15 09:12:30 -07:00
Robin Randhawa
02c37d3fae
WIP: aarch64 rebase
2021-01-15 05:54:42 -07:00
Jeremy Soller
334584b3d5
Use rmm::PhysicalAddress and rmm::VirtualAddress directly
2021-01-09 21:16:11 -07:00
Jeremy Soller
f5ac405db6
Support for RMM
2020-11-27 16:49:39 +00:00
jD91mZM2
922b3d0437
Remove brk
2020-08-15 17:36:50 +02:00
jD91mZM2
da7b813fa9
Investigate why user heap isn't mapped
...
Took me way too long to spot this :D
2020-08-15 17:22:34 +02:00
Jeremy Soller
1a8f47330e
Add a message when user heap is not mapped, do not panic
2020-08-02 17:07:57 -06:00
jD91mZM2
ccc577b3a1
Abstract over finding nice addresses
2020-07-23 11:22:54 +02:00
jD91mZM2
57c167d2fa
Make grants be a BTreeSet
2020-07-22 15:09:28 +02:00
jD91mZM2
9c41424d3a
Apply suggestion to src/syscall/process.rs
2020-07-21 14:10:58 +00:00
jD91mZM2
2782a5a7a9
Apply suggestion to src/syscall/process.rs
2020-07-21 14:10:43 +00:00
jD91mZM2
07baf70c7a
Don't push interpreter as argv[0]
2020-07-20 11:09:56 +02:00
jD91mZM2
310a425c65
Merge branch 'master' into auxv
2020-07-18 12:19:11 +02:00
jD91mZM2
b00456dbb9
WIP: Continue trying to fix clone_ret
2020-07-16 13:46:53 +02:00
jD91mZM2
3bb234009a
WIP: Ensure clone_ret correctness
2020-07-15 11:43:17 +02:00
jD91mZM2
aa3279455d
Merge branch 'master' into auxv
2020-07-13 12:48:48 +02:00
jD91mZM2
4b8d2e45c6
Add AT_PHDR
2020-07-10 12:56:08 +02:00
jD91mZM2
3430eadc9a
Add auxiliery vector
2020-07-10 12:34:32 +02:00
bjorn3
7b76ab3356
Don't panic on mprotect for unmapped pages
2020-07-09 11:03:02 +02:00
jD91mZM2
039f7f5c83
Simplify EXEC catching
...
Instead of having a separate flag, let's reuse STOP_SINGLESTEP :)
I wasn't thinking enough when making this flag!
2020-07-07 14:16:42 +02:00
jD91mZM2
7fc49eed74
ptrace: Allow stopping on fexec
2020-06-22 13:11:32 +02:00
jD91mZM2
9c891384ea
Fix ptrace returning ENODEV when process exists
2020-06-16 13:42:04 +02:00
jD91mZM2
12f632837a
Misc proc code cleanup
2020-06-16 10:08:49 +02:00
4lDO2
e7d00d4735
Fix various kernel warnings.
2020-06-11 12:58:03 +02:00
Jeremy Soller
3c86af57b7
Allow contexts sharing process space to run on different CPUs
2020-04-19 08:46:50 -06:00
Jeremy Soller
fdf46d8043
Fix multi_core livelocks and add livelock debugging
2020-04-19 08:46:50 -06:00
Jeremy Soller
d4d14c78c3
Ensure page table locking at runtime
2020-02-12 20:34:49 -07:00
Jeremy Soller
7721a0a4c6
Fix assignment of cpu_id
2020-02-09 11:05:02 -07:00
Jeremy Soller
388ab2c87d
option -> opt
2020-02-09 09:50:40 -07:00
Jeremy Soller
72ea559da4
Do not log mprotects
2019-12-06 19:59:18 -07:00
Jeremy Soller
63e2a835e0
Fix clippy.sh script and fix a number of clippy warnings
2019-10-06 11:04:06 -06:00
jD91mZM2
cf0a7620df
Add ptrace exit breakpoint
...
This will let you stop at process exit and inspect it right before the
process dies.
2019-08-15 14:23:54 +02:00
jD91mZM2
62cd298202
Merge ProtFlags with MapFlags
2019-07-30 11:45:54 +02:00
jD91mZM2
538ca49ee2
Suggestion: Switch to bitflags
2019-07-26 12:23:21 +02:00
jD91mZM2
3ac1416dba
First step for ptrace overhaul
2019-07-24 21:42:33 +02:00
jD91mZM2
a7da393cf5
WIP(ptrace): Better support for signals
...
Signals now cause an event, and there's a way to continue until the
next signal. I can see this being used for detection of `int3`
although I'm not entirely sure as it may prove being too late to stop
abortion of process.
2019-07-21 19:58:32 +02:00
jD91mZM2
be867ae5f1
WIP(ptrace): Add ptrace event system for catching child forks
2019-07-20 09:45:07 +02:00
jD91mZM2
e3d8f23c71
WIP(ptrace): Add dbg! macro and fix waitpid immediately after exit
2019-07-20 09:45:01 +02:00
Jeremy Soller
788526a3b3
Bare-bones ptracing functionality
...
Since even a very basic ptrace can be nice to have, I thought I would split
the, perhaps rather big, ptrace project up in multiple PRs to make as few
changes as necessary in each. This PR contains the initial registry modifying
bits and only a very basic security measure. Letting this out to the community
should be good for spotting bugs and maybe getting some hype ;)
2019-07-02 07:38:26 -06:00
Jeremy Soller
45ea634798
Revert "Merge branch 'ptrace' into 'master'"
...
This reverts merge request !103
2019-07-02 11:56:11 +00:00
jD91mZM2
effe02bd45
Remove change I am faaairly certain I did NOT add :O
...
I'm guessing it's some issue after a rebase or something...
2019-07-01 22:50:19 +00:00
Jeremy Soller
42f977e7da
Disable debug messages
2019-06-27 16:29:28 -06:00
Jeremy Soller
144ac70b12
Allow access to other thread's TLS with pointers
2019-06-23 20:21:22 -06:00
jD91mZM2
fe705d9b63
Switch to 2018 edition
...
Most of this was generated by the absolutely extraordinary `cargo fix`
subcommand. There were still 2 errors and a few warnings to patch up,
but compared to the normal 600+ errors, I'd say the fixer did a damn
good job! I'm also amazed that I could still start the VM after this,
I half expected some kinds of runtime failure...
2019-06-21 12:12:01 +02:00
Jeremy Soller
1be77c2ab4
Store sigmask
2019-06-02 18:45:06 -06:00
Jeremy Soller
126009f83c
Keep process name when using interpreter
2019-04-15 21:00:42 -06:00
Jeremy Soller
b66fef0479
Copy TCB if it was not initialized using kernel-allocated TLS
2019-04-15 20:47:27 -06:00
Jeremy Soller
6da3ab283e
Clone grants
2019-04-15 20:47:03 -06:00
Jeremy Soller
339d68ac8d
Remove debugging messages
2019-04-14 19:12:13 -06:00