From: Linus Torvalds <torvalds@linux-foundation.org>
To: Roland McGrath <roland@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ptrace: checkpatch fixes
Date: Wed, 8 Apr 2009 10:19:36 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.00.0904081007530.4583@localhost.localdomain> (raw)
In-Reply-To: <20090408062106.39EE0FC3E5@magilla.sf.frob.com>
On Tue, 7 Apr 2009, Roland McGrath wrote:
>
> This fixes all the checkpatch --file complaints about kernel/ptrace.c
> and also removes an unused #include. I've verified that there are no
> changes to the compiled code on x86_64.
Please don't bother with that insane "line length" option when using
"--file". At least not if the "fix" is to just mindlessly split the line.
That is _never_ a fix.
Changes like these:
> -int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len)
> +int ptrace_readdata(struct task_struct *tsk, unsigned long src,
> + char __user *dst, int len)
> -int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len)
> +int ptrace_writedata(struct task_struct *tsk, char __user *src,
> + unsigned long dst, int len)
> case PTRACE_GETEVENTMSG:
> - ret = put_user(child->ptrace_message, (unsigned long __user *) data);
> + ret = put_user(child->ptrace_message,
> + (unsigned long __user *) data);
just make the code harder to 'grep'.
Yes, at some point you have to split lines, but that point is not 80
columns any more. The advantage of getting the whole line when grepping
for function names much outweighs the downside of somebody using those
old 80x24 green phosphorous vt52's.
[ The same thing very much goes for complex if-statements etc. If
people can't stand the long lines, the primary solution would be to
turn a complex conditional into a helper inline functions, or to fix
excessive indentation by splitting up functions.
In the above case, the last one could perhaps have been handled
creating a new variable for and moving the cast to the initialiser,
for example. Is it worth it to avoid a 85-column line? Probably not.
And some lines just end up long. I think 100 characters may be a
more reasonable limit for "too long", but quite frankly, it depends on
the line.
So I think 'checkpatch' is pure crap in this area, and I've told
people so before, and they keep telling me that it has relaxed it's
idiotic warnings, but that is apparently just a lie. ]
Oh well. If I actually read perl, I could parse what the hell those
80-character rules are in checkpath. It already has random "it's ok if
X" stuff. But it never seems to really have any "oh, but splitting is
worse" logic.
Linus
next prev parent reply other threads:[~2009-04-08 17:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-08 6:21 [PATCH] ptrace: checkpatch fixes Roland McGrath
2009-04-08 7:26 ` Sergio Luis
2009-04-08 12:50 ` Roland McGrath
2009-04-08 20:49 ` Sergio Luis
2009-04-08 17:19 ` Linus Torvalds [this message]
2009-04-08 19:57 ` Christian Borntraeger
2009-04-08 20:44 ` Linus Torvalds
2009-04-09 3:04 ` Ingo Molnar
2009-04-09 8:46 ` Miles Bader
2009-04-09 15:00 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.00.0904081007530.4583@localhost.localdomain \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=roland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox