I intend to use mprotect in a running binary to allow it to modify its .text section. The detailed behavior of mprotect for a multithreaded program on SMP hardware is not documented as far as I can tell. Can I depend on the LINUX mprotect call to take care of icache flushing, handling of hazards, etc.? I am using Octeon CN5650 on 2.6.21.7 and 2.6.27.7 if it matters. Joe Buehler