Subject: Re: [ICMP]: Avoid sparse warnings in net/ipv4/icmp.c

From: Eric Dumazet <[email-masked]>
Date: Fri, 04 Jan 2008 06:34:28 +0100

David Miller a écrit :
> From: Eric Dumazet <[email-masked]>
> Date: Fri, 04 Jan 2008 06:24:20 +0100
> 
>>    CHECK   net/ipv4/icmp.c
>> net/ipv4/icmp.c:249:13: warning: context imbalance in 'icmp_xmit_unlock' - 
>> unexpected unlock
>> net/ipv4/icmp.c:376:13: warning: context imbalance in 'icmp_reply' - different 
>> lock contexts for basic block
>> net/ipv4/icmp.c:430:6: warning: context imbalance in 'icmp_send' - different 
>> lock contexts for basic block
>>
>> Solution is to declare icmp_xmit_unlock() as __inline__ (similar with 
>> icmp_xmit_lock())
> 
> Please use "inline" instead of "__inline__".  If other stuff
> uses __inline__ in that file, feel free to fix it up too.
> 

You are right, here is the updated version

Thank you

[ICMP]: Avoid sparse warnings in net/ipv4/icmp.c

   CHECK   net/ipv4/icmp.c
net/ipv4/icmp.c:249:13: warning: context imbalance in 'icmp_xmit_unlock' - 
unexpected unlock
net/ipv4/icmp.c:376:13: warning: context imbalance in 'icmp_reply' - different 
lock contexts for basic block
net/ipv4/icmp.c:430:6: warning: context imbalance in 'icmp_send' - different 
lock contexts for basic block

Solution is to declare both icmp_xmit_lock() and icmp_xmit_unlock() as inline

Signed-off-by: Eric Dumazet <[email-masked]>

  net/ipv4/icmp.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index fc66c8a..1c256ff 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -232,7 +232,7 @@ static const struct icmp_control icmp_pointers[NR_ICMP_TYPES+1];
 static DEFINE_PER_CPU(struct sock *, __icmp_sock) = NULL;
 #define icmp_sock	__get_cpu_var(__icmp_sock)
 
-static __inline__ int icmp_xmit_lock(void)
+static inline int icmp_xmit_lock(void)
 {
 	local_bh_disable();
 
@@ -246,7 +246,7 @@ static __inline__ int icmp_xmit_lock(void)
 	return 0;
 }
 
-static void icmp_xmit_unlock(void)
+static inline void icmp_xmit_unlock(void)
 {
 	spin_unlock_bh(&icmp_sock->sk_lock.slock);
 }