Jeremy Soller
f90033e0e1
Use PHYS_OFFSET instead of KERNEL_OFFSET to refer to the physmap
2021-04-13 20:38:54 -06:00
4lDO2
031496ff0d
Fix "Grant should not exist" errors.
...
This is done by making sure that when empty() is called on a context,
the grants Arc will be replaced with a new unused Arc, hence
decrementing the refcount. Previously this was only done when the
context was actually reaped, but since there is no guarantee as far as I
am aware about when this must happen, the grants could be completely
leaked, leading to the error.
2021-02-27 15:36:12 +01:00
4lDO2
c913c3be80
Use sysretq in usermode().
2021-02-15 19:53:24 +01:00
Jeremy Soller
6db78cce24
Use UTF-8 for all paths
2021-02-14 13:45:03 -07:00
Jeremy Soller
c19bd573b5
Switch Context::grants to RwLock
2021-02-13 13:06:13 -07:00
Jeremy Soller
2611985a38
Switch Context::actions to RwLock
2021-02-13 13:01:20 -07:00
Jeremy Soller
bfaf8438a1
Switch Context::files to RwLock
2021-02-13 12:57:53 -07:00
Jeremy Soller
55d2467420
Switch Context::cwd to using RwLock
2021-02-13 12:24:19 -07:00
Jeremy Soller
238702f7d1
Require UTF-8 for context name
2021-02-13 12:16:47 -07:00
Jeremy Soller
b9f4a915ea
Make context name a RwLock
2021-02-13 11:10:21 -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