In the Linux kernel, the following vulnerability has been resolved:mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addrIf multiple connection requests attempt to create an implicit mptcpendpoint in parallel, more than one caller may end up inmptcp_pm_nl_append_new_local_addr because none found the address inlocal_addr_list during their call to mptcp_pm_nl_get_local_id. In thiscase, the concurrent new_local_addr calls may delete the address entrycreated by the previous caller. These deletes use synchronize_rcu, butthis is not permitted in some of the contexts where this function may becalled. During packet recv, the caller may be in a rcu read criticalsection and have preemption disabled.An example stack: BUG: scheduling while atomic: swapper/2/0/0x00000302 Call Trace:
No PoCs from references.
- https://github.com/oogasawa/Utility-security
- https://github.com/w4zu/Debian_security