diff options
Diffstat (limited to 'net/core')
| -rw-r--r-- | net/core/dst.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/core/dst.c b/net/core/dst.c index 9ccca038444f..6135f3671692 100644 --- a/net/core/dst.c +++ b/net/core/dst.c | |||
| @@ -190,7 +190,8 @@ void *dst_alloc(struct dst_ops *ops, struct net_device *dev, | |||
| 190 | dst->lastuse = jiffies; | 190 | dst->lastuse = jiffies; |
| 191 | dst->flags = flags; | 191 | dst->flags = flags; |
| 192 | dst->next = NULL; | 192 | dst->next = NULL; |
| 193 | dst_entries_add(ops, 1); | 193 | if (!(flags & DST_NOCOUNT)) |
| 194 | dst_entries_add(ops, 1); | ||
| 194 | return dst; | 195 | return dst; |
| 195 | } | 196 | } |
| 196 | EXPORT_SYMBOL(dst_alloc); | 197 | EXPORT_SYMBOL(dst_alloc); |
| @@ -243,7 +244,8 @@ again: | |||
| 243 | neigh_release(neigh); | 244 | neigh_release(neigh); |
| 244 | } | 245 | } |
| 245 | 246 | ||
| 246 | dst_entries_add(dst->ops, -1); | 247 | if (!(dst->flags & DST_NOCOUNT)) |
| 248 | dst_entries_add(dst->ops, -1); | ||
| 247 | 249 | ||
| 248 | if (dst->ops->destroy) | 250 | if (dst->ops->destroy) |
| 249 | dst->ops->destroy(dst); | 251 | dst->ops->destroy(dst); |
