summaryrefslogtreecommitdiff
path: root/sys/src/cmd/auth
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-10-23 17:18:35 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2016-10-23 17:18:35 +0200
commitf3feafc476ff108231dd6e0e3ac3cd420a62a81c (patch)
treef460c40f83c39997c6ec872c1548dafa9119851a /sys/src/cmd/auth
parentb728f50a790afeec349c575b99028063a9d230c9 (diff)
auth/factotum: bound the number of srv processes to 16, error the 9p rpc when it is over limit
Diffstat (limited to 'sys/src/cmd/auth')
-rw-r--r--sys/src/cmd/auth/factotum/fs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/src/cmd/auth/factotum/fs.c b/sys/src/cmd/auth/factotum/fs.c
index edfb7861f..a3eff5b8d 100644
--- a/sys/src/cmd/auth/factotum/fs.c
+++ b/sys/src/cmd/auth/factotum/fs.c
@@ -491,6 +491,10 @@ fsrpcio(Req *r)
fss = r->fid->aux;
srv = r->srv;
+ if(srv->sref.ref == 1 && srv->rref.ref > 16){
+ respond(r, "too much activity");
+ return;
+ }
srvrelease(srv);
qlock(fss);
if(r->ifcall.type == Tread)