futex: Assume all mappings are private on !MMU systems
authorThomas Gleixner <tglx@linutronix.de>
Fri, 29 Jul 2016 14:32:30 +0000 (16:32 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 29 Jul 2016 16:44:14 +0000 (18:44 +0200)
commit784bdf3bb694b256fcd6120b93e8947a84249a3a
treecac56fdf1567db581d4f2a504dac6e75f878978d
parente65805251f2db69c9f67ed8062ab82526be5a374
futex: Assume all mappings are private on !MMU systems

To quote Rick why there is no need for shared mapping on !MMU systems:

|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.

This patch disables the FLAGS_SHARED in a way that allows the compiler to
remove that code.

[bigeasy: Added changelog ]
Reported-by: Rich Felker <dalias@libc.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/20160729143230.GA21715@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/futex.c