netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] ipmr: use goto to common label instead of opencoding
@ 2009-02-07  0:21 Ilpo Järvinen
  2009-02-07  0:21 ` [PATCH 2/4] ax25: more common return path joining Ilpo Järvinen
  2009-02-07  7:49 ` [PATCH 1/4] ipmr: use goto to common label instead of opencoding David Miller
  0 siblings, 2 replies; 9+ messages in thread
From: Ilpo Järvinen @ 2009-02-07  0:21 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Ilpo J�rvinen

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
---
 net/ipv4/ipmr.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index 21a6dc7..13e9dd3 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -1243,8 +1243,7 @@ static void ipmr_queue_xmit(struct sk_buff *skb, struct mfc_cache *c, int vifi)
 		vif->dev->stats.tx_bytes += skb->len;
 		vif->dev->stats.tx_packets++;
 		ipmr_cache_report(net, skb, vifi, IGMPMSG_WHOLEPKT);
-		kfree_skb(skb);
-		return;
+		goto out_free;
 	}
 #endif
 
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/4] ax25: more common return path joining
  2009-02-07  0:21 [PATCH 1/4] ipmr: use goto to common label instead of opencoding Ilpo Järvinen
@ 2009-02-07  0:21 ` Ilpo Järvinen
  2009-02-07  0:21   ` [PATCH 3/4] ipv6/ndisc: join error paths Ilpo Järvinen
  2009-02-07  0:28   ` [PATCH 2/4] ax25: more common return path joining Ralf Baechle
  2009-02-07  7:49 ` [PATCH 1/4] ipmr: use goto to common label instead of opencoding David Miller
  1 sibling, 2 replies; 9+ messages in thread
From: Ilpo Järvinen @ 2009-02-07  0:21 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Ilpo J�rvinen, Ralf Baechle

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Cc: Ralf Baechle <ralf@linux-mips.org>
---
 net/ax25/ax25_iface.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/net/ax25/ax25_iface.c b/net/ax25/ax25_iface.c
index 8443af5..71338f1 100644
--- a/net/ax25/ax25_iface.c
+++ b/net/ax25/ax25_iface.c
@@ -61,27 +61,24 @@ void ax25_protocol_release(unsigned int pid)
 
 	write_lock_bh(&protocol_list_lock);
 	protocol = protocol_list;
-	if (protocol == NULL) {
-		write_unlock_bh(&protocol_list_lock);
-		return;
-	}
+	if (protocol == NULL)
+		goto out;
 
 	if (protocol->pid == pid) {
 		protocol_list = protocol->next;
-		write_unlock_bh(&protocol_list_lock);
-		return;
+		goto out;
 	}
 
 	while (protocol != NULL && protocol->next != NULL) {
 		if (protocol->next->pid == pid) {
 			s = protocol->next;
 			protocol->next = protocol->next->next;
-			write_unlock_bh(&protocol_list_lock);
-			return;
+			goto out;
 		}
 
 		protocol = protocol->next;
 	}
+out:
 	write_unlock_bh(&protocol_list_lock);
 }
 
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/4] ipv6/ndisc: join error paths
  2009-02-07  0:21 ` [PATCH 2/4] ax25: more common return path joining Ilpo Järvinen
@ 2009-02-07  0:21   ` Ilpo Järvinen
  2009-02-07  0:21     ` [PATCH 4/4] ipv6/addrconf: common code located Ilpo Järvinen
  2009-02-07  7:49     ` [PATCH 3/4] ipv6/ndisc: join error paths David Miller
  2009-02-07  0:28   ` [PATCH 2/4] ax25: more common return path joining Ralf Baechle
  1 sibling, 2 replies; 9+ messages in thread
From: Ilpo Järvinen @ 2009-02-07  0:21 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Ilpo J�rvinen

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
---
 net/ipv6/ndisc.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 3e29708..3cd83b8 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -1538,13 +1538,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
 	if (rt->rt6i_flags & RTF_GATEWAY) {
 		ND_PRINTK2(KERN_WARNING
 			   "ICMPv6 Redirect: destination is not a neighbour.\n");
-		dst_release(dst);
-		return;
-	}
-	if (!xrlim_allow(dst, 1*HZ)) {
-		dst_release(dst);
-		return;
+		goto release;
 	}
+	if (!xrlim_allow(dst, 1*HZ))
+		goto release;
 
 	if (dev->addr_len) {
 		read_lock_bh(&neigh->lock);
@@ -1570,8 +1567,7 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
 		ND_PRINTK0(KERN_ERR
 			   "ICMPv6 Redirect: %s() failed to allocate an skb.\n",
 			   __func__);
-		dst_release(dst);
-		return;
+		goto release;
 	}
 
 	skb_reserve(buff, LL_RESERVED_SPACE(dev));
@@ -1631,6 +1627,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
 
 	if (likely(idev != NULL))
 		in6_dev_put(idev);
+	return;
+
+release:
+	dst_release(dst);
 }
 
 static void pndisc_redo(struct sk_buff *skb)
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/4] ipv6/addrconf: common code located
  2009-02-07  0:21   ` [PATCH 3/4] ipv6/ndisc: join error paths Ilpo Järvinen
