Edgar Toernig writes:
Bjvrn Steinbrink wrote:
In do_revoke() there is:
+ if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) {
+ ret = -EPERM;
+ goto out;
That pretty much matches what the BSD manpage says.
Urgs, so any user may remove mappings from another process and
let it crash?
Two good solutions come to mind:
a. substitute the zero page
b. make the mapping private and touch it as if C-O-W happened
Other concerns:
Optionally excluding the current UID/TGID/TID would be good.
(some flags) A revokeat() call seems to be required. Be sure
to handle working directories. The controlling tty is special.
Flag processes with revoked ttys in /proc/*/stat please, so
that ps can report it properly without opening another file.
BTW, it is wonderful to see this happening.
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html