protocol: Bump seat to version 7 and require keymaps be private
authorDerek Foreman <derek.foreman.samsung@gmail.com>
Thu, 1 Nov 2018 16:15:46 +0000 (11:15 -0500)
committerDerek Foreman <derek.foreman.samsung@gmail.com>
Fri, 30 Nov 2018 15:17:57 +0000 (09:17 -0600)
commit905c0a341ddf0a885811d19e2b79c65a3f1d210c
tree4db752a9d548649ed4253acf8be7353047abc2ab
parent01095a9ce4d8457ee2f221848b9805c4b5cffc95
protocol: Bump seat to version 7 and require keymaps be private

Weston commit 76829fc4eaea329d2a525c3978271e13bd76c078 (and similar
commits for other compositors) protects the compositor's keyboard
mapping from client damage by duplicating the keymap for every
client.

On some systems there are other potential fixes for this - such as
using sealed memfds on linux - but we can't use them since
essentially all client code anywhere has mapped the keyboard map
with a MAP_SHARED mmap() call.

While we can't break years worth of code, we can require any future
clients to use MAP_PRIVATE if they use a seat version above 6.

If a compositor can't use sealing or a similar facility, it should
still protect itself with copied keymaps, but clients must always
assume shared mapping of a keymap will fail.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Philipp Kerling <pkerling@casix.org>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
protocol/wayland.xml