From 91bb0dc2f471f7fb90d7d5bc08c87805dceac326 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sun, 4 Oct 2026 11:11:00 +0100 Subject: Say that reading the code found stage 3's two races, and how a host changes apps The use after free in local_done and the owner's lock made after another app's outlet used it were found reading the code, not by the check, which passed with both before it was made to change senders (115, 017). The usage now says changed lines change in place unless their store moved; and 115 names the path no check takes: a module refused while changing in place. --- serve/serve.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'serve') diff --git a/serve/serve.c b/serve/serve.c index fc1a063..6f7220a 100644 --- a/serve/serve.c +++ b/serve/serve.c @@ -4289,7 +4289,8 @@ usage: " NAME MODULE.pmod STORE [memory=BYTES] [work=N] [queue=N] [send=OUTPUT=URL ...] [seal=OUTPUT=KEY ...]\n" " [reply=OUTPUT=INPUT ...]; its routes start /NAME/, its sends' sources are NAME.OUTPUT, and a\n" " --link-port takes its inputs as NAME/INPUT. On SIGHUP the host reads FILE again: the apps of lines\n" - " gone stop, those of new or changed lines start (again), from their stores; a line out says what it did\n" + " gone stop, those of new lines start, those of changed lines change in place (their states kept in\n" + " memory) unless their store moved; a line out says what it did\n" " --app-slots N: the apps a host of apps holds at most, those started later included\n" " --workers N: the threads the apps' owners take turns on (1 for one app; for apps, one a CPU at most)\n" " --send OUTPUT=pure://host:port/INPUT: to a Pure node's --link-port, the way between nodes (UDP, no\n" -- cgit v1.2.3