Subject: Re: [PATCH][IP] Make use of the inline function dst_metric_locked()

From: Satoru SATOH <[email-masked]>
Date: Wed, 30 Apr 2008 11:53:31 +0900

# Resend it. I think it fixed.

I found some parts inline function dst_metric_locked should be used but
not. The following patch fixes these.

Signed-off-by: Satoru SATOH <[email-masked]>

  include/net/ip.h |    2 +-
  net/ipv4/route.c |    2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/net/ip.h b/include/net/ip.h
index 6d7bcd5..3b40bc2 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -210,7 +210,7 @@ int ip_dont_fragment(struct sock *sk, struct dst_entry *dst)
  {
  	return (inet_sk(sk)->pmtudisc == IP_PMTUDISC_DO ||
  		(inet_sk(sk)->pmtudisc == IP_PMTUDISC_WANT &&
-		 !(dst_metric(dst, RTAX_LOCK)&(1<<RTAX_MTU))));
+		 !(dst_metric_locked(dst, RTAX_MTU))));
  }

  extern void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more);
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index ce25a13..2fd69b5 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1607,7 +1607,7 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
  		       sizeof(rt->u.dst.metrics));
  		if (fi->fib_mtu == 0) {
  			rt->u.dst.metrics[RTAX_MTU-1] = rt->u.dst.dev->mtu;
-			if (rt->u.dst.metrics[RTAX_LOCK-1] & (1 << RTAX_MTU) &&
+			if (dst_metric_locked(&rt->u.dst, RTAX_MTU) &&
  			    rt->rt_gateway != rt->rt_dst &&
  			    rt->u.dst.dev->mtu > 576)
  				rt->u.dst.metrics[RTAX_MTU-1] = 576;