Loading drivers/net/slip.c +4 −10 Original line number Diff line number Diff line Loading @@ -198,18 +198,12 @@ sl_alloc_bufs(struct slip *sl, int mtu) static void sl_free_bufs(struct slip *sl) { void * tmp; /* Free all SLIP frame buffers. */ tmp = xchg(&sl->rbuff, NULL); kfree(tmp); tmp = xchg(&sl->xbuff, NULL); kfree(tmp); kfree(xchg(&sl->rbuff, NULL)); kfree(xchg(&sl->xbuff, NULL)); #ifdef SL_INCLUDE_CSLIP tmp = xchg(&sl->cbuff, NULL); kfree(tmp); if ((tmp = xchg(&sl->slcomp, NULL)) != NULL) slhc_free(tmp); kfree(xchg(&sl->cbuff, NULL)); slhc_free(xchg(&sl->slcomp, NULL)); #endif } Loading include/linux/netdevice.h +1 −10 Original line number Diff line number Diff line Loading @@ -164,12 +164,6 @@ struct netif_rx_stats unsigned total; unsigned dropped; unsigned time_squeeze; unsigned throttled; unsigned fastroute_hit; unsigned fastroute_success; unsigned fastroute_defer; unsigned fastroute_deferred_out; unsigned fastroute_latency_reduction; unsigned cpu_collision; }; Loading Loading @@ -562,12 +556,9 @@ static inline int unregister_gifconf(unsigned int family) struct softnet_data { int throttle; int cng_level; int avg_blog; struct net_device *output_queue; struct sk_buff_head input_pkt_queue; struct list_head poll_list; struct net_device *output_queue; struct sk_buff *completion_queue; struct net_device backlog_dev; /* Sorry. 8) */ Loading include/linux/pkt_cls.h +1 −0 Original line number Diff line number Diff line Loading @@ -408,6 +408,7 @@ enum TCF_EM_NBYTE, TCF_EM_U32, TCF_EM_META, TCF_EM_TEXT, __TCF_EM_MAX }; Loading include/linux/rtnetlink.h +5 −2 Original line number Diff line number Diff line Loading @@ -892,10 +892,13 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi goto rtattr_failure; \ __rta_fill(skb, attrtype, attrlen, data); }) #define RTA_PUT_NOHDR(skb, attrlen, data) \ #define RTA_APPEND(skb, attrlen, data) \ ({ if (unlikely(skb_tailroom(skb) < (int)(attrlen))) \ goto rtattr_failure; \ memcpy(skb_put(skb, RTA_ALIGN(attrlen)), data, attrlen); }) memcpy(skb_put(skb, attrlen), data, attrlen); }) #define RTA_PUT_NOHDR(skb, attrlen, data) \ RTA_APPEND(skb, RTA_ALIGN(attrlen), data) #define RTA_PUT_U8(skb, attrtype, value) \ ({ u8 _tmp = (value); \ Loading include/linux/skbuff.h +23 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <linux/highmem.h> #include <linux/poll.h> #include <linux/net.h> #include <linux/textsearch.h> #include <net/checksum.h> #define HAVE_ALLOC_SKB /* For the drivers to know */ Loading Loading @@ -321,6 +322,28 @@ extern void skb_over_panic(struct sk_buff *skb, int len, extern void skb_under_panic(struct sk_buff *skb, int len, void *here); struct skb_seq_state { __u32 lower_offset; __u32 upper_offset; __u32 frag_idx; __u32 stepped_offset; struct sk_buff *root_skb; struct sk_buff *cur_skb; __u8 *frag_data; }; extern void skb_prepare_seq_read(struct sk_buff *skb, unsigned int from, unsigned int to, struct skb_seq_state *st); extern unsigned int skb_seq_read(unsigned int consumed, const u8 **data, struct skb_seq_state *st); extern void skb_abort_seq_read(struct skb_seq_state *st); extern unsigned int skb_find_text(struct sk_buff *skb, unsigned int from, unsigned int to, struct ts_config *config, struct ts_state *state); /* Internal */ #define skb_shinfo(SKB) ((struct skb_shared_info *)((SKB)->end)) Loading Loading
drivers/net/slip.c +4 −10 Original line number Diff line number Diff line Loading @@ -198,18 +198,12 @@ sl_alloc_bufs(struct slip *sl, int mtu) static void sl_free_bufs(struct slip *sl) { void * tmp; /* Free all SLIP frame buffers. */ tmp = xchg(&sl->rbuff, NULL); kfree(tmp); tmp = xchg(&sl->xbuff, NULL); kfree(tmp); kfree(xchg(&sl->rbuff, NULL)); kfree(xchg(&sl->xbuff, NULL)); #ifdef SL_INCLUDE_CSLIP tmp = xchg(&sl->cbuff, NULL); kfree(tmp); if ((tmp = xchg(&sl->slcomp, NULL)) != NULL) slhc_free(tmp); kfree(xchg(&sl->cbuff, NULL)); slhc_free(xchg(&sl->slcomp, NULL)); #endif } Loading
include/linux/netdevice.h +1 −10 Original line number Diff line number Diff line Loading @@ -164,12 +164,6 @@ struct netif_rx_stats unsigned total; unsigned dropped; unsigned time_squeeze; unsigned throttled; unsigned fastroute_hit; unsigned fastroute_success; unsigned fastroute_defer; unsigned fastroute_deferred_out; unsigned fastroute_latency_reduction; unsigned cpu_collision; }; Loading Loading @@ -562,12 +556,9 @@ static inline int unregister_gifconf(unsigned int family) struct softnet_data { int throttle; int cng_level; int avg_blog; struct net_device *output_queue; struct sk_buff_head input_pkt_queue; struct list_head poll_list; struct net_device *output_queue; struct sk_buff *completion_queue; struct net_device backlog_dev; /* Sorry. 8) */ Loading
include/linux/pkt_cls.h +1 −0 Original line number Diff line number Diff line Loading @@ -408,6 +408,7 @@ enum TCF_EM_NBYTE, TCF_EM_U32, TCF_EM_META, TCF_EM_TEXT, __TCF_EM_MAX }; Loading
include/linux/rtnetlink.h +5 −2 Original line number Diff line number Diff line Loading @@ -892,10 +892,13 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi goto rtattr_failure; \ __rta_fill(skb, attrtype, attrlen, data); }) #define RTA_PUT_NOHDR(skb, attrlen, data) \ #define RTA_APPEND(skb, attrlen, data) \ ({ if (unlikely(skb_tailroom(skb) < (int)(attrlen))) \ goto rtattr_failure; \ memcpy(skb_put(skb, RTA_ALIGN(attrlen)), data, attrlen); }) memcpy(skb_put(skb, attrlen), data, attrlen); }) #define RTA_PUT_NOHDR(skb, attrlen, data) \ RTA_APPEND(skb, RTA_ALIGN(attrlen), data) #define RTA_PUT_U8(skb, attrtype, value) \ ({ u8 _tmp = (value); \ Loading
include/linux/skbuff.h +23 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <linux/highmem.h> #include <linux/poll.h> #include <linux/net.h> #include <linux/textsearch.h> #include <net/checksum.h> #define HAVE_ALLOC_SKB /* For the drivers to know */ Loading Loading @@ -321,6 +322,28 @@ extern void skb_over_panic(struct sk_buff *skb, int len, extern void skb_under_panic(struct sk_buff *skb, int len, void *here); struct skb_seq_state { __u32 lower_offset; __u32 upper_offset; __u32 frag_idx; __u32 stepped_offset; struct sk_buff *root_skb; struct sk_buff *cur_skb; __u8 *frag_data; }; extern void skb_prepare_seq_read(struct sk_buff *skb, unsigned int from, unsigned int to, struct skb_seq_state *st); extern unsigned int skb_seq_read(unsigned int consumed, const u8 **data, struct skb_seq_state *st); extern void skb_abort_seq_read(struct skb_seq_state *st); extern unsigned int skb_find_text(struct sk_buff *skb, unsigned int from, unsigned int to, struct ts_config *config, struct ts_state *state); /* Internal */ #define skb_shinfo(SKB) ((struct skb_shared_info *)((SKB)->end)) Loading