diff options
author | Yun Lu <luyun@kylinos.cn> | 2025-07-11 17:32:59 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2025-07-13 01:28:51 +0100 |
commit | c1ba3c0cbdb5e53a8ec5d708e99cd4c497028a13 (patch) | |
tree | 3389c1703c3bc755559c6e647ca25685fb649ce8 /scripts/lib/kdoc/kdoc_parser.py | |
parent | 5e28d5a3f774f118896aec17a3a20a9c5c9dfc64 (diff) |
af_packet: fix the SO_SNDTIMEO constraint not effective on tpacked_snd()
Due to the changes in commit 581073f626e3 ("af_packet: do not call
packet_read_pending() from tpacket_destruct_skb()"), every time
tpacket_destruct_skb() is executed, the skb_completion is marked as
completed. When wait_for_completion_interruptible_timeout() returns
completed, the pending_refcnt has not yet been reduced to zero.
Therefore, when ph is NULL, the wait function may need to be called
multiple times until packet_read_pending() finally returns zero.
We should call sock_sndtimeo() only once, otherwise the SO_SNDTIMEO
constraint could be way off.
Fixes: 581073f626e3 ("af_packet: do not call packet_read_pending() from tpacket_destruct_skb()")
Cc: stable@kernel.org
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yun Lu <luyun@kylinos.cn>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_parser.py')
0 files changed, 0 insertions, 0 deletions