aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge
diff options
context:
space:
mode:
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_netfilter.c16
-rw-r--r--net/bridge/br_netlink.c4
-rw-r--r--net/bridge/br_notify.c2
-rw-r--r--net/bridge/br_stp_bpdu.c2
-rw-r--r--net/bridge/br_sysfs_br.c6
5 files changed, 16 insertions, 14 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index af7e8be8d8d2..bb90cd7bace3 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -111,7 +111,9 @@ static inline __be16 pppoe_proto(const struct sk_buff *skb)
111 * require us to fill additional fields. */ 111 * require us to fill additional fields. */
112static struct net_device __fake_net_device = { 112static struct net_device __fake_net_device = {
113 .hard_header_len = ETH_HLEN, 113 .hard_header_len = ETH_HLEN,
114#ifdef CONFIG_NET_NS
114 .nd_net = &init_net, 115 .nd_net = &init_net,
116#endif
115}; 117};
116 118
117static struct rtable __fake_rtable = { 119static struct rtable __fake_rtable = {
@@ -224,8 +226,8 @@ static int br_nf_pre_routing_finish_ipv6(struct sk_buff *skb)
224 } 226 }
225 nf_bridge->mask ^= BRNF_NF_BRIDGE_PREROUTING; 227 nf_bridge->mask ^= BRNF_NF_BRIDGE_PREROUTING;
226 228
227 skb->dst = (struct dst_entry *)&__fake_rtable; 229 skb->rtable = &__fake_rtable;
228 dst_hold(skb->dst); 230 dst_hold(&__fake_rtable.u.dst);
229 231
230 skb->dev = nf_bridge->physindev; 232 skb->dev = nf_bridge->physindev;
231 nf_bridge_push_encap_header(skb); 233 nf_bridge_push_encap_header(skb);
@@ -389,8 +391,8 @@ bridged_dnat:
389 skb->pkt_type = PACKET_HOST; 391 skb->pkt_type = PACKET_HOST;
390 } 392 }
391 } else { 393 } else {
392 skb->dst = (struct dst_entry *)&__fake_rtable; 394 skb->rtable = &__fake_rtable;
393 dst_hold(skb->dst); 395 dst_hold(&__fake_rtable.u.dst);
394 } 396 }
395 397
396 skb->dev = nf_bridge->physindev; 398 skb->dev = nf_bridge->physindev;
@@ -609,9 +611,9 @@ static unsigned int br_nf_local_in(unsigned int hook, struct sk_buff *skb,
609 const struct net_device *out, 611 const struct net_device *out,
610 int (*okfn)(struct sk_buff *)) 612 int (*okfn)(struct sk_buff *))
611{ 613{
612 if (skb->dst == (struct dst_entry *)&__fake_rtable) { 614 if (skb->rtable == &__fake_rtable) {
613 dst_release(skb->dst); 615 dst_release(&__fake_rtable.u.dst);
614 skb->dst = NULL; 616 skb->rtable = NULL;
615 } 617 }
616 618
617 return NF_ACCEPT; 619 return NF_ACCEPT;
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
index f5d69336d97b..f155e6ce8a21 100644
--- a/net/bridge/br_netlink.c
+++ b/net/bridge/br_netlink.c
@@ -108,7 +108,7 @@ errout:
108 */ 108 */
109static int br_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb) 109static int br_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb)
110{ 110{
111 struct net *net = skb->sk->sk_net; 111 struct net *net = sock_net(skb->sk);
112 struct net_device *dev; 112 struct net_device *dev;
113 int idx; 113 int idx;
114 114
@@ -140,7 +140,7 @@ skip:
140 */ 140 */
141static int br_rtm_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) 141static int br_rtm_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg)
142{ 142{
143 struct net *net = skb->sk->sk_net; 143 struct net *net = sock_net(skb->sk);
144 struct ifinfomsg *ifm; 144 struct ifinfomsg *ifm;
145 struct nlattr *protinfo; 145 struct nlattr *protinfo;
146 struct net_device *dev; 146 struct net_device *dev;
diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c
index 07ac3ae68d8f..00644a544e3c 100644
--- a/net/bridge/br_notify.c
+++ b/net/bridge/br_notify.c
@@ -37,7 +37,7 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
37 struct net_bridge_port *p = dev->br_port; 37 struct net_bridge_port *p = dev->br_port;
38 struct net_bridge *br; 38 struct net_bridge *br;
39 39
40 if (dev->nd_net != &init_net) 40 if (dev_net(dev) != &init_net)
41 return NOTIFY_DONE; 41 return NOTIFY_DONE;
42 42
43 /* not a port of a bridge */ 43 /* not a port of a bridge */
diff --git a/net/bridge/br_stp_bpdu.c b/net/bridge/br_stp_bpdu.c
index 0edbd2a1c3f3..8deab645ef75 100644
--- a/net/bridge/br_stp_bpdu.c
+++ b/net/bridge/br_stp_bpdu.c
@@ -142,7 +142,7 @@ int br_stp_rcv(struct sk_buff *skb, struct net_device *dev,
142 struct net_bridge *br; 142 struct net_bridge *br;
143 const unsigned char *buf; 143 const unsigned char *buf;
144 144
145 if (dev->nd_net != &init_net) 145 if (dev_net(dev) != &init_net)
146 goto err; 146 goto err;
147 147
148 if (!p) 148 if (!p)
diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
index 9cf0538d1717..27d6a511c8c1 100644
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -415,21 +415,21 @@ int br_sysfs_addbr(struct net_device *dev)
415 err = sysfs_create_group(brobj, &bridge_group); 415 err = sysfs_create_group(brobj, &bridge_group);
416 if (err) { 416 if (err) {
417 pr_info("%s: can't create group %s/%s\n", 417 pr_info("%s: can't create group %s/%s\n",
418 __FUNCTION__, dev->name, bridge_group.name); 418 __func__, dev->name, bridge_group.name);
419 goto out1; 419 goto out1;
420 } 420 }
421 421
422 err = sysfs_create_bin_file(brobj, &bridge_forward); 422 err = sysfs_create_bin_file(brobj, &bridge_forward);
423 if (err) { 423 if (err) {
424 pr_info("%s: can't create attribute file %s/%s\n", 424 pr_info("%s: can't create attribute file %s/%s\n",
425 __FUNCTION__, dev->name, bridge_forward.attr.name); 425 __func__, dev->name, bridge_forward.attr.name);
426 goto out2; 426 goto out2;
427 } 427 }
428 428
429 br->ifobj = kobject_create_and_add(SYSFS_BRIDGE_PORT_SUBDIR, brobj); 429 br->ifobj = kobject_create_and_add(SYSFS_BRIDGE_PORT_SUBDIR, brobj);
430 if (!br->ifobj) { 430 if (!br->ifobj) {
431 pr_info("%s: can't add kobject (directory) %s/%s\n", 431 pr_info("%s: can't add kobject (directory) %s/%s\n",
432 __FUNCTION__, dev->name, SYSFS_BRIDGE_PORT_SUBDIR); 432 __func__, dev->name, SYSFS_BRIDGE_PORT_SUBDIR);
433 goto out3; 433 goto out3;
434 } 434 }
435 return 0; 435 return 0;