No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jann Horn 2d1c482277 seccomp: Make duplicate listener detection non-racy
commit dfe719fef03d752f1682fa8aeddf30ba501c8555 upstream.

Currently, init_listener() tries to prevent adding a filter with
SECCOMP_FILTER_FLAG_NEW_LISTENER if one of the existing filters already
has a listener. However, this check happens without holding any lock that
would prevent another thread from concurrently installing a new filter
(potentially with a listener) on top of the ones we already have.

Theoretically, this is also a data race: The plain load from
current->seccomp.filter can race with concurrent writes to the same
location.

Fix it by moving the check into the region that holds the siglock to guard
against concurrent TSYNC.

(The "Fixes" tag points to the commit that introduced the theoretical
data race; concurrent installation of another filter with TSYNC only
became possible later, in commit 51891498f2da ("seccomp: allow TSYNC and
USER_NOTIF together").)

Fixes: 6a21cc50f0 ("seccomp: add a return code to trap to userspace")
Reviewed-by: Tycho Andersen <tycho@tycho.pizza>
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20201005014401.490175-1-jannh@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-05 11:43:23 +01:00
arch ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node 2020-11-05 11:43:22 +01:00
block
certs
crypto
Documentation media: videodev2.h: RGB BT2020 and HSV are always full range 2020-11-05 11:43:15 +01:00
drivers mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN 2020-11-05 11:43:23 +01:00
fs cifs: handle -EINTR in cifs_setattr 2020-11-05 11:43:21 +01:00
include usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart 2020-11-05 11:43:15 +01:00
init printk: reduce LOG_BUF_SHIFT range for H8300 2020-11-05 11:43:16 +01:00
ipc
kernel seccomp: Make duplicate listener detection non-racy 2020-11-05 11:43:23 +01:00
lib sgl_alloc_order: fix memory leak 2020-11-05 11:43:22 +01:00
LICENSES
mm
net net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid 2020-11-05 11:43:20 +01:00
samples samples/bpf: Fix possible deadlock in xdpsock 2020-11-05 11:43:17 +01:00
scripts scripts/setlocalversion: make git describe output more reliable 2020-11-01 12:01:01 +01:00
security evm: Check size of security.evm before using it 2020-11-01 12:01:05 +01:00
sound ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7. 2020-10-29 09:58:09 +01:00
tools selftests/bpf: Define string const as global for test_sysctl_prog.c 2020-11-05 11:43:17 +01:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.74 2020-11-01 12:01:07 +01:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.