diff mbox

[net-next,v2,3/3] ipv6: fix checkpatch errors of "foo*" and "foo * bar"

Message ID 1395979624-8544-4-git-send-email-wangyufen@huawei.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Wang Yufen March 28, 2014, 4:07 a.m. UTC
From: Wang Yufen <wangyufen@huawei.com>

ERROR: "(foo*)" should be "(foo *)"
ERROR: "foo * bar" should be "foo *bar"

Suggested-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Wang Yufen <wangyufen@huawei.com>
---
 net/ipv6/ip6_fib.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

Comments

Joe Perches March 28, 2014, 4:22 a.m. UTC | #1
On Fri, 2014-03-28 at 12:07 +0800, Wangyufen wrote:
[]
> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
[]
> @@ -143,7 +143,7 @@ static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
>  	       addr[fn_bit >> 5];
>  }

Perhaps all the __inline__ uses could be changed to inline too.

> -static __inline__ struct fib6_node * node_alloc(void)
> +static __inline__ struct fib6_node *node_alloc(void)
>  {
>  	struct fib6_node *fn;
>  
> @@ -152,7 +152,7 @@ static __inline__ struct fib6_node * node_alloc(void)
>  	return fn;
>  }
>  
> -static __inline__ void node_free(struct fib6_node * fn)
> +static __inline__ void node_free(struct fib6_node *fn)
>  {
>  	kmem_cache_free(fib6_node_kmem, fn);
>  }


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller March 28, 2014, 5:40 a.m. UTC | #2
From: Joe Perches <joe@perches.com>
Date: Thu, 27 Mar 2014 21:22:01 -0700

> On Fri, 2014-03-28 at 12:07 +0800, Wangyufen wrote:
> []
>> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
> []
>> @@ -143,7 +143,7 @@ static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
>>  	       addr[fn_bit >> 5];
>>  }
> 
> Perhaps all the __inline__ uses could be changed to inline too.

Or rather, deleted completely, this is a *.c file after all.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Joe Perches March 28, 2014, 5:47 a.m. UTC | #3
On Fri, 2014-03-28 at 01:40 -0400, David Miller wrote:
> From: Joe Perches <joe@perches.com>
> Date: Thu, 27 Mar 2014 21:22:01 -0700
> 
> > On Fri, 2014-03-28 at 12:07 +0800, Wangyufen wrote:
> > []
> >> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
> > []
> >> @@ -143,7 +143,7 @@ static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
> >>  	       addr[fn_bit >> 5];
> >>  }
> > 
> > Perhaps all the __inline__ uses could be changed to inline too.
> 
> Or rather, deleted completely, this is a *.c file after all.

Maybe right.  There are a lot though just in net/

$ git ls-files net | grep "\.c$" | \
  xargs grep -Pw "_{0,2}inline_{0,2}" | wc -l
1512



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wang Yufen March 28, 2014, 9:33 a.m. UTC | #4
On 2014/3/28 13:47, Joe Perches wrote:
> On Fri, 2014-03-28 at 01:40 -0400, David Miller wrote:
>> From: Joe Perches <joe@perches.com>
>> Date: Thu, 27 Mar 2014 21:22:01 -0700
>>
>>> On Fri, 2014-03-28 at 12:07 +0800, Wangyufen wrote:
>>> []
>>>> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
>>> []
>>>> @@ -143,7 +143,7 @@ static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
>>>>  	       addr[fn_bit >> 5];
>>>>  }
>>>
>>> Perhaps all the __inline__ uses could be changed to inline too.
>>
>> Or rather, deleted completely, this is a *.c file after all.
> 
> Maybe right.  There are a lot though just in net/
> 
> $ git ls-files net | grep "\.c$" | \
>   xargs grep -Pw "_{0,2}inline_{0,2}" | wc -l
> 1512
> 
> 
> 
> 
> 

Or change to inline and move the whole function to ip6_fib.h?

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hannes Frederic Sowa March 28, 2014, 10:17 a.m. UTC | #5
On Fri, Mar 28, 2014 at 01:40:12AM -0400, David Miller wrote:
> From: Joe Perches <joe@perches.com>
> Date: Thu, 27 Mar 2014 21:22:01 -0700
> 
> > On Fri, 2014-03-28 at 12:07 +0800, Wangyufen wrote:
> > []
> >> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
> > []
> >> @@ -143,7 +143,7 @@ static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
> >>  	       addr[fn_bit >> 5];
> >>  }
> > 
> > Perhaps all the __inline__ uses could be changed to inline too.
> 
> Or rather, deleted completely, this is a *.c file after all.

