History

net: Fix typo of SKB_SGO_CB_OFFSET

The SKB_SGO_CB_OFFSET should be SKB_GSO_CB_OFFSET which means the offset of the GSO in skb cb. This patch fixes the typo.

Cambda Zhu committed 6 years ago

Commit a08e7fd1 parent 3b857206 files · +9 −9Browse files

Unified · Split

6 files
  1. include/linux/skbuff.h +2 −2
  2. net/core/dev.c +2 −2
  3. net/ipv4/ip_output.c +1 −1
  4. net/ipv4/udp.c +1 −1
  5. net/openvswitch/datapath.c +1 −1
  6. net/xfrm/xfrm_output.c +2 −2
include/linux/skbuff.h+2−2
@@ -4389,8 +4389,8 @@ struct skb_gso_cb { · 4388 unmodified lines
4389 __wsum csum;4389 __wsum csum;
4390 __u16 csum_start;4390 __u16 csum_start;
4391};4391};
4392#define SKB_SGO_CB_OFFSET 324392#define SKB_GSO_CB_OFFSET 32
4393#define SKB_GSO_CB(skb) ((struct skb_gso_cb *)((skb)->cb + SKB_SGO_CB_OFFSET))4393#define SKB_GSO_CB(skb) ((struct skb_gso_cb *)((skb)->cb + SKB_GSO_CB_OFFSET))
4394 4394
4395static inline int skb_tnl_header_len(const struct sk_buff *inner_skb)4395static inline int skb_tnl_header_len(const struct sk_buff *inner_skb)
4396{4396{
net/core/dev.c+2−2
@@ -3266,7 +3266,7 @@ static inline bool skb_needs_check(struct sk_buff *skb, bool tx_path) · 3265 unmodified lines
3266 * It may return NULL if the skb requires no segmentation. This is3266 * It may return NULL if the skb requires no segmentation. This is
3267 * only possible when GSO is used for verifying header integrity.3267 * only possible when GSO is used for verifying header integrity.
3268 *3268 *
3269 * Segmentation preserves SKB_SGO_CB_OFFSET bytes of previous skb cb.3269 * Segmentation preserves SKB_GSO_CB_OFFSET bytes of previous skb cb.
3270 */3270 */
3271struct sk_buff *__skb_gso_segment(struct sk_buff *skb,3271struct sk_buff *__skb_gso_segment(struct sk_buff *skb,
3272 netdev_features_t features, bool tx_path)3272 netdev_features_t features, bool tx_path)
@@ -3295,7 +3295,7 @@ struct sk_buff *__skb_gso_segment(struct sk_buff *skb, · 22 unmodified lines
3295 features &= ~NETIF_F_GSO_PARTIAL;3295 features &= ~NETIF_F_GSO_PARTIAL;
3296 }3296 }
3297 3297
3298 BUILD_BUG_ON(SKB_SGO_CB_OFFSET +3298 BUILD_BUG_ON(SKB_GSO_CB_OFFSET +
3299 sizeof(*SKB_GSO_CB(skb)) > sizeof(skb->cb));3299 sizeof(*SKB_GSO_CB(skb)) > sizeof(skb->cb));
3300 3300
3301 SKB_GSO_CB(skb)->mac_offset = skb_headroom(skb);3301 SKB_GSO_CB(skb)->mac_offset = skb_headroom(skb);
net/ipv4/ip_output.c+1−1
@@ -263,7 +263,7 @@ static int ip_finish_output_gso(struct net *net, struct sock *sk, · 262 unmodified lines
263 * insufficent MTU.263 * insufficent MTU.
264 */264 */
265 features = netif_skb_features(skb);265 features = netif_skb_features(skb);
266 BUILD_BUG_ON(sizeof(*IPCB(skb)) > SKB_SGO_CB_OFFSET);266 BUILD_BUG_ON(sizeof(*IPCB(skb)) > SKB_GSO_CB_OFFSET);
267 segs = skb_gso_segment(skb, features & ~NETIF_F_GSO_MASK);267 segs = skb_gso_segment(skb, features & ~NETIF_F_GSO_MASK);
268 if (IS_ERR_OR_NULL(segs)) {268 if (IS_ERR_OR_NULL(segs)) {
269 kfree_skb(skb);269 kfree_skb(skb);
net/ipv4/udp.c+1−1
@@ -2109,7 +2109,7 @@ static int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) · 2108 unmodified lines
2109 if (likely(!udp_unexpected_gso(sk, skb)))2109 if (likely(!udp_unexpected_gso(sk, skb)))
2110 return udp_queue_rcv_one_skb(sk, skb);2110 return udp_queue_rcv_one_skb(sk, skb);
2111 2111
2112 BUILD_BUG_ON(sizeof(struct udp_skb_cb) > SKB_SGO_CB_OFFSET);2112 BUILD_BUG_ON(sizeof(struct udp_skb_cb) > SKB_GSO_CB_OFFSET);
2113 __skb_push(skb, -skb_mac_offset(skb));2113 __skb_push(skb, -skb_mac_offset(skb));
2114 segs = udp_rcv_segment(sk, skb, true);2114 segs = udp_rcv_segment(sk, skb, true);
2115 skb_list_walk_safe(segs, skb, next) {2115 skb_list_walk_safe(segs, skb, next) {
net/openvswitch/datapath.c+1−1
@@ -305,7 +305,7 @@ static int queue_gso_packets(struct datapath *dp, struct sk_buff *skb, · 304 unmodified lines
305 struct sk_buff *segs, *nskb;305 struct sk_buff *segs, *nskb;
306 int err;306 int err;
307 307
308 BUILD_BUG_ON(sizeof(*OVS_CB(skb)) > SKB_SGO_CB_OFFSET);308 BUILD_BUG_ON(sizeof(*OVS_CB(skb)) > SKB_GSO_CB_OFFSET);
309 segs = __skb_gso_segment(skb, NETIF_F_SG, false);309 segs = __skb_gso_segment(skb, NETIF_F_SG, false);
310 if (IS_ERR(segs))310 if (IS_ERR(segs))
311 return PTR_ERR(segs);311 return PTR_ERR(segs);
net/xfrm/xfrm_output.c+2−2
@@ -535,8 +535,8 @@ static int xfrm_output_gso(struct net *net, struct sock *sk, struct sk_buff *skb · 534 unmodified lines
535{535{
536 struct sk_buff *segs, *nskb;536 struct sk_buff *segs, *nskb;
537 537
538 BUILD_BUG_ON(sizeof(*IPCB(skb)) > SKB_SGO_CB_OFFSET);538 BUILD_BUG_ON(sizeof(*IPCB(skb)) > SKB_GSO_CB_OFFSET);
539 BUILD_BUG_ON(sizeof(*IP6CB(skb)) > SKB_SGO_CB_OFFSET);539 BUILD_BUG_ON(sizeof(*IP6CB(skb)) > SKB_GSO_CB_OFFSET);
540 segs = skb_gso_segment(skb, 0);540 segs = skb_gso_segment(skb, 0);
541 kfree_skb(skb);541 kfree_skb(skb);
542 if (IS_ERR(segs))542 if (IS_ERR(segs))