diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/bluetooth/hci.h | 1 | ||||
| -rw-r--r-- | include/net/bluetooth/hci_core.h | 1 | ||||
| -rw-r--r-- | include/net/bluetooth/l2cap.h | 4 | ||||
| -rw-r--r-- | include/net/bluetooth/mgmt.h | 2 | ||||
| -rw-r--r-- | include/net/ip_tunnels.h | 15 | ||||
| -rw-r--r-- | include/net/tcp.h | 2 | ||||
| -rw-r--r-- | include/net/tls.h | 25 | 
7 files changed, 34 insertions, 16 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 9ecc70baaca9..8d0e703bc929 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -434,6 +434,7 @@ enum {  	HCI_USER_CHANNEL,  	HCI_EXT_CONFIGURED,  	HCI_LE_ADV, +	HCI_LE_ADV_0,  	HCI_LE_PER_ADV,  	HCI_LE_SCAN,  	HCI_SSP_ENABLED, diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 2924c2bf2a98..b8100dbfe5d7 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -244,6 +244,7 @@ struct adv_info {  	bool	enabled;  	bool	pending;  	bool	periodic; +	bool	periodic_enabled;  	__u8	mesh;  	__u8	instance;  	__u8	handle; diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 4bb0eaedda18..00e182a22720 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h @@ -38,8 +38,8 @@  #define L2CAP_DEFAULT_TX_WINDOW		63  #define L2CAP_DEFAULT_EXT_WINDOW	0x3FFF  #define L2CAP_DEFAULT_MAX_TX		3 -#define L2CAP_DEFAULT_RETRANS_TO	2    /* seconds */ -#define L2CAP_DEFAULT_MONITOR_TO	12   /* seconds */ +#define L2CAP_DEFAULT_RETRANS_TO	2000    /* 2 seconds */ +#define L2CAP_DEFAULT_MONITOR_TO	12000   /* 12 seconds */  #define L2CAP_DEFAULT_MAX_PDU_SIZE	1492    /* Sized for AMP packet */  #define L2CAP_DEFAULT_ACK_TO		200  #define L2CAP_DEFAULT_MAX_SDU_SIZE	0xFFFF diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h index 74edea06985b..bca0333f1e99 100644 --- a/include/net/bluetooth/mgmt.h +++ b/include/net/bluetooth/mgmt.h @@ -853,7 +853,7 @@ struct mgmt_cp_set_mesh {  	__le16 window;  	__le16 period;  	__u8   num_ad_types; -	__u8   ad_types[]; +	__u8   ad_types[] __counted_by(num_ad_types);  } __packed;  #define MGMT_SET_MESH_RECEIVER_SIZE	6 diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index 4314a97702ea..ecae35512b9b 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h @@ -611,6 +611,21 @@ struct metadata_dst *iptunnel_metadata_reply(struct metadata_dst *md,  int skb_tunnel_check_pmtu(struct sk_buff *skb, struct dst_entry *encap_dst,  			  int headroom, bool reply); +static inline void ip_tunnel_adj_headroom(struct net_device *dev, +					  unsigned int headroom) +{ +	/* we must cap headroom to some upperlimit, else pskb_expand_head +	 * will overflow header offsets in skb_headers_offset_update(). +	 */ +	const unsigned int max_allowed = 512; + +	if (headroom > max_allowed) +		headroom = max_allowed; + +	if (headroom > READ_ONCE(dev->needed_headroom)) +		WRITE_ONCE(dev->needed_headroom, headroom); +} +  int iptunnel_handle_offloads(struct sk_buff *skb, int gso_type_mask);  static inline int iptunnel_pull_offloads(struct sk_buff *skb) diff --git a/include/net/tcp.h b/include/net/tcp.h index 5ca230ed526a..ab20f549b8f9 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -370,7 +370,7 @@ void tcp_delack_timer_handler(struct sock *sk);  int tcp_ioctl(struct sock *sk, int cmd, int *karg);  enum skb_drop_reason tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb);  void tcp_rcv_established(struct sock *sk, struct sk_buff *skb); -void tcp_rcvbuf_grow(struct sock *sk); +void tcp_rcvbuf_grow(struct sock *sk, u32 newval);  void tcp_rcv_space_adjust(struct sock *sk);  int tcp_twsk_unique(struct sock *sk, struct sock *sktw, void *twp);  void tcp_twsk_destructor(struct sock *sk); diff --git a/include/net/tls.h b/include/net/tls.h index 857340338b69..c7bcdb3afad7 100644 --- a/include/net/tls.h +++ b/include/net/tls.h @@ -451,25 +451,26 @@ static inline void tls_offload_rx_resync_request(struct sock *sk, __be32 seq)  /* Log all TLS record header TCP sequences in [seq, seq+len] */  static inline void -tls_offload_rx_resync_async_request_start(struct sock *sk, __be32 seq, u16 len) +tls_offload_rx_resync_async_request_start(struct tls_offload_resync_async *resync_async, +					  __be32 seq, u16 len)  { -	struct tls_context *tls_ctx = tls_get_ctx(sk); -	struct tls_offload_context_rx *rx_ctx = tls_offload_ctx_rx(tls_ctx); - -	atomic64_set(&rx_ctx->resync_async->req, ((u64)ntohl(seq) << 32) | +	atomic64_set(&resync_async->req, ((u64)ntohl(seq) << 32) |  		     ((u64)len << 16) | RESYNC_REQ | RESYNC_REQ_ASYNC); -	rx_ctx->resync_async->loglen = 0; -	rx_ctx->resync_async->rcd_delta = 0; +	resync_async->loglen = 0; +	resync_async->rcd_delta = 0;  }  static inline void -tls_offload_rx_resync_async_request_end(struct sock *sk, __be32 seq) +tls_offload_rx_resync_async_request_end(struct tls_offload_resync_async *resync_async, +					__be32 seq)  { -	struct tls_context *tls_ctx = tls_get_ctx(sk); -	struct tls_offload_context_rx *rx_ctx = tls_offload_ctx_rx(tls_ctx); +	atomic64_set(&resync_async->req, ((u64)ntohl(seq) << 32) | RESYNC_REQ); +} -	atomic64_set(&rx_ctx->resync_async->req, -		     ((u64)ntohl(seq) << 32) | RESYNC_REQ); +static inline void +tls_offload_rx_resync_async_request_cancel(struct tls_offload_resync_async *resync_async) +{ +	atomic64_set(&resync_async->req, 0);  }  static inline void  | 
