Re: Change in functionality of futex() system call.

From: Andrew Lutomirski
Date: Thu Jun 09 2011 - 00:11:15 EST


On Wed, Jun 8, 2011 at 11:54 PM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
>
> You can not prevent DOS on a machine if you allow a process to RO map
> your critical files (where you put futexes), because you allow this
> process to interfere with critical cache lines bouncing between cpus.

The cacheline bounce DoS slows things down and they go back to normal
when you kill the DoS-ing task.

The wakeup-eating DoS is permanent. Seems a good deal worse to me.

If you make this change, please at least document it in the man page.

>
> Really, please forget about this crazy idea of allowing foreigners to
> _read_ or memory _map_ your files. Dont do it.
>

Then how am I supposed to efficiently broadcast information to
untrusted processes? I'll have to put any futexes involved into
different files, but one way or another the actual data will have to
be memory mapped to avoid syscall overhead.

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