Alan Cox <[EMAIL PROTECTED]> writes:

> If I want I can have 16 threads executing code in a shared object being
> written to by ten other programs at once and shared over a network while
> we are at it. Its probably not a good idea but I can do it if I have
> reason to.

Actually the kernel prevents writing to files which are executed currently
and you can also not execute what is currently open for writing.
That is what VM_DENYWRITE is good for.

Does not work for shared libraries though -- you cannot set VM_DENYWRITE
in user mmap aka ld.so Man page says

  MAP_DENYWRITE
              This flag is ignored.  (Long ago, it signalled that attempts to 
write to the underlying file should fail
              with ETXTBUSY.  But this was a source of denial-of-service 
attacks.)

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to