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
Pawel Wieczorkiewicz 8f3f6de44f xen-blkback: set ring->xenblkd to NULL after kthread_stop()
commit 1c728719a4da6e654afb9cc047164755072ed7c9 upstream.

When xen_blkif_disconnect() is called, the kernel thread behind the
block interface is stopped by calling kthread_stop(ring->xenblkd).
The ring->xenblkd thread pointer being non-NULL determines if the
thread has been already stopped.
Normally, the thread's function xen_blkif_schedule() sets the
ring->xenblkd to NULL, when the thread's main loop ends.

However, when the thread has not been started yet (i.e.
wake_up_process() has not been called on it), the xen_blkif_schedule()
function would not be called yet.

In such case the kthread_stop() call returns -EINTR and the
ring->xenblkd remains dangling.
When this happens, any consecutive call to xen_blkif_disconnect (for
example in frontend_changed() callback) leads to a kernel crash in
kthread_stop() (e.g. NULL pointer dereference in exit_creds()).

This is XSA-350.

Cc: <stable@vger.kernel.org> # 4.12
Fixes: a24fa22ce2 ("xen/blkback: don't use xen_blkif_get() in xen-blkback kthread")
Reported-by: Olivier Benjamin <oliben@amazon.com>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Signed-off-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:51:46 +01:00
arch um: Remove use of asprinf in umid.c 2020-12-30 11:51:39 +01:00
block blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick 2020-12-30 11:50:54 +01:00
certs
crypto crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() 2020-12-30 11:51:35 +01:00
Documentation KVM: mmu: Fix SPTE encoding of MMIO generation upper half 2020-12-21 13:27:06 +01:00
drivers xen-blkback: set ring->xenblkd to NULL after kthread_stop() 2020-12-30 11:51:46 +01:00
fs jfs: Fix array index bounds check in dbAdjTree 2020-12-30 11:51:40 +01:00
include binder: add flag to clear buffer on txn complete 2020-12-30 11:51:35 +01:00
init initramfs: fix clang build failure 2020-12-30 11:51:30 +01:00
ipc
kernel cpuset: fix race between hotplug work and later CPU offline 2020-12-30 11:51:36 +01:00
lib lib/syscall: fix syscall registers retrieval on 32-bit platforms 2020-12-11 13:23:32 +01:00
LICENSES
mm mm: don't wake kswapd prematurely when watermark boosting is disabled 2020-12-30 11:51:27 +01:00
net xprtrdma: Fix XDRBUF_SPARSE_PAGES support 2020-12-30 11:51:38 +01:00
samples samples: bpf: Fix lwt_len_hist reusing previous BPF map 2020-12-30 11:51:12 +01:00
scripts kconfig: fix return value of do_error_if() 2020-12-30 11:51:29 +01:00
security ima: Don't modify file descriptor mode on the fly 2020-12-30 11:51:39 +01:00
sound ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams 2020-12-30 11:51:35 +01:00
tools perf probe: Fix memory leak when synthesizing SDT probes 2020-12-30 11:51:29 +01:00
usr
virt KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace 2020-12-02 08:49:46 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.85 2020-12-21 13:27: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.