linux/kernel
Gustavo Bittencourt dc678d68b7 rtmutex: enable deadlock detection in ww_mutex_lock functions
The functions ww_mutex_lock_interruptible and ww_mutex_lock should return -EDEADLK when faced with
a deadlock. To do so, the paramenter detect_deadlock in rt_mutex_slowlock must be TRUE.
This patch corrects potential deadlocks when running PREEMPT_RT with nouveau driver.

Cc: stable-rt@vger.kernel.org
Signed-off-by: Gustavo Bittencourt <gbitten@gmail.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2020-10-14 00:59:24 +03:00
..
cpu sched/preempt: Fix up missed PREEMPT_NEED_RESCHED folding 2014-01-13 17:38:55 +01:00
debug kgdb/serial: Short term workaround 2020-10-14 00:59:20 +03:00
events perf: Make swevent hrtimer run in irq instead of softirq 2020-10-14 00:59:21 +03:00
gcov gcov: reuse kbasename helper 2013-11-13 12:09:34 +09:00
irq random: Make it work on rt 2020-10-14 00:59:21 +03:00
locking rtmutex: enable deadlock detection in ww_mutex_lock functions 2020-10-14 00:59:24 +03:00
power suspend: Prevent might sleep splats 2020-10-14 00:59:09 +03:00
printk HACK: printk: drop the logbuf_lock more often 2020-10-14 00:59:19 +03:00
rcu rcu-more-swait-conversions.patch 2020-10-14 00:59:23 +03:00
sched workqueue: Prevent deadlock/stall on RT 2020-10-14 00:59:23 +03:00
time rt,ntp: Move call to schedule_delayed_work() to helper thread 2020-10-14 00:59:23 +03:00
trace sched: Add support for lazy preemption 2020-10-14 00:59:22 +03:00
.gitignore Ignore generated file kernel/x509_certificate_list 2013-12-10 18:21:34 +00:00
Kconfig.freezer
Kconfig.hz kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS 2013-11-15 09:32:22 +09:00
Kconfig.locks mutex-no-spin-on-rt.patch 2020-10-14 00:59:15 +03:00
Kconfig.preempt sched: Add support for lazy preemption 2020-10-14 00:59:22 +03:00
Makefile KEYS: Remove files generated when SYSTEM_TRUSTED_KEYRING=y 2013-12-13 15:59:11 +00:00
acct.c fs: Fix hang with BSD accounting on frozen filesystem 2013-05-04 14:57:58 -04:00
async.c async: rename and redefine async_func_ptr 2013-03-12 13:59:14 -07:00
audit.c audit: AUDIT_FEATURE_CHANGE message format missing delimiting space 2014-11-21 09:23:01 -08:00
audit.h audit: Use struct net not pid_t to remember the network namespce to reply in 2014-02-28 04:04:33 -08:00
audit_tree.c audit: keep inode pinned 2014-11-21 09:23:01 -08:00
audit_watch.c inotify: Fix reporting of cookies for inotify events 2014-02-18 11:17:17 +01:00
auditfilter.c audit: restore AUDIT_LOGINUID unset ABI 2015-01-08 10:00:50 -08:00
auditsc.c audit: remove superfluous new- prefix in AUDIT_LOGIN messages 2014-07-09 11:18:28 -07:00
backtracetest.c
bounds.c mm: do not allocate page->ptl dynamically, if spinlock_t fits to long 2013-12-20 12:25:45 -08:00
capability.c CAPABILITIES: remove undefined caps from all processes 2014-09-17 09:19:09 -07:00
cgroup.c move d_rcu from overlapping d_child to overlapping d_alias 2015-04-29 10:31:54 +02:00
cgroup_freezer.c cgroup: replace cftype->read_seq_string() with cftype->seq_show() 2013-12-05 12:28:04 -05:00
compat.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-05-01 07:21:43 -07:00
configs.c proc: Supply PDE attribute setting accessor functions 2013-05-01 17:29:18 -04:00
context_tracking.c context_tracking: Wrap static key check into more intuitive function name 2013-12-02 20:43:14 +01:00
cpu.c cpu_down: move migrate_enable() back 2020-10-14 00:59:21 +03:00
cpu_pm.c
cpuset.c cpuset: Fix cpuset sched_relax_domain_level 2015-03-26 15:06:54 +01:00
crash_dump.c
cred.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2012-12-18 10:55:28 -08:00
delayacct.c kernel/delayacct.c: remove redundant checking in __delayacct_add_tsk() 2013-11-13 12:09:12 +09:00
dma.c
elfcore.c switch elf_core_write_extra_phdrs() to dump_emit() 2013-11-09 00:16:23 -05:00
exec_domain.c
exit.c signals: Allow rt tasks to cache one sigqueue struct 2020-10-14 00:59:08 +03:00
extable.c kernel/extable: fix address-checks for core_kernel and init areas 2013-11-28 09:49:41 -08:00
fork.c rwlocks: Fix section mismatch 2020-10-14 00:59:17 +03:00
freezer.c freezer: Do not freeze tasks killed by OOM killer 2014-11-14 09:00:01 -08:00
futex.c futex: Simplify futex_lock_pi_atomic() and make it more robust 2020-10-14 00:59:24 +03:00
futex_compat.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-02-23 18:50:11 -08:00
groups.c userns: Don't allow setgroups until a gid mapping has been setablished 2015-01-08 10:00:50 -08:00
hrtimer.c cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep 2020-10-14 00:59:19 +03:00
hung_task.c hung_task: Display every hung task warning 2014-01-25 12:13:33 +01:00
irq_work.c irq_work: allow certain work in hard irq context 2020-10-14 00:59:19 +03:00
itimer.c hrtimers: prepare full preemption 2020-10-14 00:59:13 +03:00
jump_label.c static_key: WARN on usage before jump_label_init was called 2013-10-19 19:45:35 -04:00
kallsyms.c kernel: kallsyms: memory override issue, need check destination buffer length 2013-04-15 15:17:26 +09:30
kcmp.c kcmp: fix standard comparison bug 2014-10-05 14:52:20 -07:00
kexec.c powerpc, kexec: Fix "Processor X is stuck" issue during kexec from ST mode 2014-06-07 10:28:28 -07:00
kmod.c execve: use 'struct filename *' for executable name passing 2014-02-05 12:54:53 -08:00
kprobes.c kprobes: use KSYM_NAME_LEN to size identifier buffers 2013-11-13 12:09:26 +09:00
ksysfs.c add /sys/kernel/realtime entry 2020-10-14 00:59:20 +03:00
kthread.c kthread: fix return value of kthread_create() upon SIGKILL. 2014-06-30 20:11:53 -07:00
latencytop.c
module-internal.h KEYS: Separate the kernel signature checking keyring from module signing 2013-09-25 17:17:01 +01:00
module.c modules, lock around setting of MODULE_STATE_UNFORMED 2014-11-14 08:59:52 -08:00
module_signing.c keys: change asymmetric keys to use common hash definitions 2013-10-25 17:15:18 -04:00
notifier.c
nsproxy.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2013-09-07 14:35:32 -07:00
padata.c padata: Fix wrong usage of rcu_dereference() 2013-12-05 21:28:42 +08:00
panic.c panic: skip get_random_bytes for RT_FULL in init_oops_id 2020-10-14 00:59:13 +03:00
params.c params: improve standard definitions 2013-12-04 14:09:46 +10:30
pid.c exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting 2015-01-08 10:00:50 -08:00
pid_namespace.c pid_namespace: pidns_get() should check task_active_pid_ns() != NULL 2014-04-26 17:19:04 -07:00
posix-cpu-timers.c posix-timers: Avoid wakeups when no timers are active 2020-10-14 00:59:13 +03:00
posix-timers.c hrtimers: prepare full preemption 2020-10-14 00:59:13 +03:00
profile.c mm: fix GFP_THISNODE callers and clarify 2014-03-10 17:26:19 -07:00
ptrace.c ptrace: fix ptrace vs tasklist_lock race 2020-10-14 00:59:08 +03:00
range.c range: Do not add new blank slot with add_range_with_merge 2013-06-18 11:32:10 -05:00
reboot.c kexec: migrate to reboot cpu 2013-12-18 19:04:50 -08:00
relay.c relay: fix timer madness 2020-10-14 00:59:13 +03:00
res_counter.c core: Do not disable interrupts on RT in res_counter.c 2020-10-14 00:59:11 +03:00
resource.c kernel/resource.c: remove the unneeded assignment in function __find_resource 2013-07-03 16:08:06 -07:00
seccomp.c seccomp: allow BPF_XOR based ALU instructions. 2013-03-26 11:07:19 +11:00
signal.c signal-fix-up-rcu-wreckage.patch 2020-10-14 00:59:11 +03:00
smp.c kernel/smp.c:on_each_cpu_cond(): fix warning in fallback path 2014-09-17 09:19:09 -07:00
smpboot.c smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thread() 2015-02-11 14:54:49 +08:00
smpboot.h
softirq.c softirq: make migrate disable/enable conditioned on softirq_nestcnt transition 2020-10-14 00:59:22 +03:00
stacktrace.c
stop_machine.c stomp-machine: use lg_global_trylock_relax() to dead with stop_cpus_lock lglock 2020-10-14 00:59:18 +03:00
sys.c kernel/sys.c: k_getrusage() can use while_each_thread() 2014-01-23 16:37:02 -08:00
sys_ni.c unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
sysctl.c mm, pcp: allow restoring percpu_pagelist_fraction default 2014-07-09 11:18:26 -07:00
sysctl_binary.c kernel/sysctl_binary.c: use scnprintf() instead of snprintf() 2013-11-13 12:09:33 +09:00
system_certificates.S KEYS: correct alignment of system_certificate_list content in assembly file 2013-12-10 18:25:28 +00:00
system_keyring.c KEYS: correct alignment of system_certificate_list content in assembly file 2013-12-10 18:25:28 +00:00
task_work.c task_work: documentation 2013-09-11 15:58:27 -07:00
taskstats.c genetlink: only pass array to genl_register_family_with_ops() 2013-11-19 16:39:05 -05:00
test_kprobes.c kernel/: rename random32() to prandom_u32() 2013-04-29 18:28:42 -07:00
time.c time: settimeofday: Validate the values of tv from user 2015-01-29 17:40:49 -08:00
timeconst.bc kernel: Replace timeconst.pl with a bc script 2013-02-16 23:17:25 +01:00
timer.c irq_work: allow certain work in hard irq context 2020-10-14 00:59:19 +03:00
tracepoint.c tracepoint: Do not waste memory on mods with no tracepoints 2014-05-31 13:20:28 -07:00
tsacct.c cputime: Use accessors to read task cputime stats 2013-01-27 19:23:31 +01:00
uid16.c groups: Consolidate the setgroups permission checks 2015-01-08 10:00:49 -08:00
up.c kernel: provide a __smp_call_function_single stub for !CONFIG_SMP 2013-11-15 09:32:22 +09:00
user-return-notifier.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
user.c core: Do not disable interrupts on RT in kernel/users.c 2020-10-14 00:59:11 +03:00
user_namespace.c userns: Allow setting gid_maps without privilege when setgroups is disabled 2015-01-08 10:00:50 -08:00
utsname.c userns: Kill nsown_capable it makes the wrong thing easy 2013-08-30 23:44:11 -07:00
utsname_sysctl.c kernel/utsname_sysctl.c: put get/get_uts() into CONFIG_PROC_SYSCTL code block 2013-02-27 19:10:22 -08:00
watchdog.c hrtimer: fixup hrtimer callback changes for preempt-rt 2020-10-14 00:59:13 +03:00
workqueue.c workqueue: Prevent deadlock/stall on RT 2020-10-14 00:59:23 +03:00
workqueue_internal.h sched: Distangle worker accounting from rqlock 2020-10-14 00:59:19 +03:00