Re: [PATCH v2] dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock

From: patchwork-bot+netdevbpf
Date: Mon Aug 01 2022 - 15:50:23 EST


Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@xxxxxxxxxx>:

On Fri, 29 Jul 2022 19:00:27 +0800 you wrote:
> In the case of sk->dccps_qpolicy == DCCPQ_POLICY_PRIO, dccp_qpolicy_full
> will drop a skb when qpolicy is full. And the lock in dccp_sendmsg is
> released before sock_alloc_send_skb and then relocked after
> sock_alloc_send_skb. The following conditions may lead dccp_qpolicy_push
> to add skb to an already full sk_write_queue:
>
> thread1--->lock
> thread1--->dccp_qpolicy_full: queue is full. drop a skb
> thread1--->unlock
> thread2--->lock
> thread2--->dccp_qpolicy_full: queue is not full. no need to drop.
> thread2--->unlock
> thread1--->lock
> thread1--->dccp_qpolicy_push: add a skb. queue is full.
> thread1--->unlock
> thread2--->lock
> thread2--->dccp_qpolicy_push: add a skb!
> thread2--->unlock
>
> [...]

Here is the summary with links:
- [v2] dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock
https://git.kernel.org/netdev/net/c/a41b17ff9dac

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html