Linux kernel source tree
Go to file
Dmitry Osipenko 03dec92c4f drm/scheduler: Fix lockup in drm_sched_entity_kill()
The drm_sched_entity_kill() is invoked twice by drm_sched_entity_destroy()
while userspace process is exiting or being killed. First time it's invoked
when sched entity is flushed and second time when entity is released. This
causes a lockup within wait_for_completion(entity_idle) due to how completion
API works.

Calling wait_for_completion() more times than complete() was invoked is a
error condition that causes lockup because completion internally uses
counter for complete/wait calls. The complete_all() must be used instead
in such cases.

This patch fixes lockup of Panfrost driver that is reproducible by killing
any application in a middle of 3d drawing operation.

Fixes: 2fdb8a8f07 ("drm/scheduler: rework entity flush, kill and fini")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com> # Steam Deck
Link: https://patchwork.freedesktop.org/patch/msgid/20221123001303.533968-1-dmitry.osipenko@collabora.com
2023-01-02 17:45:18 +03:00
arch Xilinx ZynqMP DisplayPort bridge support 2022-10-27 14:44:15 +10:00
block block-6.1-2022-10-20 2022-10-21 15:14:14 -07:00
certs
crypto treewide: use get_random_bytes() when possible 2022-10-11 17:42:58 -06:00
Documentation Merge tag 'drm-intel-gt-next-2022-11-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2022-11-22 13:51:03 +10:00
drivers drm/scheduler: Fix lockup in drm_sched_entity_kill() 2023-01-02 17:45:18 +03:00
fs First batch of EFI fixes for v6.1 2022-10-21 18:02:36 -07:00
include Revert "drm/fb-helper: Schedule deferred-I/O worker after writing to framebuffer" 2022-11-23 09:11:00 +01:00
init init: Kconfig: fix spelling mistake "satify" -> "satisfy" 2022-10-20 21:27:22 -07:00
io_uring io_uring/net: fail zc sendmsg when unsupported by socket 2022-10-22 08:43:03 -06:00
ipc - hfs and hfsplus kmap API modernization from Fabio Francesco 2022-10-12 11:00:22 -07:00
kernel kernel/utsname_sysctl.c: Fix hostname polling 2022-10-23 12:01:01 -07:00
lib Random number generator fixes for Linux 6.1-rc1. 2022-10-16 15:27:07 -07:00
LICENSES
mm mm/huge_memory: do not clobber swp_entry_t during THP split 2022-10-20 21:27:24 -07:00
net io_uring-6.1-2022-10-22 2022-10-23 09:55:50 -07:00
rust
samples VFIO updates for v6.1-rc1 2022-10-12 14:46:48 -07:00
scripts Kbuild fixes for v6.1 2022-10-16 11:12:22 -07:00
security selinux: enable use of both GFP_KERNEL and GFP_ATOMIC in convert_context() 2022-10-19 09:55:53 -04:00
sound sound fixes for 6.1-rc1 2022-10-14 13:22:14 -07:00
tools RISC-V: 2022-10-23 15:00:43 -07:00
usr usr/gen_init_cpio.c: remove unnecessary -1 values from int file 2022-10-03 14:21:44 -07:00
virt kvm: Add support for arch compat vm ioctls 2022-10-22 05:15:23 -04:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap mailmap: update email for Qais Yousef 2022-10-20 21:27:21 -07:00
.rustfmt.toml
COPYING
CREDITS
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig
MAINTAINERS drm: Move nomodeset kernel parameter to drivers/video 2022-11-16 13:26:12 +01:00
Makefile Linux 6.1-rc2 2022-10-23 15:27:33 -07: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.