Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59a49e38 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
parents 52c1da39 f2d368fa
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -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
}

+1 −10
Original line number Diff line number Diff line
@@ -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;
};

@@ -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) */
+1 −0
Original line number Diff line number Diff line
@@ -408,6 +408,7 @@ enum
	TCF_EM_NBYTE,
	TCF_EM_U32,
	TCF_EM_META,
	TCF_EM_TEXT,
	__TCF_EM_MAX
};

+5 −2
Original line number Diff line number Diff line
@@ -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); \
+23 −0
Original line number Diff line number Diff line
@@ -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 */
@@ -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