[PATCH net/gve] gve: fix early boot deadlock between rtnl_lock and service_task_mutex
"Rénich Bon Ćirić" <[email protected]> Tue, 4 Aug 2026 07:18:21 +0000
| Newsgroups | org.kernel.vger.netdev |
|---|---|
| Message-ID | <18c88903de19db1f.df50d089680ca23.c305d6e51002e357@desktop.casa.g02.org> |
Hello Netdev Team, We hit a reproducible hard deadlock (AB-BA circular lock inversion) during early boot on EL10 / RHEL 10 kernels when running Google Cloud Platform VMs with the gve driver: 1. Thread A (NetworkManager): Holds rtnl_lock during __dev_open -> gve_open -> gve_queues_start -> gve_add_napi, and attempts to acquire service_task_mutex. 2. Thread B (gve_service_task worker): Holds service_task_mutex, and calls reset recovery which attempts to acquire rtnl_lock. Serial Console Trace: "INFO: task NetworkManager:856 is blocked on a mutex likely owned by task NetworkManager:856" at RIP: copy_net_ns+0x1a4 / selinux_netlbl_sk_security_free. - Working Kernels: 6.12.0-246.el10 and 6.12.0-233.el10. - GitHub Issue #93: https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux/issues/93 - Proposed PR #95: https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux/pull/95 Best regards, Rénich Bon Ćirić Principal Infrastructure Architect [email protected] | [email protected]