浏览代码

ipv4: Initialize on-stack cork more efficiently.

ip_setup_cork() explicitly initializes every member of
inet_cork except flags, addr, and opt.  So we can simply
set those three members to zero instead of using a
memset() via an empty struct assignment.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
David S. Miller 14 年之前
父节点
当前提交
b80d72261a
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      net/ipv4/ip_output.c

+ 4 - 1
net/ipv4/ip_output.c

@@ -1408,7 +1408,7 @@ struct sk_buff *ip_make_skb(struct sock *sk,
 			    struct ipcm_cookie *ipc, struct rtable **rtp,
 			    struct ipcm_cookie *ipc, struct rtable **rtp,
 			    unsigned int flags)
 			    unsigned int flags)
 {
 {
-	struct inet_cork cork = {};
+	struct inet_cork cork;
 	struct sk_buff_head queue;
 	struct sk_buff_head queue;
 	int err;
 	int err;
 
 
@@ -1417,6 +1417,9 @@ struct sk_buff *ip_make_skb(struct sock *sk,
 
 
 	__skb_queue_head_init(&queue);
 	__skb_queue_head_init(&queue);
 
 
+	cork.flags = 0;
+	cork.addr = 0;
+	cork.opt = 0;
 	err = ip_setup_cork(sk, &cork, ipc, rtp);
 	err = ip_setup_cork(sk, &cork, ipc, rtp);
 	if (err)
 	if (err)
 		return ERR_PTR(err);
 		return ERR_PTR(err);