All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Chen Gang <gang.chen@asianux.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] kernel: kallsyms: parameters checking, for EXPORT_SYMBOL_GPL functions
Date: Thu, 11 Apr 2013 12:22:37 +0930	[thread overview]
Message-ID: <87ppy14w3u.fsf@rustcorp.com.au> (raw)
In-Reply-To: <51654557.3000308@asianux.com>

Chen Gang <gang.chen@asianux.com> writes:
> On 2013年04月10日 14:57, Rusty Russell wrote:
>> Chen Gang <gang.chen@asianux.com> writes:
>>> >   for EXPORT_SYMBOL_GPL functions, necessary to check their parameters.
>>> >
>>> > Signed-off-by: Chen Gang <gang.chen@asianux.com>
>> Why?
>> 
>> If someone misuses these functions, they crash and thus indicate that
>> the caller shouldn't do that.
>> 
>
>   for me, I think:
>
>     if it is used by self (such as static functions):
>       I prefer to crash immediatly.
>       it will help us to find issue, quickly.
>
>     if it can be used by others (such as EXPORT_SYMBOL_GPL):
>       I prefer to return fail and tell caller that parameter is invalid.
>       it is more polite to callers, and still indicate it may be an issue.
>
>   :-)

I disagree.  Calling with invalid parameters is a bug.  You've just
covered up some cases of invalid use and made it less likely to be
found.  Because the caller won't notice they screwed up.

We could sprinkle WARN_ON() everywhere, but I prefer the crash.  Even
harder to ignore.

There's no limit to how many of these checks we could put in, and we can
*never* take them out.  I don't want to code that way.

>> Or is someone already doing this?
>> 
>
>   really has:
>
>     kernel: __wake_up_sync_key in kernel/sched/core.c.
>     lib: *printf.
>     mm:  kfree.

No, I mean "is someone calling these functions with NULL".

Cheers,
Rusty.

  reply	other threads:[~2013-04-11  4:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-09  6:00 [PATCH] kernel: kallsyms: parameters checking, for EXPORT_SYMBOL_GPL functions Chen Gang
2013-04-10  6:57 ` Rusty Russell
2013-04-10 10:56   ` Chen Gang
2013-04-11  2:52     ` Rusty Russell [this message]
2013-04-11  4:27       ` Chen Gang

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=87ppy14w3u.fsf@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=gang.chen@asianux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sboyd@codeaurora.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.