You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
net: Rename dst_get_neighbour{, _raw} to dst_get_neighbour_noref{, _raw}.
To reflect the fact that a refrence is not obtained to the resulting neighbour entry. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
committed by
David S. Miller
parent
761965eab3
commit
2721745501
@@ -217,7 +217,7 @@ static int addr4_resolve(struct sockaddr_in *src_in,
|
||||
neigh = neigh_lookup(&arp_tbl, &rt->rt_gateway, rt->dst.dev);
|
||||
if (!neigh || !(neigh->nud_state & NUD_VALID)) {
|
||||
rcu_read_lock();
|
||||
neigh_event_send(dst_get_neighbour(&rt->dst), NULL);
|
||||
neigh_event_send(dst_get_neighbour_noref(&rt->dst), NULL);
|
||||
rcu_read_unlock();
|
||||
ret = -ENODATA;
|
||||
if (neigh)
|
||||
@@ -277,7 +277,7 @@ static int addr6_resolve(struct sockaddr_in6 *src_in,
|
||||
}
|
||||
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(dst);
|
||||
neigh = dst_get_neighbour_noref(dst);
|
||||
if (!neigh || !(neigh->nud_state & NUD_VALID)) {
|
||||
if (neigh)
|
||||
neigh_event_send(neigh, NULL);
|
||||
|
||||
@@ -1376,7 +1376,7 @@ static int pass_accept_req(struct t3cdev *tdev, struct sk_buff *skb, void *ctx)
|
||||
}
|
||||
dst = &rt->dst;
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(dst);
|
||||
neigh = dst_get_neighbour_noref(dst);
|
||||
l2t = t3_l2t_get(tdev, neigh, neigh->dev);
|
||||
rcu_read_unlock();
|
||||
if (!l2t) {
|
||||
@@ -1949,7 +1949,7 @@ int iwch_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
||||
ep->dst = &rt->dst;
|
||||
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(ep->dst);
|
||||
neigh = dst_get_neighbour_noref(ep->dst);
|
||||
|
||||
/* get a l2t entry */
|
||||
ep->l2t = t3_l2t_get(ep->com.tdev, neigh, neigh->dev);
|
||||
|
||||
@@ -1597,7 +1597,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb)
|
||||
}
|
||||
dst = &rt->dst;
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(dst);
|
||||
neigh = dst_get_neighbour_noref(dst);
|
||||
if (neigh->dev->flags & IFF_LOOPBACK) {
|
||||
pdev = ip_dev_find(&init_net, peer_ip);
|
||||
BUG_ON(!pdev);
|
||||
@@ -1825,7 +1825,7 @@ static int c4iw_reconnect(struct c4iw_ep *ep)
|
||||
ep->dst = &rt->dst;
|
||||
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(ep->dst);
|
||||
neigh = dst_get_neighbour_noref(ep->dst);
|
||||
|
||||
/* get a l2t entry */
|
||||
if (neigh->dev->flags & IFF_LOOPBACK) {
|
||||
@@ -2308,7 +2308,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
||||
ep->dst = &rt->dst;
|
||||
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(ep->dst);
|
||||
neigh = dst_get_neighbour_noref(ep->dst);
|
||||
|
||||
/* get a l2t entry */
|
||||
if (neigh->dev->flags & IFF_LOOPBACK) {
|
||||
|
||||
@@ -1379,7 +1379,7 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip, int arpi
|
||||
|
||||
if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID))) {
|
||||
rcu_read_lock();
|
||||
neigh_event_send(dst_get_neighbour(&rt->dst), NULL);
|
||||
neigh_event_send(dst_get_neighbour_noref(&rt->dst), NULL);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
ip_rt_put(rt);
|
||||
|
||||
@@ -564,7 +564,7 @@ static void neigh_add_path(struct sk_buff *skb, struct net_device *dev)
|
||||
struct neighbour *n;
|
||||
unsigned long flags;
|
||||
|
||||
n = dst_get_neighbour(skb_dst(skb));
|
||||
n = dst_get_neighbour_noref(skb_dst(skb));
|
||||
neigh = ipoib_neigh_alloc(n, skb->dev);
|
||||
if (!neigh) {
|
||||
++dev->stats.tx_dropped;
|
||||
@@ -645,7 +645,7 @@ static void ipoib_path_lookup(struct sk_buff *skb, struct net_device *dev)
|
||||
struct neighbour *n;
|
||||
|
||||
/* Look up path record for unicasts */
|
||||
n = dst_get_neighbour(dst);
|
||||
n = dst_get_neighbour_noref(dst);
|
||||
if (n->ha[4] != 0xff) {
|
||||
neigh_add_path(skb, dev);
|
||||
return;
|
||||
@@ -724,7 +724,7 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
rcu_read_lock();
|
||||
if (likely(skb_dst(skb)))
|
||||
n = dst_get_neighbour(skb_dst(skb));
|
||||
n = dst_get_neighbour_noref(skb_dst(skb));
|
||||
|
||||
if (likely(n)) {
|
||||
if (unlikely(!*to_ipoib_neigh(n))) {
|
||||
@@ -841,7 +841,7 @@ static int ipoib_hard_header(struct sk_buff *skb,
|
||||
dst = skb_dst(skb);
|
||||
n = NULL;
|
||||
if (dst)
|
||||
n = dst_get_neighbour_raw(dst);
|
||||
n = dst_get_neighbour_noref_raw(dst);
|
||||
if ((!dst || !n) && daddr) {
|
||||
struct ipoib_pseudoheader *phdr =
|
||||
(struct ipoib_pseudoheader *) skb_push(skb, sizeof *phdr);
|
||||
|
||||
@@ -269,7 +269,7 @@ static int ipoib_mcast_join_finish(struct ipoib_mcast *mcast,
|
||||
|
||||
skb->dev = dev;
|
||||
if (dst)
|
||||
n = dst_get_neighbour_raw(dst);
|
||||
n = dst_get_neighbour_noref_raw(dst);
|
||||
if (!dst || !n) {
|
||||
/* put pseudoheader back on for next time */
|
||||
skb_push(skb, sizeof (struct ipoib_pseudoheader));
|
||||
@@ -728,7 +728,7 @@ out:
|
||||
|
||||
rcu_read_lock();
|
||||
if (dst)
|
||||
n = dst_get_neighbour(dst);
|
||||
n = dst_get_neighbour_noref(dst);
|
||||
if (n && !*to_ipoib_neigh(n)) {
|
||||
struct ipoib_neigh *neigh = ipoib_neigh_alloc(n,
|
||||
skb->dev);
|
||||
|
||||
@@ -969,7 +969,7 @@ static int nb_callback(struct notifier_block *self, unsigned long event,
|
||||
case (NETEVENT_REDIRECT):{
|
||||
struct netevent_redirect *nr = ctx;
|
||||
cxgb_redirect(nr->old, nr->new);
|
||||
cxgb_neigh_update(dst_get_neighbour(nr->new));
|
||||
cxgb_neigh_update(dst_get_neighbour_noref(nr->new));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -1114,8 +1114,8 @@ static void cxgb_redirect(struct dst_entry *old, struct dst_entry *new)
|
||||
struct l2t_entry *e;
|
||||
struct t3c_tid_entry *te;
|
||||
|
||||
olddev = dst_get_neighbour(old)->dev;
|
||||
newdev = dst_get_neighbour(new)->dev;
|
||||
olddev = dst_get_neighbour_noref(old)->dev;
|
||||
newdev = dst_get_neighbour_noref(new)->dev;
|
||||
if (!is_offloading(olddev))
|
||||
return;
|
||||
if (!is_offloading(newdev)) {
|
||||
@@ -1132,7 +1132,7 @@ static void cxgb_redirect(struct dst_entry *old, struct dst_entry *new)
|
||||
}
|
||||
|
||||
/* Add new L2T entry */
|
||||
e = t3_l2t_get(tdev, dst_get_neighbour(new), newdev);
|
||||
e = t3_l2t_get(tdev, dst_get_neighbour_noref(new), newdev);
|
||||
if (!e) {
|
||||
printk(KERN_ERR "%s: couldn't allocate new l2t entry!\n",
|
||||
__func__);
|
||||
|
||||
@@ -2759,7 +2759,7 @@ int inline qeth_l3_get_cast_type(struct qeth_card *card, struct sk_buff *skb)
|
||||
rcu_read_lock();
|
||||
dst = skb_dst(skb);
|
||||
if (dst)
|
||||
n = dst_get_neighbour(dst);
|
||||
n = dst_get_neighbour_noref(dst);
|
||||
if (n) {
|
||||
cast_type = n->type;
|
||||
rcu_read_unlock();
|
||||
@@ -2855,7 +2855,7 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
|
||||
rcu_read_lock();
|
||||
dst = skb_dst(skb);
|
||||
if (dst)
|
||||
n = dst_get_neighbour(dst);
|
||||
n = dst_get_neighbour_noref(dst);
|
||||
if (ipv == 4) {
|
||||
/* IPv4 */
|
||||
hdr->hdr.l3.flags = qeth_l3_get_qeth_hdr_flags4(cast_type);
|
||||
|
||||
@@ -966,7 +966,7 @@ static int init_act_open(struct cxgbi_sock *csk)
|
||||
csk->saddr.sin_addr.s_addr = chba->ipv4addr;
|
||||
|
||||
csk->rss_qid = 0;
|
||||
csk->l2t = t3_l2t_get(t3dev, dst_get_neighbour(dst), ndev);
|
||||
csk->l2t = t3_l2t_get(t3dev, dst_get_neighbour_noref(dst), ndev);
|
||||
if (!csk->l2t) {
|
||||
pr_err("NO l2t available.\n");
|
||||
return -EINVAL;
|
||||
|
||||
@@ -1141,7 +1141,7 @@ static int init_act_open(struct cxgbi_sock *csk)
|
||||
cxgbi_sock_set_flag(csk, CTPF_HAS_ATID);
|
||||
cxgbi_sock_get(csk);
|
||||
|
||||
csk->l2t = cxgb4_l2t_get(lldi->l2t, dst_get_neighbour(csk->dst), ndev, 0);
|
||||
csk->l2t = cxgb4_l2t_get(lldi->l2t, dst_get_neighbour_noref(csk->dst), ndev, 0);
|
||||
if (!csk->l2t) {
|
||||
pr_err("%s, cannot alloc l2t.\n", ndev->name);
|
||||
goto rel_resource;
|
||||
|
||||
@@ -493,7 +493,7 @@ static struct cxgbi_sock *cxgbi_check_route(struct sockaddr *dst_addr)
|
||||
goto err_out;
|
||||
}
|
||||
dst = &rt->dst;
|
||||
ndev = dst_get_neighbour(dst)->dev;
|
||||
ndev = dst_get_neighbour_noref(dst)->dev;
|
||||
|
||||
if (rt->rt_flags & (RTCF_MULTICAST | RTCF_BROADCAST)) {
|
||||
pr_info("multi-cast route %pI4, port %u, dev %s.\n",
|
||||
@@ -507,7 +507,7 @@ static struct cxgbi_sock *cxgbi_check_route(struct sockaddr *dst_addr)
|
||||
ndev = ip_dev_find(&init_net, daddr->sin_addr.s_addr);
|
||||
mtu = ndev->mtu;
|
||||
pr_info("rt dev %s, loopback -> %s, mtu %u.\n",
|
||||
dst_get_neighbour(dst)->dev->name, ndev->name, mtu);
|
||||
dst_get_neighbour_noref(dst)->dev->name, ndev->name, mtu);
|
||||
}
|
||||
|
||||
cdev = cxgbi_device_find_by_netdev(ndev, &port);
|
||||
|
||||
+3
-3
@@ -86,12 +86,12 @@ struct dst_entry {
|
||||
};
|
||||
};
|
||||
|
||||
static inline struct neighbour *dst_get_neighbour(struct dst_entry *dst)
|
||||
static inline struct neighbour *dst_get_neighbour_noref(struct dst_entry *dst)
|
||||
{
|
||||
return rcu_dereference(dst->_neighbour);
|
||||
}
|
||||
|
||||
static inline struct neighbour *dst_get_neighbour_raw(struct dst_entry *dst)
|
||||
static inline struct neighbour *dst_get_neighbour_noref_raw(struct dst_entry *dst)
|
||||
{
|
||||
return rcu_dereference_raw(dst->_neighbour);
|
||||
}
|
||||
@@ -392,7 +392,7 @@ static inline void dst_confirm(struct dst_entry *dst)
|
||||
struct neighbour *n;
|
||||
|
||||
rcu_read_lock();
|
||||
n = dst_get_neighbour(dst);
|
||||
n = dst_get_neighbour_noref(dst);
|
||||
neigh_confirm(n);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
+1
-1
@@ -338,7 +338,7 @@ static netdev_tx_t clip_start_xmit(struct sk_buff *skb,
|
||||
dev->stats.tx_dropped++;
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
n = dst_get_neighbour(dst);
|
||||
n = dst_get_neighbour_noref(dst);
|
||||
if (!n) {
|
||||
pr_err("NO NEIGHBOUR !\n");
|
||||
dev_kfree_skb(skb);
|
||||
|
||||
@@ -356,7 +356,7 @@ static int br_nf_pre_routing_finish_bridge(struct sk_buff *skb)
|
||||
if (!skb->dev)
|
||||
goto free_skb;
|
||||
dst = skb_dst(skb);
|
||||
neigh = dst_get_neighbour(dst);
|
||||
neigh = dst_get_neighbour_noref(dst);
|
||||
if (neigh->hh.hh_len) {
|
||||
neigh_hh_bridge(&neigh->hh, skb);
|
||||
skb->dev = nf_bridge->physindev;
|
||||
|
||||
+1
-1
@@ -366,7 +366,7 @@ static void dst_ifdown(struct dst_entry *dst, struct net_device *dev,
|
||||
dev_hold(dst->dev);
|
||||
dev_put(dev);
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(dst);
|
||||
neigh = dst_get_neighbour_noref(dst);
|
||||
if (neigh && neigh->dev == dev) {
|
||||
neigh->dev = dst->dev;
|
||||
dev_hold(dst->dev);
|
||||
|
||||
@@ -1190,7 +1190,7 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
|
||||
|
||||
rcu_read_lock();
|
||||
/* On shaper/eql skb->dst->neighbour != neigh :( */
|
||||
if (dst && (n2 = dst_get_neighbour(dst)) != NULL)
|
||||
if (dst && (n2 = dst_get_neighbour_noref(dst)) != NULL)
|
||||
n1 = n2;
|
||||
n1->output(n1, skb);
|
||||
rcu_read_unlock();
|
||||
|
||||
@@ -202,7 +202,7 @@ static int dn_neigh_output_packet(struct sk_buff *skb)
|
||||
{
|
||||
struct dst_entry *dst = skb_dst(skb);
|
||||
struct dn_route *rt = (struct dn_route *)dst;
|
||||
struct neighbour *neigh = dst_get_neighbour(dst);
|
||||
struct neighbour *neigh = dst_get_neighbour_noref(dst);
|
||||
struct net_device *dev = neigh->dev;
|
||||
char mac_addr[ETH_ALEN];
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ static int dn_dst_gc(struct dst_ops *ops)
|
||||
*/
|
||||
static void dn_dst_update_pmtu(struct dst_entry *dst, u32 mtu)
|
||||
{
|
||||
struct neighbour *n = dst_get_neighbour(dst);
|
||||
struct neighbour *n = dst_get_neighbour_noref(dst);
|
||||
u32 min_mtu = 230;
|
||||
struct dn_dev *dn;
|
||||
|
||||
@@ -713,7 +713,7 @@ out:
|
||||
static int dn_to_neigh_output(struct sk_buff *skb)
|
||||
{
|
||||
struct dst_entry *dst = skb_dst(skb);
|
||||
struct neighbour *n = dst_get_neighbour(dst);
|
||||
struct neighbour *n = dst_get_neighbour_noref(dst);
|
||||
|
||||
return n->output(n, skb);
|
||||
}
|
||||
@@ -728,7 +728,7 @@ static int dn_output(struct sk_buff *skb)
|
||||
|
||||
int err = -EINVAL;
|
||||
|
||||
if ((neigh = dst_get_neighbour(dst)) == NULL)
|
||||
if ((neigh = dst_get_neighbour_noref(dst)) == NULL)
|
||||
goto error;
|
||||
|
||||
skb->dev = dev;
|
||||
@@ -852,7 +852,7 @@ static int dn_rt_set_next_hop(struct dn_route *rt, struct dn_fib_res *res)
|
||||
}
|
||||
rt->rt_type = res->type;
|
||||
|
||||
if (dev != NULL && dst_get_neighbour(&rt->dst) == NULL) {
|
||||
if (dev != NULL && dst_get_neighbour_noref(&rt->dst) == NULL) {
|
||||
n = __neigh_lookup_errno(&dn_neigh_table, &rt->rt_gateway, dev);
|
||||
if (IS_ERR(n))
|
||||
return PTR_ERR(n);
|
||||
|
||||
+1
-1
@@ -731,7 +731,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
|
||||
}
|
||||
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
|
||||
else if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||
struct neighbour *neigh = dst_get_neighbour(skb_dst(skb));
|
||||
struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb));
|
||||
const struct in6_addr *addr6;
|
||||
int addr_type;
|
||||
|
||||
|
||||
@@ -206,7 +206,7 @@ static inline int ip_finish_output2(struct sk_buff *skb)
|
||||
}
|
||||
|
||||
rcu_read_lock();
|
||||
neigh = dst_get_neighbour(dst);
|
||||
neigh = dst_get_neighbour_noref(dst);
|
||||
if (neigh) {
|
||||
int res = neigh_output(neigh, skb);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user