@ 2009-02-07  0:21     ` Ilpo Järvinen
  2009-02-07  7:49       ` David Miller
  2009-02-07  7:49     ` [PATCH 3/4] ipv6/ndisc: join error paths David Miller
  1 sibling, 1 reply; 9+ messages in thread
From: Ilpo Järvinen @ 2009-02-07  0:21 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Ilpo J�rvinen

$ codiff net/ipv6/addrconf.o net/ipv6/addrconf.o.new
net/ipv6/addrconf.c:
 addrconf_notify | -267
1 function changed, 267 bytes removed

net/ipv6/addrconf.c:
 add_addr |  +86
1 function changed, 86 bytes added

net/ipv6/addrconf.o.new:
2 functions changed, 86 bytes added, 267 bytes removed, diff: -181

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
---

If somebody has idea about better name for the function I'm open
to suggestions... I've some doubts that the name as is the best
possible :-).

 net/ipv6/addrconf.c |   45 ++++++++++++++++++---------------------------
 1 files changed, 18 insertions(+), 27 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f9afb45..03e2a1a 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2224,10 +2224,24 @@ int addrconf_del_ifaddr(struct net *net, void __user *arg)
 	return err;
 }
 
+static void add_addr(struct inet6_dev *idev, const struct in6_addr *addr,
+		     int plen, int scope)
+{
+	struct inet6_ifaddr *ifp;
+
+	ifp = ipv6_add_addr(idev, addr, plen, scope, IFA_F_PERMANENT);
+	if (!IS_ERR(ifp)) {
+		spin_lock_bh(&ifp->lock);
+		ifp->flags &= ~IFA_F_TENTATIVE;
+		spin_unlock_bh(&ifp->lock);
+		ipv6_ifa_notify(RTM_NEWADDR, ifp);
+		in6_ifa_put(ifp);
+	}
+}
+
 #if defined(CONFIG_IPV6_SIT) || defined(CONFIG_IPV6_SIT_MODULE)
 static void sit_add_v4_addrs(struct inet6_dev *idev)
 {
-	struct inet6_ifaddr * ifp;
 	struct in6_addr addr;
 	struct net_device *dev;
 	struct net *net = dev_net(idev->dev);
@@ -2246,14 +2260,7 @@ static void sit_add_v4_addrs(struct inet6_dev *idev)
 	}
 
 	if (addr.s6_addr32[3]) {
-		ifp = ipv6_add_addr(idev, &addr, 128, scope, IFA_F_PERMANENT);
-		if (!IS_ERR(ifp)) {
-			spin_lock_bh(&ifp->lock);
-			ifp->flags &= ~IFA_F_TENTATIVE;
-			spin_unlock_bh(&ifp->lock);
-			ipv6_ifa_notify(RTM_NEWADDR, ifp);
-			in6_ifa_put(ifp);
-		}
+		add_addr(idev, &addr, 128, scope);
 		return;
 	}
 
@@ -2281,15 +2288,7 @@ static void sit_add_v4_addrs(struct inet6_dev *idev)
 				else
 					plen = 96;
 
-				ifp = ipv6_add_addr(idev, &addr, plen, flag,
-						    IFA_F_PERMANENT);
-				if (!IS_ERR(ifp)) {
-					spin_lock_bh(&ifp->lock);
-					ifp->flags &= ~IFA_F_TENTATIVE;
-					spin_unlock_bh(&ifp->lock);
-					ipv6_ifa_notify(RTM_NEWADDR, ifp);
-					in6_ifa_put(ifp);
-				}
+				add_addr(idev, &addr, plen, flag);
 			}
 		}
 	}
@@ -2299,7 +2298,6 @@ static void sit_add_v4_addrs(struct inet6_dev *idev)
 static void init_loopback(struct net_device *dev)
 {
 	struct inet6_dev  *idev;
-	struct inet6_ifaddr * ifp;
 
 	/* ::1 */
 
@@ -2310,14 +2308,7 @@ static void init_loopback(struct net_device *dev)
 		return;
 	}
 
-	ifp = ipv6_add_addr(idev, &in6addr_loopback, 128, IFA_HOST, IFA_F_PERMANENT);
-	if (!IS_ERR(ifp)) {
-		spin_lock_bh(&ifp->lock);
-		ifp->flags &= ~IFA_F_TENTATIVE;
-		spin_unlock_bh(&ifp->lock);
-		ipv6_ifa_notify(RTM_NEWADDR, ifp);
-		in6_ifa_put(ifp);
-	}
+	add_addr(idev, &in6addr_loopback, 128, IFA_HOST);
 }
 
 static void addrconf_add_linklocal(struct inet6_dev *idev, struct in6_addr *addr)
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/4] ax25: more common return path joining
  2009-02-07  0:21 ` [PATCH 2/4] ax25: more common return path joining Ilpo Järvinen
  2009-02-07  0:21   ` [PATCH 3/4] ipv6/ndisc: join error paths Ilpo Järvinen
@ 2009-02-07  0:28   ` Ralf Baechle
  2009-02-07  7:49     ` David Miller
  1 sibling, 1 reply; 9+ messages in thread
From: Ralf Baechle @ 2009-02-07  0:28 UTC (permalink / raw)
  To: Ilpo Järvinen; +Cc: David Miller, netdev

On Sat, Feb 07, 2009 at 02:21:01AM +0200, Ilpo Järvinen wrote:

> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
> Cc: Ralf Baechle <ralf@linux-mips.org>

Looks good, thus

Acked-by: Ralf Baechle <ralf@linux-mips.org>

  Ralf

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/4] ipmr: use goto to common label instead of opencoding
  2009-02-07  0:21 [PATCH 1/4] ipmr: use goto to common label instead of opencoding Ilpo Järvinen
  2009-02-07  0:21 ` [PATCH 2/4] ax25: more common return path joining Ilpo Järvinen