Smart-arsing:

Removing inline keyword makes the function visible to tracing if
it didn't get inlined. I think this is a nice side-effect because debug
kernels are often compiled with less aggressive inlining options
(readable asm kconfig option).

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Laight March 28, 2014, 10:54 a.m. UTC | #6
From: Hannes Frederic Sowa

> > > Perhaps all the __inline__ uses could be changed to inline too.

> >

> > Or rather, deleted completely, this is a *.c file after all.


Personally I wouldn't do a blanket removal of 'inline' from .c files.
But I will agree that some large functions have been inappropriately
marked 'inline'.
The complier doesn't always make the right guess.

> Smart-arsing:

> 

> Removing inline keyword makes the function visible to tracing if

> it didn't get inlined. I think this is a nice side-effect because debug

> kernels are often compiled with less aggressive inlining options

> (readable asm kconfig option).


I want to debug the same binary that will run in production.
Dodgy code can be affected by all sorts of compiler options.

The best one was a problem with the shell deleting the last
character of a $(...) substitution.
The code ran off the beginning of an on-stack buffer when trimming
trailing '\n' and 'found' a '\n' byte lurking in the unwritten
stack (this was well down the stack, and had been written much,
much earlier).
The error was only ever likely on big-endian systems (the msb of
a word is less likely to be '\n'.

	David
Sergei Shtylyov March 28, 2014, 1:30 p.m. UTC | #7
Hello.

On 28-03-2014 8:07, Wangyufen wrote:

> From: Wang Yufen <wangyufen@huawei.com>

> ERROR: "(foo*)" should be "(foo *)"
> ERROR: "foo * bar" should be "foo *bar"
>
> Suggested-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

    I didn't really suggest to you to make this patch, I just commented on it.
You can instead add:

Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

> Signed-off-by: Wang Yufen <wangyufen@huawei.com>
> ---
>   net/ipv6/ip6_fib.c | 30 +++++++++++++++---------------
>   1 file changed, 15 insertions(+), 15 deletions(-)

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller March 28, 2014, 5:09 p.m. UTC | #8
From: wangyufen <wangyufen@huawei.com>
Date: Fri, 28 Mar 2014 17:33:54 +0800

> On 2014/3/28 13:47, Joe Perches wrote:
>> On Fri, 2014-03-28 at 01:40 -0400, David Miller wrote:
>>> From: Joe Perches <joe@perches.com>
>>> Date: Thu, 27 Mar 2014 21:22:01 -0700
>>>
>>>> On Fri, 2014-03-28 at 12:07 +0800, Wangyufen wrote:
>>>> []
>>>>> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
>>>> []
>>>>> @@ -143,7 +143,7 @@ static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
>>>>>  	       addr[fn_bit >> 5];
>>>>>  }
>>>>
>>>> Perhaps all the __inline__ uses could be changed to inline too.
>>>
>>> Or rather, deleted completely, this is a *.c file after all.
>> 
>> Maybe right.  There are a lot though just in net/
>> 
>> $ git ls-files net | grep "\.c$" | \
>>   xargs grep -Pw "_{0,2}inline_{0,2}" | wc -l
>> 1512
>> 
>> 
>> 
>> 
>> 
> 
> Or change to inline and move the whole function to ip6_fib.h?

No, that is not desirable.  The whole point is to not export the interface
outside of the *.c file, and to let the compiler make inlining decisions
since it can see all of the call sites.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hannes Frederic Sowa March 28, 2014, 6:16 p.m. UTC | #9
On Fri, Mar 28, 2014 at 10:54:13AM +0000, David Laight wrote:
> From: Hannes Frederic Sowa
> > > > Perhaps all the __inline__ uses could be changed to inline too.
> > >
> > > Or rather, deleted completely, this is a *.c file after all.
> 
> Personally I wouldn't do a blanket removal of 'inline' from .c files.
> But I will agree that some large functions have been inappropriately
> marked 'inline'.

Does inline keyword actually make a difference in case the function is
static? I guess not (except for function profiling if a prologue should
get included, thus the change in visibility for tracing).

> The complier doesn't always make the right guess.
> 
> > Smart-arsing:
> > 
> > Removing inline keyword makes the function visible to tracing if
> > it didn't get inlined. I think this is a nice side-effect because debug
> > kernels are often compiled with less aggressive inlining options
> > (readable asm kconfig option).
> 
> I want to debug the same binary that will run in production.
> Dodgy code can be affected by all sorts of compiler options.

