]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
authorOleg Nesterov <oleg@redhat.com>
Wed, 27 Sep 2017 15:25:30 +0000 (09:25 -0600)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Thu, 5 Oct 2017 17:56:31 +0000 (14:56 -0300)
commit236de4e67c64a3850f6f1c8ee81bf5961f1ebc80
treeaeb74edc132d89fb75b664ab4e5095a6900e2677
parentae80264367d76604c4af92a6700ede72a585bb0d
seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()

BugLink: http://bugs.launchpad.net/bugs/1721550
commit 66a733ea6b611aecf0119514d2dddab5f9d6c01e upstream.

As Chris explains, get_seccomp_filter() and put_seccomp_filter() can end
up using different filters. Once we drop ->siglock it is possible for
task->seccomp.filter to have been replaced by SECCOMP_FILTER_FLAG_TSYNC.

Fixes: f8e529ed941b ("seccomp, ptrace: add support for dumping seccomp filters")
Reported-by: Chris Salls <chrissalls5@gmail.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
[tycho: add __get_seccomp_filter vs. open coding refcount_inc()]
Signed-off-by: Tycho Andersen <tycho@docker.com>
[kees: tweak commit log]
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
kernel/seccomp.c