This repository has been archived by the owner on Oct 3, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 94
[drm] *ERROR* (...) pipe state doesn't match! WARNING: CPU: (...) drivers/gpu/drm/i915/display/intel_display.c (...) intel_atomic_commit_tail #176
Comments
aljazzair
changed the title
[drm] *ERROR* ... pipe state doesn't match! WARNING: CPU: 1 PID: 345 at drivers/gpu/drm/i915/display/intel_display.c:14311 intel_atomic_commit_tail+0x113d/0x1280 [i915]
[drm] *ERROR* (...) pipe state doesn't match! WARNING: CPU: (...) drivers/gpu/drm/i915/display/intel_display.c (...) intel_atomic_commit_tail
Nov 17, 2020
Issue disappeared after reverting to earlier kernel in the guest (5.4) |
zhenyw
pushed a commit
that referenced
this issue
Sep 13, 2021
Currently, if bpf_get_current_cgroup_id() or bpf_get_current_ancestor_cgroup_id() helper is called with sleepable programs e.g., sleepable fentry/fmod_ret/fexit/lsm programs, a rcu warning may appear. For example, if I added the following hack to test_progs/test_lsm sleepable fentry program test_sys_setdomainname: --- a/tools/testing/selftests/bpf/progs/lsm.c +++ b/tools/testing/selftests/bpf/progs/lsm.c @@ -168,6 +168,10 @@ int BPF_PROG(test_sys_setdomainname, struct pt_regs *regs) int buf = 0; long ret; + __u64 cg_id = bpf_get_current_cgroup_id(); + if (cg_id == 1000) + copy_test++; + ret = bpf_copy_from_user(&buf, sizeof(buf), ptr); if (len == -2 && ret == 0 && buf == 1234) copy_test++; I will hit the following rcu warning: include/linux/cgroup.h:481 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by test_progs/260: #0: ffffffffa5173360 (rcu_read_lock_trace){....}-{0:0}, at: __bpf_prog_enter_sleepable+0x0/0xa0 stack backtrace: CPU: 1 PID: 260 Comm: test_progs Tainted: G O 5.14.0-rc2+ #176 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x56/0x7b bpf_get_current_cgroup_id+0x9c/0xb1 bpf_prog_a29888d1c6706e09_test_sys_setdomainname+0x3e/0x89c bpf_trampoline_6442469132_0+0x2d/0x1000 __x64_sys_setdomainname+0x5/0x110 do_syscall_64+0x3a/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae I can get similar warning using bpf_get_current_ancestor_cgroup_id() helper. syzbot reported a similar issue in [1] for syscall program. Helper bpf_get_current_cgroup_id() or bpf_get_current_ancestor_cgroup_id() has the following callchain: task_dfl_cgroup task_css_set task_css_set_check and we have #define task_css_set_check(task, __c) \ rcu_dereference_check((task)->cgroups, \ lockdep_is_held(&cgroup_mutex) || \ lockdep_is_held(&css_set_lock) || \ ((task)->flags & PF_EXITING) || (__c)) Since cgroup_mutex/css_set_lock is not held and the task is not existing and rcu read_lock is not held, a warning will be issued. Note that bpf sleepable program is protected by rcu_read_lock_trace(). The above sleepable bpf programs are already protected by migrate_disable(). Adding rcu_read_lock() in these two helpers will silence the above warning. I marked the patch fixing 95b861a ("bpf: Allow bpf_get_current_ancestor_cgroup_id for tracing") which added bpf_get_current_ancestor_cgroup_id() to tracing programs in 5.14. I think backporting 5.14 is probably good enough as sleepable progrems are not widely used. This patch should fix [1] as well since syscall program is a sleepable program protected with migrate_disable(). [1] https://lore.kernel.org/bpf/0000000000006d5cab05c7d9bb87@google.com/ Fixes: 95b861a ("bpf: Allow bpf_get_current_ancestor_cgroup_id for tracing") Reported-by: syzbot+7ee5c2c09c284495371f@syzkaller.appspotmail.com Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20210810230537.2864668-1-yhs@fb.com
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hello
Fedora Linux guest is spitting errors after a migration to a new host. On the previous host (Centos 8.2 with linux 4.18) no such errors were noticed on the same guest. The new host is Manjaro running more recent Linux kernel (5.8) freshly installed.
The guest is headless; it is used as a Media server. iGPU passthrough provides HW accelerated video encoding/decoding using FFMpeg.
Any pointers on how to address this issue would be most welcome.
Thank you.
Host specs:
Host OS details:
Linux 5.8.18-1-MANJARO #1 SMP PREEMPT Sun Nov 1 14:10:04 UTC 2020 x86_64 GNU/Linux
Host proc/cmdline:
[...] rw quiet splash rhgb nmi_watchdog=0 loglevel=3 vt.global_cursor_default=0 i915.enable_gvt=1 i915.enable_guc=0 biosdevname=0 net.ifnames=0 blacklist=nouveau intel_iommu=on,igfx_off iommu=pt intel_iommu=on,igfx_off vfio-pci.ids=8086:1901,1b21:2142,10de:1b82,10de:10f0,1033:0194 vfio_iommu_type1.allow_unsafe_interrupts=1 transparent_hugepage=never isolcpus=2,8,3,9,4,10,5,11
Guest OS Details
Linux 5.9.8-100.fc32.x86_64 #1 SMP Tue Nov 10 22:39:06 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
VM exerpt from xml:
Expected behavior: no such errors displayed in the guest logs:
Guest OS Details
Linux 5.9.8-100.fc32.x86_64 #1 SMP Tue Nov 10 22:39:06 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Guest lspci -vvvs
vainfo
The text was updated successfully, but these errors were encountered: