diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-07-14 06:02:21 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-07-14 06:02:21 +0200 |
commit | 655ec332a714d3e5cc6aace798daf832e17e001e (patch) | |
tree | 90234eaf806722bf1fc54b298226128ce50f2b91 /sys/src/9/port/swap.c | |
parent | e53511ef4c7d4db443543506e74e4de537da5475 (diff) |
devproc: fix proccrlmemio bugs
dont kill the calling process when demand load fails if fixfault()
is called from devproc. this happens when you delete the binary
of a running process and try to debug the process accessing uncached
pages thru /proc/$pid/mem file.
fixes to procctlmemio():
- fix missed unlock as txt2data() can error
- make sure the segment isnt freed by taking a reference (under p->seglock)
- access the page with segment locked (see comment)
- get rid of the segment stealer lock
other stuff:
- move txt2data() and data2txt() to segment.c
- add procpagecount() function
- make return type mcounseg() to ulong
Diffstat (limited to 'sys/src/9/port/swap.c')
-rw-r--r-- | sys/src/9/port/swap.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/sys/src/9/port/swap.c b/sys/src/9/port/swap.c index ff2694f25..355c37f5f 100644 --- a/sys/src/9/port/swap.c +++ b/sys/src/9/port/swap.c @@ -222,11 +222,6 @@ pageout(Proc *p, Segment *s) if(!canqlock(s)) /* We cannot afford to wait, we will surely deadlock */ return; - if(s->steal) { /* Protected by /dev/proc */ - qunlock(s); - return; - } - if(!canflush(p, s)) { /* Able to invalidate all tlbs with references */ qunlock(s); putseg(s); |