aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2023-08-18 17:41:45 +0000
committerDavid S. Miller <davem@davemloft.net>2023-08-20 15:17:47 +0100
commit0f158b32a9b146c9b86783efccfd9ed02c744623 (patch)
tree7b0a7ea12da8b4a7bc37f84cb9a9101ec80f60d5 /include/linux/skbuff.h
parentMerge branch 'fixed_phy_register-return-value' (diff)
downloadwireguard-linux-0f158b32a9b146c9b86783efccfd9ed02c744623.tar.xz
wireguard-linux-0f158b32a9b146c9b86783efccfd9ed02c744623.zip
net: selectively purge error queue in IP_RECVERR / IPV6_RECVERR
Setting IP_RECVERR and IPV6_RECVERR options to zero currently purges the socket error queue, which was probably not expected for zerocopy and tx_timestamp users. I discovered this issue while preparing commit 6b5f43ea0815 ("inet: move inet->recverr to inet->inet_flags"), I presume this change does not need to be backported to stable kernels. Add skb_errqueue_purge() helper to purge error messages only. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Willem de Bruijn <willemb@google.com> Cc: Soheil Hassas Yeganeh <soheil@google.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r--include/linux/skbuff.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 9aec136bc690..4174c4b82d13 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -3180,6 +3180,7 @@ static inline void skb_queue_purge(struct sk_buff_head *list)
}
unsigned int skb_rbtree_purge(struct rb_root *root);
+void skb_errqueue_purge(struct sk_buff_head *list);
void *__netdev_alloc_frag_align(unsigned int fragsz, unsigned int align_mask);