Thread (11 messages) 11 messages, 4 authors, 2023-08-04

Re: [PATCH v4 1/2] drivers: net: prevent tun_build_skb() to exceed the packet size limit

From: David Ahern <hidden>
Date: 2023-08-02 01:07:47
Also in: linux-kernel-mentees, lkml

On 8/1/23 4:07 PM, Andrew Kanner wrote:
quoted hunk ↗ jump to hunk
@@ -1594,7 +1597,13 @@ static bool tun_can_build_skb(struct tun_struct *tun, struct tun_file *tfile,
 	if (zerocopy)
 		return false;
 
-	if (SKB_DATA_ALIGN(len + TUN_RX_PAD) +
+	rcu_read_lock();
+	xdp_prog = rcu_dereference(tun->xdp_prog);
+	if (xdp_prog)
+		pad += XDP_PACKET_HEADROOM;
+	rcu_read_unlock();

since you do not care about the actual xdp_prog (only that one is set) I
believe you can use rcu_access_pointer here.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help