lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 21 Dec 2014 11:23:22 +0100
From:	Alexander Holler <>
To:	Jonathan Corbet <>
Subject: Re: [RFC PATCH] CodingStyle: remove what nowadays might be considered

Am 19.12.2014 um 14:36 schrieb Alexander Holler:
> In times where things like checkpatch do exist and are mandated to be used,
> it would be easy to warn if too many levels of indentation are used (e.g.
> by counting leading tabs).
> The paragraph before already says that more than 3 levels of indentation
> are bad, so the (removed) sentence nowadays only smells like an additional
> excuse or polemic (because you still could use an unholy number of e.g.
> 7 indentations, even within the limit of 80 chars).
> Signed-off-by: Alexander Holler <>
> ---
>   Documentation/CodingStyle | 4 ----
>   1 file changed, 4 deletions(-)
> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
> index 618a33c..8e96b14 100644
> --- a/Documentation/CodingStyle
> +++ b/Documentation/CodingStyle
> @@ -31,10 +31,6 @@ the code move too far to the right, and makes it hard to read on a
>   more than 3 levels of indentation, you're screwed anyway, and should fix
>   your program.
> -In short, 8-char indents make things easier to read, and have the added
> -benefit of warning you when you're nesting your functions too deep.
> -Heed that warning.
> -

As I've become curious how many time the kernels source is already 
screwed, I did some quick and simple stats on 3.18:

find /tmp/linux/ -name '*.c' -exec grep -P "^\t+return " {} \; | sed -e 
's/^\(\t\+\).*/\1/' | wc -L

Uups, there is maximum of 8 levels of intendation (not 9, the first tab 
isn't really an intendation as it's the leading tab of every code inside 
a function). Quiet the maximum which is possible with the 80 character 
limit. This made me even more curious, so I did:

[aholler@...bat ~]$ for i in $(seq 1 9); do echo -n "$i tabs: "; find 
/tmp/linux/ -name '*.c' -exec grep -P "^(\t){$i}return " {} \; | wc -l; done
1 tabs: 233866
2 tabs: 189497
3 tabs: 45874
4 tabs: 9473
5 tabs: 1738
6 tabs: 249
7 tabs: 51
8 tabs: 15
9 tabs: 5

That means the kernels source is already screwed at at least 2058 places 
And regarding that I've searched only for "<tab>return " this should be 
enough proof, that the limit of 80 chars doesn't really help in regard 
to levels of intendation.


Alexander Holler

PS: Please don't start a discussion about the regexp I've used (if they 
aren't wrong). They are a result of 10 minutes and are not the topic of 
this mail (TIMTOWTDI).

PPS: If you are curious why I've spend the time to built and sent that 
silly patch: I've heared that wrong argument that a maximum line length 
of 80 chars helps in regard to keep the levels of intendation low once 
too often. And the source was much likely always the kernels CodingStyle 

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Powered by blists - more mailing lists