summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2026-09-17 15:05:57 +0200
committerJakub Kicinski <kuba@kernel.org>2026-09-17 08:14:33 -0700
commit2b0f561f21b27c40c91ea4975268a06092bd7e9c (patch)
treec88af0230d14081ad30a6a3dcb886d3e5cb95633 /tools/perf/scripts/python/bin/stackcollapse-record
parenta5117e1eccac6ee3bd4aed7cacf8ebcb6b3eb309 (diff)
downloadlinux-next-2b0f561f21b27c40c91ea4975268a06092bd7e9c.tar.gz
linux-next-2b0f561f21b27c40c91ea4975268a06092bd7e9c.zip
mptcp: avoid unneeded actions on subflow reset
Once in a blue moon, the mptcp receive path can recursively call mptcp_data_ready() via state change under unlucky error conditions, and then try to hold the data lock again. Break the recursion loop explicitly checking for the exceptional condition. Add a new flag instead of using an existing one like 'closing', to exit early in subflow_state_change(), and explicitly flush the RX queue at reset time. This avoids unneeded processing to check for available data -- calling get_mapping_status() and more on a dying subflow -- but also in error reporting and worker scheduling. Note that we must consume the currently peeked skb before invoking mptcp_dss_corruption to avoid consuming it again after the eventual reset has freed it. Fixes: e32d262c89e2 ("mptcp: handle consistently DSS corruption") Cc: stable@vger.kernel.org Reported-by: Xinyang Ge <xinyang@anthropic.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20260917-net-mptcp-misc-fixes-7-3-rc4-v2-1-0cf5c72667c8@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions