Message ID | Pine.LNX.4.64.1008161826390.19313@ask.diku.dk |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, Aug 16, 2010 at 06:26:57PM +0200, Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > Error codes are stored in err, but the return value is always 0. Return > err instead. > > The semantic match that finds this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @r@ > local idexpression x; > constant C; > @@ > > if (...) { ... > x = -C > ... when != x > ( > return <+...x...+>; > | > return NULL; > | > return; > | > * return ...; > ) > } > // </smpl> > > Signed-off-by: Julia Lawall <julia@diku.dk> > > --- > This changes the semantics and has not been tested. It restores the semantics to what they should be and used to be. This probably happened during the introduction of proper refcounting and locking into the AX.25 stack. Looks fine to me. Acked-by: Ralf Baechle <ralf@linux-mips.org> Ralf -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Julia Lawall <julia@diku.dk> Date: Mon, 16 Aug 2010 18:26:57 +0200 (CEST) > From: Julia Lawall <julia@diku.dk> > > Error codes are stored in err, but the return value is always 0. Return > err instead. > > The semantic match that finds this problem is as follows: > (http://coccinelle.lip6.fr/) ... > Signed-off-by: Julia Lawall <julia@diku.dk> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ax25/ax25_route.c b/net/ax25/ax25_route.c index 7805945..a169084 100644 --- a/net/ax25/ax25_route.c +++ b/net/ax25/ax25_route.c @@ -412,7 +412,7 @@ int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr) { ax25_uid_assoc *user; ax25_route *ax25_rt; - int err; + int err = 0; if ((ax25_rt = ax25_get_route(addr, NULL)) == NULL) return -EHOSTUNREACH; @@ -453,7 +453,7 @@ int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr) put: ax25_put_route(ax25_rt); - return 0; + return err; } struct sk_buff *ax25_rt_build_path(struct sk_buff *skb, ax25_address *src,