Re: [PATCH] futex: fix shared futex operations on nommu
From: Rich Felker
Date: Tue Apr 26 2016 - 11:54:03 EST
On Tue, Apr 26, 2016 at 11:55:52AM +0200, Sebastian Andrzej Siewior wrote:
> * Rich Felker | 2016-04-25 21:03:03 [-0400]:
>
> >The shared get_futex_key code does not work on nommu, but is not
> >needed anyway because it's impossible for a given backing to have
> >multiple distinct virtual addresses on nommu. Simply disable these
> >code paths by refraining from setting FLAG_SHARED when CONFIG_MMU is
> >not enabled.
>
> by disabling it you are not fixing it.
> Why isn't it working? Why does it pop up now and not earlier?
The whole shared futex logic is meaningless for nommu. Perhaps I
should have written a better message, though.
With MMU, shared futex keys need to identify the physical backing for
a memory address because it may be mapped at different addresses in
different processes (or even multiple times in the same process).
Without MMU this cannot happen. You only have physical addresses. So
the "private futex" behavior of using the virtual address as the key
is always correct (for both shared and private cases) on nommu
systems.
Rich