@ 2009-02-07  7:49 ` David Miller
  1 sibling, 0 replies; 9+ messages in thread
From: David Miller @ 2009-02-07  7:49 UTC (permalink / raw)
  To: ilpo.jarvinen; +Cc: netdev

From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Date: Sat,  7 Feb 2009 02:21:00 +0200

> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/4] ax25: more common return path joining
  2009-02-07  0:28   ` [PATCH 2/4] ax25: more common return path joining Ralf Baechle
@ 2009-02-07  7:49     ` David Miller
  0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2009-02-07  7:49 UTC (permalink / raw)
  To: ralf; +Cc: ilpo.jarvinen, netdev

From: Ralf Baechle <ralf@linux-mips.org>
Date: Sat, 7 Feb 2009 00:28:33 +0000

> On Sat, Feb 07, 2009 at 02:21:01AM +0200, Ilpo Järvinen wrote:
> 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
> > Cc: Ralf Baechle <ralf@linux-mips.org>
> 
> Looks good, thus
> 
> Acked-by: Ralf Baechle <ralf@linux-mips.org>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] ipv6/ndisc: join error paths
  2009-02-07  0:21   ` [PATCH 3/4] ipv6/ndisc: join error paths Ilpo Järvinen
  2009-02-07  0:21     ` [PATCH 4/4] ipv6/addrconf: common code located Ilpo Järvinen
@ 2009-02-07  7:49     ` David Miller
  1 sibling, 0 replies; 9+ messages in thread
From: David Miller @ 2009-02-07  7:49 UTC (permalink / raw)
  To: ilpo.jarvinen; +Cc: netdev

From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Date: Sat,  7 Feb 2009 02:21:02 +0200

> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 4/4] ipv6/addrconf: common code located
  2009-02-07  0:21     ` [PATCH 4/4] ipv6/addrconf: common code located Ilpo Järvinen
@ 2009-02-07  7:49       ` David Miller
  0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2009-02-07  7:49 UTC (permalink / raw)
  To: ilpo.jarvinen; +Cc: netdev

From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Date: Sat,  7 Feb 2009 02:21:03 +0200

> $ codiff net/ipv6/addrconf.o net/ipv6/addrconf.o.new
> net/ipv6/addrconf.c:
>  addrconf_notify | -267
> 1 function changed, 267 bytes removed
> 
> net/ipv6/addrconf.c:
>  add_addr |  +86
> 1 function changed, 86 bytes added
> 
> net/ipv6/addrconf.o.new:
> 2 functions changed, 86 bytes added, 267 bytes removed, diff: -181
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>

Applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-02-07  7:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-07  0:21 [PATCH 1/4] ipmr: use goto to common label instead of opencoding Ilpo Järvinen
2009-02-07  0:21 ` [PATCH 2/4] ax25: more common return path joining Ilpo Järvinen
2009-02-07  0:21   ` [PATCH 3/4] ipv6/ndisc: join error paths Ilpo Järvinen
2009-02-07  0:21     ` [PATCH 4/4] ipv6/addrconf: common code located Ilpo Järvinen
2009-02-07  7:49       ` David Miller
2009-02-07  7:49     ` [PATCH 3/4] ipv6/ndisc: join error paths David Miller
2009-02-07  0:28   ` [PATCH 2/4] ax25: more common return path joining Ralf Baechle
2009-02-07  7:49     ` David Miller
2009-02-07  7:49 ` [PATCH 1/4] ipmr: use goto to common label instead of opencoding David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).