Compiling kernel on an aarch64 server with the latest mainline (rc2) generated this,
[ 910.263839] WARNING: possible circular locking dependency detected [ 910.263841] 4.20.0-rc2+ #4 Tainted: G W L [ 910.263843] ------------------------------------------------------ [ 910.263844] swapper/0/0 is trying to acquire lock: +0x3f0/0x8806] 0000000071c616d1 (console_owner){-.-.}, at: console_unlock+0x26cc481d4 (&pool->ldy depends on therse order) is: [ 0.263880] __queue_work+0x1dc/0xb78 [ 910.263882] queue_work_on+0x140/0x158 [ 910.263883] tty_flip_buffer_push+0xd8/0x108 [ 910.263885] pty_write+0xf8/0x100 [ 910.263886] n_tty_write+0x2d8/0x698 [ 910.263888] tty_write+0x254/0x410 [ 910.263889] __vfs_write+0xd4/0x330 [ 910.263891] vfs_write+0xd8/0x240 [ 910.263892] redirected_tty_write+0x74/0xd0 [ 910.263894] do_iter_write+0x224/0x270 [ 910.263895] vfs_writev+0x114/0x1d8 [ 910.263897] do_writev+0xd8/0x1e0 [ 910.263898] __arm64_sys_writev+0x50/0x60 [ 910.263900] el0_svc_handler+0xd4/0x198 [ 910.263901] el0_svc+0x8/0xc [ 910.263902] [ 910.263903] -> #2 (&(&port->lock)->rlock){-.-.}: [ 910.263908] __lock_acquire+0x3f0/0x880 [ 910.263910] lock_acquire+0x1a8/0x430 [ 910.263911] _raw_spin_lock_irqsave+0x74/0x98 [ 910.263913] tty_port_tty_get+0x28/0x68 [ 910.263915] tty_port_default_wakeup+0x20/0x40 [ 910.263916] tty_port_tty_wakeup+0x38/0x48 [ 910.263918] uart_write_wakeup+0x2c/0x40 [ 910.263919] pl011_tx_chars+0x2a4/0x358 [ 910.263921] pl011_start_tx_pio+0x24/0xa8 [ 910.263922] pl011_start_tx+0x150/0x2c0 [ 910.263924] __uart_start.isra.1+0x84/0x90 [ 910.263925] uart_write+0x1ec/0x2d8 [ 910.263927] do_output_char+0x1c4/0x2a8 [ 910.263928] n_tty_write+0x338/0x698 [ 910.263930] tty_write+0x254/0x410 [ 910.263931] redirected_tty_write+0xb4/0xd0 [ 910.263933] do_iter_write+0x224/0x270 [ 910.263934] vfs_writev+0x114/0x1d8 [ 910.263935] do_writev+0xd8/0x1e0 [ 910.263937] __arm64_sys_writev+0x50/0x60 [ 910.263939] el0_svc_handler+0xd4/0x198 [ 910.263940] el0_svc+0x8/0xc [ 910.263941] [ 910.263942] -> #1 (&port_lock_key){-.-.}: [ 910.263947] __lock_acquire+0x3f0/0x880 [ 910.263949] lock_acquire+0x1a8/0x430 [ 910.263950] _raw_spin_lock+0x68/0x88 [ 910.263952] pl011_console_write+0x1d8/0x258 [ 910.263953] console_unlock+0x3ac/0x938 [ 910.263955] register_console+0x360/0x4c8 [ 910.263956] uart_add_one_port+0x798/0x870 [ 910.263958] pl011_register_port+0x98/0x128 [ 910.263959] sbsa_uart_probe+0x320/0x3b0 [ 910.263961] platform_drv_probe+0x74/0xd0 [ 910.263962] really_probe+0x424/0x678 [ 910.263964] driver_probe_device+0x130/0x1a0 [ 910.263966] __device_attach_driver+0x10c/0x188 [ 910.263967] bus_for_each_drv+0xf8/0x158 [ 910.263969] __device_attach+0x188/0x230 [ 910.263970] device_initial_probe+0x24/0x30 [ 910.263972] bus_probe_device+0xf0/0x100 [ 910.263973] device_add+0x57c/0x9d8 [ 910.263975] platform_device_add+0x198/0x388 [ 910.263977] platform_device_register_full+0x16c/0x1e8 [ 910.263978] acpi_create_platform_device+0x368/0x450 [ 910.263980] acpi_default_enumeration+0x34/0x78 [ 910.263982] acpi_bus_attach+0x2dc/0x3e0 [ 910.263983] acpi_bus_attach+0x108/0x3e0 [ 910.263985] acpi_bus_attach+0x108/0x3e0 [ 910.263986] acpi_bus_attach+0x108/0x3e0 [ 910.263987] acpi_bus_scan+0xb0/0x110 [ 910.263989] acpi_scan_init+0x1a8/0x410 [ 910.263990] acpi_init+0x3e8/0x47c [ 910.263992] do_one_initcall+0x160/0x6bc [ 910.263993] kernel_init_freeable+0x74c/0x814 [ 910.263995] kernel_init+0x18/0x11c [ 910.263996] ret_from_fork+0x10/0x1c [ 910.263997] [ 910.263998] -> #0 (console_owner){-.-.}: [ 910.264004] validate_chain.isra.17+0x998/0x1550 [ 910.264005] __lock_acquire+0x3f0/0x880 [ 910.264007] lock_acquire+0x1a8/0x430 [ 910.264008] console_unlock+0x2c8/0x938 [ 910.264010] vprintk_emit+0x358/0x5c0 [ 910.264011] vprintk_default+0x60/0xa8 [ 910.264013] vprintk_func+0x244/0x370 [ 910.264014] printk+0xc8/0xf8 [ 910.264016] show_workqueue_state+0x534/0xce0 [ 910.264018] wq_watchdog_timer_fn+0x444/0x518 [ 910.264019] call_timer_fn+0x1c4/0x708 [ 910.264021] expire_timers+0x32c/0x448 [ 910.264022] run_timer_softirq+0x290/0x328 [ 910.264024] __do_softirq+0x248/0x9c8 [ 910.264025] irq_exit+0x25c/0x2f0 [ 910.264027] __handle_domain_irq+0x8c/0xf0 [ 910.264028] gic_handle_irq+0xc0/0x168 [ 910.264029] el1_irq+0xb4/0x140 [ 910.264031] cpuidle_enter_state+0x150/0x6a0 [ 910.264032] cpuidle_enter+0x34/0x48 [ 910.264034] call_cpuidle+0x4c/0x78 [ 910.264035] do_idle+0x328/0x360 [ 910.264037] cpu_startup_entry+0x2c/0x30 [ 910.264038] rest_init+0x248/0x31c [ 910.264040] arch_call_rest_init+0x14/0x1c [ 910.264041] start_kernel+0x568/0x5a8 [ 910.264042] [ 910.264044] other info that might help us debug this: [ 910.264045] [ 910.264046] Chain exists of: [ 910.264047] console_owner --> &(&port->lock)->rlock --> &pool->lock/1 [ 910.264055] [ 910.264057] Possible unsafe locking scenario: [ 910.264058] [ 910.264059] CPU0 CPU1 [ 910.264061] ---- ---- [ 910.264062] lock(&pool->lock/1); [ 910.264066] lock(&(&port->lock)->rlock); [ 910.264070] lock(&pool->lock/1); [ 910.264073] lock(console_owner); [ 910.264076] [ 910.264078] *** DEADLOCK *** [ 910.264079] [ 910.264080] 4 locks held by swapper/0/0: [ 910.264081] #0: 00000000c45a46a0 ((&wq_watchdog_timer)){+.-.}, at: call_timer_fn+0x0/0x708 [ 910.264087] #1: 00000000f6706545 (rcu_read_lock_sched){....}, at: show_workqueue_state+0x0/0xce0 [ 910.264094] #2: 00000000f2c481d4 (&pool->lock/1){-.-.}, at: show_workqueue_state+0x468/0xce0 [ 910.264101] #3: 0000000014da44b5 (console_lock){+.+.}, at: vprintk_emit+0x350/0x5c0 [ 910.264107] [ 910.264108] stack backtrace: [ 910.264110] CPU: 0 PID: 0 Comm: swapper/0 Kdump: loaded Tainted: G W L 4.20.0-rc2+ #4 [ 910.264113] Hardware name: HPE Apollo 70 /C01_APACHE_MB , BIOS L50_5.13_1.0.6 07/10/2018 [ 910.264114] Call trace: [ 910.264116] dump_backtrace+0x0/0x2c8 [ 910.264117] show_stack+0x24/0x30 [ 910.264118] dump_stack+0x118/0x19c [ 910.264120] print_circular_bug.isra.13+0x360/0x408 [ 910.264121] check_prev_add.constprop.22+0x690/0xa10 [ 910.264123] validate_chain.isra.17+0x998/0x1550 [ 910.264124] __lock_acquire+0x3f0/0x880 [ 910.264126] lock_acquire+0x1a8/0x430 [ 910.264127] console_unlock+0x2c8/0x938 [ 910.264129] vprintk_emit+0x358/0x5c0 [ 910.264130] vprintk_default+0x60/0xa8 [ 910.264131] vprintk_func+0x244/0x370 [ 910.264133] printk+0xc8/0xf8 [ 910.264134] show_workqueue_state+0x534/0xce0 [ 910.264136] wq_watchdog_timer_fn+0x444/0x518 [ 910.264137] call_timer_fn+0x1c4/0x708 [ 910.264138] expire_timers+0x32c/0x448 [ 910.264140] run_timer_softirq+0x290/0x328 [ 910.264141] __do_softirq+0x248/0x9c8 [ 910.264143] irq_exit+0x25c/0x2f0 [ 910.264144] __handle_domain_irq+0x8c/0xf0 [ 910.264146] gic_handle_irq+0xc0/0x168 [ 910.264147] el1_irq+0xb4/0x140 [ 910.264148] cpuidle_enter_state+0x150/0x6a0 [ 910.264150] cpuidle_enter+0x34/0x48 [ 910.264151] call_cpuidle+0x4c/0x78 [ 910.264152] do_idle+0x328/0x360 [ 910.264154] cpu_startup_entry+0x2c/0x30 [ 910.264155] rest_init+0x248/0x31c [ 910.264157] arch_call_rest_init+0x14/0x1c [ 910.264158] start_kernel+0x568/0x5a8 [ 910.327979] ------------[ cut here ]------------