I agree. But status quo is that your binaries look very different if
you have DEBUG_SECTION_MISMATCH or READABLE_ASM defined.

The change in tracing visibility is already the case if you (like
me) compile your kernel with DEBUG_SECTION_MISMATCH wich enables
no-inline-functions-called-once, because this option does also not
respect inline keyword.

> The best one was a problem with the shell deleting the last
> character of a $(...) substitution.
> The code ran off the beginning of an on-stack buffer when trimming
> trailing '\n' and 'found' a '\n' byte lurking in the unwritten
> stack (this was well down the stack, and had been written much,
> much earlier).
> The error was only ever likely on big-endian systems (the msb of
> a word is less likely to be '\n'.

Heh. :)

Greetings,

  Hannes

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index 8cb6949..aafc5bd 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -44,7 +44,7 @@ 
 #define RT6_TRACE(x...) do { ; } while (0)
 #endif
 
-static struct kmem_cache * fib6_node_kmem __read_mostly;
+static struct kmem_cache *fib6_node_kmem __read_mostly;
 
 enum fib_walk_state_t {
 #ifdef CONFIG_IPV6_SUBTREES
@@ -143,7 +143,7 @@  static __inline__ __be32 addr_bit_set(const void *token, int fn_bit)
 	       addr[fn_bit >> 5];
 }
 
-static __inline__ struct fib6_node * node_alloc(void)
+static __inline__ struct fib6_node *node_alloc(void)
 {
 	struct fib6_node *fn;
 
@@ -152,7 +152,7 @@  static __inline__ struct fib6_node * node_alloc(void)
 	return fn;
 }
 
-static __inline__ void node_free(struct fib6_node * fn)
+static __inline__ void node_free(struct fib6_node *fn)
 {
 	kmem_cache_free(fib6_node_kmem, fn);
 }
@@ -288,7 +288,7 @@  static int fib6_dump_node(struct fib6_walker_t *w)
 
 static void fib6_dump_end(struct netlink_callback *cb)
 {
-	struct fib6_walker_t *w = (void*)cb->args[2];
+	struct fib6_walker_t *w = (void *)cb->args[2];
 
 	if (w) {
 		if (cb->args[4]) {
@@ -298,7 +298,7 @@  static void fib6_dump_end(struct netlink_callback *cb)
 		cb->args[2] = 0;
 		kfree(w);
 	}
-	cb->done = (void*)cb->args[3];
+	cb->done = (void *)cb->args[3];
 	cb->args[1] = 3;
 }
 
@@ -951,8 +951,8 @@  struct lookup_args {
 	const struct in6_addr	*addr;		/* search key			*/
 };
 
-static struct fib6_node * fib6_lookup_1(struct fib6_node *root,
-					struct lookup_args *args)
+static struct fib6_node *fib6_lookup_1(struct fib6_node *root,
+				       struct lookup_args *args)
 {
 	struct fib6_node *fn;
 	__be32 dir;
@@ -1014,8 +1014,8 @@  backtrack:
 	return NULL;
 }
 
-struct fib6_node * fib6_lookup(struct fib6_node *root, const struct in6_addr *daddr,
-			       const struct in6_addr *saddr)
+struct fib6_node *fib6_lookup(struct fib6_node *root, const struct in6_addr *daddr,
+			      const struct in6_addr *saddr)
 {
 	struct fib6_node *fn;
 	struct lookup_args args[] = {
@@ -1047,9 +1047,9 @@  struct fib6_node * fib6_lookup(struct fib6_node *root, const struct in6_addr *da
  */
 
 
-static struct fib6_node * fib6_locate_1(struct fib6_node *root,
-					const struct in6_addr *addr,
-					int plen, int offset)
+static struct fib6_node *fib6_locate_1(struct fib6_node *root,
+				       const struct in6_addr *addr,
+				       int plen, int offset)
 {
 	struct fib6_node *fn;
 
@@ -1077,9 +1077,9 @@  static struct fib6_node * fib6_locate_1(struct fib6_node *root,
 	return NULL;
 }
 
-struct fib6_node * fib6_locate(struct fib6_node *root,
-			       const struct in6_addr *daddr, int dst_len,
-			       const struct in6_addr *saddr, int src_len)
+struct fib6_node *fib6_locate(struct fib6_node *root,
+			      const struct in6_addr *daddr, int dst_len,
+			      const struct in6_addr *saddr, int src_len)
 {
 	struct fib6_node *fn;