dst: catch uninitialized metrics
authorStephen Hemminger <shemminger@vyatta.com>
Tue, 24 May 2011 17:50:52 +0000 (13:50 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 May 2011 17:50:52 +0000 (13:50 -0400)
Catch cases where dst_metric_set() and other functions are called
but _metrics is NULL.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dst.h

index 07a0402..7d15d23 100644 (file)
@@ -111,6 +111,8 @@ static inline u32 *dst_metrics_write_ptr(struct dst_entry *dst)
 {
        unsigned long p = dst->_metrics;
 
+       BUG_ON(!p);
+
        if (p & DST_METRICS_READ_ONLY)
                return dst->ops->cow_metrics(dst, p);
        return __DST_METRICS_PTR(p);