[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 | gmane.linux.network |
|---|---|
| Message-ID | <18c88903de19db1f.df50d089680ca23.c305d6e51002e357@desktop.casa.g02.org> |
Hello Netdev Team, We hit a reproducible hard deadlock (AB-BA circular lock inversion) during e= arly boot on EL10 / RHEL 10 kernels when running Google Cloud Platform VMs w= ith 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_mu= tex. 2. Thread B (gve_service_task worker): Holds service_task_mutex, and calls r= eset recovery which attempts to acquire rtnl_lock. Serial Console Trace: "INFO: task NetworkManager:856 is blocked on a mutex likely owned by task Ne= tworkManager:856" at RIP: copy_net_ns+0x1a4 / selinux_netlbl_sk_security_fre= e. - Working Kernels: 6.12.0-246.el10 and 6.12.0-233.el10. - GitHub Issue #93: https://github.com/GoogleCloudPlatform/compute-virtual-e= thernet-linux/issues/93 - Proposed PR #95: https://github.com/GoogleCloudPlatform/compute-virtual-et= hernet-linux/pull/95 Best regards, R=C3=A9nich Bon =C4=86iri=C4=87 Principal Infrastructure Architect [email protected] | [email protected]