The implementation of _st_procfs_{read,write} use a string_t temporary on the ordinary stack (strdata). It must not do that, since MAXSTRINGLEN could be large enough to overflow the kernel stack, which may or may not be suspected/detected at compile time. Rather, such stuff needs to go into the context directly. stap -DMAXSTRINGLEN=16384 -e ' { probe procfs("foo").write { log($value) }'
Fixed in commit 8e0049e. Now procfs probes (read or write) do not put strings on the kernel stack.
Resolved.