|
@@ -259,6 +259,16 @@ again:
|
|
return NULL;
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void dst_release(struct dst_entry *dst)
|
|
|
|
+{
|
|
|
|
+ if (dst) {
|
|
|
|
+ WARN_ON(atomic_read(&dst->__refcnt) < 1);
|
|
|
|
+ smp_mb__before_atomic_dec();
|
|
|
|
+ atomic_dec(&dst->__refcnt);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+EXPORT_SYMBOL(dst_release);
|
|
|
|
+
|
|
/* Dirty hack. We did it in 2.2 (in __dst_free),
|
|
/* Dirty hack. We did it in 2.2 (in __dst_free),
|
|
* we have _very_ good reasons not to repeat
|
|
* we have _very_ good reasons not to repeat
|
|
* this mistake in 2.3, but we have no choice
|
|
* this mistake in 2.3, but we have no choice
|