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

Commit a53f4b61 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

Revert "net: Make accesses to ->br_port safe for sparse RCU"

This reverts commit 81bdf5bd, which is
obsoleted by commit f350a0a8 from the net tree.
parent 0a54cec0
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -101,9 +101,6 @@ struct __fdb_entry {

#include <linux/netdevice.h>

/* br_handle_frame_hook() needs the following forward declaration. */
struct net_bridge_port;

extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *));
extern struct sk_buff *(*br_handle_frame_hook)(struct net_bridge_port *p,
					       struct sk_buff *skb);
+1 −1
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ int br_fdb_test_addr(struct net_device *dev, unsigned char *addr)
		return 0;

	rcu_read_lock();
	fdb = __br_fdb_get(br_port(dev)->br, addr);
	fdb = __br_fdb_get(dev->br_port->br, addr);
	ret = fdb && fdb->dst->dev != dev &&
		fdb->dst->state == BR_STATE_FORWARDING;
	rcu_read_unlock();
+0 −5
Original line number Diff line number Diff line
@@ -268,11 +268,6 @@ static inline int br_is_root_bridge(const struct net_bridge *br)
	return !memcmp(&br->bridge_id, &br->designated_root, 8);
}

static inline struct net_bridge_port *br_port(const struct net_device *dev)
{
	return rcu_dereference(dev->br_port);
}

/* br_device.c */
extern void br_dev_setup(struct net_device *dev);
extern netdev_tx_t br_dev_xmit(struct sk_buff *skb,
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ ebt_redirect_tg(struct sk_buff *skb, const struct xt_action_param *par)

	if (par->hooknum != NF_BR_BROUTING)
		memcpy(eth_hdr(skb)->h_dest,
		       br_port(par->in)->br->dev->dev_addr, ETH_ALEN);
		       par->in->br_port->br->dev->dev_addr, ETH_ALEN);
	else
		memcpy(eth_hdr(skb)->h_dest, par->in->dev_addr, ETH_ALEN);
	skb->pkt_type = PACKET_HOST;
+2 −2
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,
		strcpy(pm->physindev, in->name);
		/* If in isn't a bridge, then physindev==indev */
		if (in->br_port)
			strcpy(pm->indev, br_port(in)->br->dev->name);
			strcpy(pm->indev, in->br_port->br->dev->name);
		else
			strcpy(pm->indev, in->name);
	} else
@@ -187,7 +187,7 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,
	if (out) {
		/* If out exists, then out is a bridge port */
		strcpy(pm->physoutdev, out->name);
		strcpy(pm->outdev, br_port(out)->br->dev->name);
		strcpy(pm->outdev, out->br_port->br->dev->name);
	} else
		pm->outdev[0] = pm->physoutdev[0] = '\0';

Loading