Merge remote-tracking branch 'net-next/master' into mac80211-next
Merge net-next, which pulled in net, so I can merge a few more patches that would otherwise conflict. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
#include <net/netns/generic.h>
|
||||
|
||||
struct tcf_idrinfo {
|
||||
spinlock_t lock;
|
||||
struct mutex lock;
|
||||
struct idr action_idr;
|
||||
};
|
||||
|
||||
@@ -117,7 +117,7 @@ int tc_action_net_init(struct tc_action_net *tn,
|
||||
if (!tn->idrinfo)
|
||||
return -ENOMEM;
|
||||
tn->ops = ops;
|
||||
spin_lock_init(&tn->idrinfo->lock);
|
||||
mutex_init(&tn->idrinfo->lock);
|
||||
idr_init(&tn->idrinfo->action_idr);
|
||||
return err;
|
||||
}
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#define _NET_RXRPC_H
|
||||
|
||||
#include <linux/rxrpc.h>
|
||||
#include <linux/ktime.h>
|
||||
|
||||
struct key;
|
||||
struct sock;
|
||||
@@ -77,5 +78,8 @@ int rxrpc_kernel_retry_call(struct socket *, struct rxrpc_call *,
|
||||
int rxrpc_kernel_check_call(struct socket *, struct rxrpc_call *,
|
||||
enum rxrpc_call_completion *, u32 *);
|
||||
u32 rxrpc_kernel_check_life(struct socket *, struct rxrpc_call *);
|
||||
u32 rxrpc_kernel_get_epoch(struct socket *, struct rxrpc_call *);
|
||||
bool rxrpc_kernel_get_reply_time(struct socket *, struct rxrpc_call *,
|
||||
ktime_t *);
|
||||
|
||||
#endif /* _NET_RXRPC_H */
|
||||
|
@@ -1517,6 +1517,20 @@ struct hci_cp_le_write_def_data_len {
|
||||
__le16 tx_time;
|
||||
} __packed;
|
||||
|
||||
#define HCI_OP_LE_ADD_TO_RESOLV_LIST 0x2027
|
||||
struct hci_cp_le_add_to_resolv_list {
|
||||
__u8 bdaddr_type;
|
||||
bdaddr_t bdaddr;
|
||||
__u8 peer_irk[16];
|
||||
__u8 local_irk[16];
|
||||
} __packed;
|
||||
|
||||
#define HCI_OP_LE_DEL_FROM_RESOLV_LIST 0x2028
|
||||
struct hci_cp_le_del_from_resolv_list {
|
||||
__u8 bdaddr_type;
|
||||
bdaddr_t bdaddr;
|
||||
} __packed;
|
||||
|
||||
#define HCI_OP_LE_CLEAR_RESOLV_LIST 0x2029
|
||||
|
||||
#define HCI_OP_LE_READ_RESOLV_LIST_SIZE 0x202a
|
||||
|
@@ -103,6 +103,14 @@ struct bdaddr_list {
|
||||
u8 bdaddr_type;
|
||||
};
|
||||
|
||||
struct bdaddr_list_with_irk {
|
||||
struct list_head list;
|
||||
bdaddr_t bdaddr;
|
||||
u8 bdaddr_type;
|
||||
u8 peer_irk[16];
|
||||
u8 local_irk[16];
|
||||
};
|
||||
|
||||
struct bt_uuid {
|
||||
struct list_head list;
|
||||
u8 uuid[16];
|
||||
@@ -259,6 +267,8 @@ struct hci_dev {
|
||||
__u16 le_max_tx_time;
|
||||
__u16 le_max_rx_len;
|
||||
__u16 le_max_rx_time;
|
||||
__u8 le_max_key_size;
|
||||
__u8 le_min_key_size;
|
||||
__u16 discov_interleaved_timeout;
|
||||
__u16 conn_info_min_age;
|
||||
__u16 conn_info_max_age;
|
||||
@@ -1058,8 +1068,15 @@ int hci_inquiry(void __user *arg);
|
||||
|
||||
struct bdaddr_list *hci_bdaddr_list_lookup(struct list_head *list,
|
||||
bdaddr_t *bdaddr, u8 type);
|
||||
struct bdaddr_list_with_irk *hci_bdaddr_list_lookup_with_irk(
|
||||
struct list_head *list, bdaddr_t *bdaddr,
|
||||
u8 type);
|
||||
int hci_bdaddr_list_add(struct list_head *list, bdaddr_t *bdaddr, u8 type);
|
||||
int hci_bdaddr_list_add_with_irk(struct list_head *list, bdaddr_t *bdaddr,
|
||||
u8 type, u8 *peer_irk, u8 *local_irk);
|
||||
int hci_bdaddr_list_del(struct list_head *list, bdaddr_t *bdaddr, u8 type);
|
||||
int hci_bdaddr_list_del_with_irk(struct list_head *list, bdaddr_t *bdaddr,
|
||||
u8 type);
|
||||
void hci_bdaddr_list_clear(struct list_head *list);
|
||||
|
||||
struct hci_conn_params *hci_conn_params_lookup(struct hci_dev *hdev,
|
||||
|
@@ -455,9 +455,6 @@ struct l2cap_conn_param_update_rsp {
|
||||
#define L2CAP_CONN_PARAM_ACCEPTED 0x0000
|
||||
#define L2CAP_CONN_PARAM_REJECTED 0x0001
|
||||
|
||||
#define L2CAP_LE_MAX_CREDITS 10
|
||||
#define L2CAP_LE_DEFAULT_MPS 230
|
||||
|
||||
struct l2cap_le_conn_req {
|
||||
__le16 psm;
|
||||
__le16 scid;
|
||||
|
@@ -139,12 +139,6 @@ struct bond_parm_tbl {
|
||||
int mode;
|
||||
};
|
||||
|
||||
struct netdev_notify_work {
|
||||
struct delayed_work work;
|
||||
struct net_device *dev;
|
||||
struct netdev_bonding_info bonding_info;
|
||||
};
|
||||
|
||||
struct slave {
|
||||
struct net_device *dev; /* first - useful for panic debug */
|
||||
struct bonding *bond; /* our master */
|
||||
@@ -172,6 +166,7 @@ struct slave {
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
struct netpoll *np;
|
||||
#endif
|
||||
struct delayed_work notify_work;
|
||||
struct kobject kobj;
|
||||
struct rtnl_link_stats64 slave_stats;
|
||||
};
|
||||
|
@@ -4914,8 +4914,6 @@ const char *reg_initiator_name(enum nl80211_reg_initiator initiator);
|
||||
*
|
||||
* @alpha2: the ISO/IEC 3166 alpha2 wmm rule to be queried.
|
||||
* @freq: the freqency(in MHz) to be queried.
|
||||
* @ptr: pointer where the regdb wmm data is to be stored (or %NULL if
|
||||
* irrelevant). This can be used later for deduplication.
|
||||
* @rule: pointer to store the wmm rule from the regulatory db.
|
||||
*
|
||||
* Self-managed wireless drivers can use this function to query
|
||||
|
@@ -362,6 +362,9 @@ enum devlink_param_generic_id {
|
||||
DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
|
||||
DEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV,
|
||||
DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
|
||||
DEVLINK_PARAM_GENERIC_ID_IGNORE_ARI,
|
||||
DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX,
|
||||
DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN,
|
||||
|
||||
/* add new param generic ids above here*/
|
||||
__DEVLINK_PARAM_GENERIC_ID_MAX,
|
||||
@@ -380,6 +383,15 @@ enum devlink_param_generic_id {
|
||||
#define DEVLINK_PARAM_GENERIC_REGION_SNAPSHOT_NAME "region_snapshot_enable"
|
||||
#define DEVLINK_PARAM_GENERIC_REGION_SNAPSHOT_TYPE DEVLINK_PARAM_TYPE_BOOL
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC_IGNORE_ARI_NAME "ignore_ari"
|
||||
#define DEVLINK_PARAM_GENERIC_IGNORE_ARI_TYPE DEVLINK_PARAM_TYPE_BOOL
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MAX_NAME "msix_vec_per_pf_max"
|
||||
#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MAX_TYPE DEVLINK_PARAM_TYPE_U32
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MIN_NAME "msix_vec_per_pf_min"
|
||||
#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MIN_TYPE DEVLINK_PARAM_TYPE_U32
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC(_id, _cmodes, _get, _set, _validate) \
|
||||
{ \
|
||||
.id = DEVLINK_PARAM_GENERIC_ID_##_id, \
|
||||
@@ -451,11 +463,14 @@ struct devlink_ops {
|
||||
u32 *p_cur, u32 *p_max);
|
||||
|
||||
int (*eswitch_mode_get)(struct devlink *devlink, u16 *p_mode);
|
||||
int (*eswitch_mode_set)(struct devlink *devlink, u16 mode);
|
||||
int (*eswitch_mode_set)(struct devlink *devlink, u16 mode,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*eswitch_inline_mode_get)(struct devlink *devlink, u8 *p_inline_mode);
|
||||
int (*eswitch_inline_mode_set)(struct devlink *devlink, u8 inline_mode);
|
||||
int (*eswitch_inline_mode_set)(struct devlink *devlink, u8 inline_mode,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*eswitch_encap_mode_get)(struct devlink *devlink, u8 *p_encap_mode);
|
||||
int (*eswitch_encap_mode_set)(struct devlink *devlink, u8 encap_mode);
|
||||
int (*eswitch_encap_mode_set)(struct devlink *devlink, u8 encap_mode,
|
||||
struct netlink_ext_ack *extack);
|
||||
};
|
||||
|
||||
static inline void *devlink_priv(struct devlink *devlink)
|
||||
|
@@ -130,12 +130,6 @@ static inline int inet_request_bound_dev_if(const struct sock *sk,
|
||||
return sk->sk_bound_dev_if;
|
||||
}
|
||||
|
||||
static inline struct ip_options_rcu *ireq_opt_deref(const struct inet_request_sock *ireq)
|
||||
{
|
||||
return rcu_dereference_check(ireq->ireq_opt,
|
||||
refcount_read(&ireq->req.rsk_refcnt) > 0);
|
||||
}
|
||||
|
||||
struct inet_cork {
|
||||
unsigned int flags;
|
||||
__be32 addr;
|
||||
|
@@ -420,8 +420,35 @@ static inline unsigned int ip_skb_dst_mtu(struct sock *sk,
|
||||
return min(READ_ONCE(skb_dst(skb)->dev->mtu), IP_MAX_MTU);
|
||||
}
|
||||
|
||||
int ip_metrics_convert(struct net *net, struct nlattr *fc_mx, int fc_mx_len,
|
||||
u32 *metrics);
|
||||
struct dst_metrics *ip_fib_metrics_init(struct net *net, struct nlattr *fc_mx,
|
||||
int fc_mx_len);
|
||||
static inline void ip_fib_metrics_put(struct dst_metrics *fib_metrics)
|
||||
{
|
||||
if (fib_metrics != &dst_default_metrics &&
|
||||
refcount_dec_and_test(&fib_metrics->refcnt))
|
||||
kfree(fib_metrics);
|
||||
}
|
||||
|
||||
/* ipv4 and ipv6 both use refcounted metrics if it is not the default */
|
||||
static inline
|
||||
void ip_dst_init_metrics(struct dst_entry *dst, struct dst_metrics *fib_metrics)
|
||||
{
|
||||
dst_init_metrics(dst, fib_metrics->metrics, true);
|
||||
|
||||
if (fib_metrics != &dst_default_metrics) {
|
||||
dst->_metrics |= DST_METRICS_REFCOUNTED;
|
||||
refcount_inc(&fib_metrics->refcnt);
|
||||
}
|
||||
}
|
||||
|
||||
static inline
|
||||
void ip_dst_metrics_put(struct dst_entry *dst)
|
||||
{
|
||||
struct dst_metrics *p = (struct dst_metrics *)DST_METRICS_PTR(dst);
|
||||
|
||||
if (p != &dst_default_metrics && refcount_dec_and_test(&p->refcnt))
|
||||
kfree(p);
|
||||
}
|
||||
|
||||
u32 ip_idents_reserve(u32 hash, int segs);
|
||||
void __ip_select_ident(struct net *net, struct iphdr *iph, int segs);
|
||||
|
@@ -165,8 +165,7 @@ void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, int oif,
|
||||
void ip6_sk_update_pmtu(struct sk_buff *skb, struct sock *sk, __be32 mtu);
|
||||
void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark,
|
||||
kuid_t uid);
|
||||
void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif,
|
||||
u32 mark);
|
||||
void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif);
|
||||
void ip6_sk_redirect(struct sk_buff *skb, struct sock *sk);
|
||||
|
||||
struct netlink_callback;
|
||||
|
@@ -153,7 +153,7 @@
|
||||
* nla_find() find attribute in stream of attributes
|
||||
* nla_find_nested() find attribute in nested attributes
|
||||
* nla_parse() parse and validate stream of attrs
|
||||
* nla_parse_nested() parse nested attribuets
|
||||
* nla_parse_nested() parse nested attributes
|
||||
* nla_for_each_attr() loop over all attributes
|
||||
* nla_for_each_nested() loop over the nested attributes
|
||||
*=========================================================================
|
||||
|
@@ -65,11 +65,6 @@ static inline struct Qdisc *tcf_block_q(struct tcf_block *block)
|
||||
return block->q;
|
||||
}
|
||||
|
||||
static inline struct net_device *tcf_block_dev(struct tcf_block *block)
|
||||
{
|
||||
return tcf_block_q(block)->dev_queue->dev;
|
||||
}
|
||||
|
||||
void *tcf_block_cb_priv(struct tcf_block_cb *block_cb);
|
||||
struct tcf_block_cb *tcf_block_cb_lookup(struct tcf_block *block,
|
||||
tc_setup_cb_t *cb, void *cb_ident);
|
||||
@@ -122,11 +117,6 @@ static inline struct Qdisc *tcf_block_q(struct tcf_block *block)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline struct net_device *tcf_block_dev(struct tcf_block *block)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline
|
||||
int tc_setup_cb_block_register(struct tcf_block *block, tc_setup_cb_t *cb,
|
||||
void *cb_priv)
|
||||
|
@@ -1492,6 +1492,7 @@ static inline void lock_sock(struct sock *sk)
|
||||
lock_sock_nested(sk, 0);
|
||||
}
|
||||
|
||||
void __release_sock(struct sock *sk);
|
||||
void release_sock(struct sock *sk);
|
||||
|
||||
/* BH context may only use the following locking interface. */
|
||||
|
@@ -101,6 +101,7 @@ struct tls_rec {
|
||||
struct list_head list;
|
||||
int tx_ready;
|
||||
int tx_flags;
|
||||
int inplace_crypto;
|
||||
|
||||
/* AAD | sg_plaintext_data | sg_tag */
|
||||
struct scatterlist sg_plaintext_data[MAX_SKB_FRAGS + 1];
|
||||
|
@@ -443,8 +443,10 @@ int udpv4_offload_init(void);
|
||||
|
||||
void udp_init(void);
|
||||
|
||||
DECLARE_STATIC_KEY_FALSE(udp_encap_needed_key);
|
||||
void udp_encap_enable(void);
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
DECLARE_STATIC_KEY_FALSE(udpv6_encap_needed_key);
|
||||
void udpv6_encap_enable(void);
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user