]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dst: catch uninitialized metrics
authorStephen Hemminger <shemminger@vyatta.com>
Tue, 24 May 2011 17:50:52 +0000 (13:50 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Jun 2011 00:31:58 +0000 (09:31 +0900)
[ Upstream commit 1f37070d3ff325827c6213e51b57f21fd5ac9d05 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/net/dst.h

index 75b95df4afe71467bb9d378f5535ab1e167772df..b3ad020faec52441d63c5a98407be2d6237643ff 100644 (file)
@@ -120,6 +120,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);