diff options
| author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-11-06 03:50:39 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-11-06 03:50:39 -0500 |
| commit | 887e671f324d9898aaedb29a6ece6c853c394067 (patch) | |
| tree | ff6e580e0342453b3e7251681ad6bc67ad7958a7 | |
| parent | f9dd09c7f7199685601d75882447a6598be8a3e0 (diff) | |
decnet: netdevice refcount leak
While working on device refcount stuff, I found a device refcount leak
through DECNET.
This nasty bug can be used to hold refcounts on any !DECNET netdevice.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | net/decnet/sysctl_net_decnet.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/decnet/sysctl_net_decnet.c b/net/decnet/sysctl_net_decnet.c index 26b0ab1e9f56..2036568beea9 100644 --- a/net/decnet/sysctl_net_decnet.c +++ b/net/decnet/sysctl_net_decnet.c | |||
| @@ -263,11 +263,10 @@ static int dn_def_dev_strategy(ctl_table *table, | |||
| 263 | return -ENODEV; | 263 | return -ENODEV; |
| 264 | 264 | ||
| 265 | rv = -ENODEV; | 265 | rv = -ENODEV; |
| 266 | if (dev->dn_ptr != NULL) { | 266 | if (dev->dn_ptr != NULL) |
| 267 | rv = dn_dev_set_default(dev, 1); | 267 | rv = dn_dev_set_default(dev, 1); |
| 268 | if (rv) | 268 | if (rv) |
| 269 | dev_put(dev); | 269 | dev_put(dev); |
| 270 | } | ||
| 271 | } | 270 | } |
| 272 | 271 | ||
| 273 | return rv; | 272 | return rv; |
