From: Patrick McHardy <kaber@trash.net>
To: Jan Engelhardt <jengelh@medozas.de>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [PATCH 7/9] netfilter: xtables: slightly better error reporting (2/2)
Date: Tue, 23 Mar 2010 16:02:41 +0100 [thread overview]
Message-ID: <4BA8D811.1060709@trash.net> (raw)
In-Reply-To: <alpine.LSU.2.01.1003231545390.21464@obet.zrqbmnf.qr>
Jan Engelhardt wrote:
> On Tuesday 2010-03-23 15:44, Patrick McHardy wrote:
>
>> Jan Engelhardt wrote:
>>
>>> diff --git a/net/ipv4/netfilter/ipt_LOG.c b/net/ipv4/netfilter/ipt_LOG.c
>>> index c9ee5c4..33213d6 100644
>>> --- a/net/ipv4/netfilter/ipt_LOG.c
>>> +++ b/net/ipv4/netfilter/ipt_LOG.c
>>> @@ -445,7 +445,7 @@ static int log_tg_check(const struct xt_tgchk_param *par)
>>>
>>> if (loginfo->level >= 8) {
>>> pr_debug("level %u >= 8\n", loginfo->level);
>>> - return false;
>>> + return -EDOM;
>>>
>>>
>> Mhh is that really a "Math argument out of domain of func"? ERANGE seems
>> slightly
>> better fitting to me.
>>
>
> I had to look up the difference too, but it's pretty obvious
> (to me at least).
>
> EDOM is for when a function is not defined at a point, such as log(0)
> or divide(1.0, 0.0). Of course you could say "that's ±Inf", but that
> infinity argument I'll leave to academia.
>
> However, "2^63 * 4" for example is well-defined in maths, but
> computers are the limiting factor, hence ERANGE is appropriate in
> this case.
>
>
>
>>> {
>>> + int ret;
>>> +
>>> if (XT_ALIGN(par->match->matchsize) != size &&
>>> par->match->matchsize != -1) {
>>> /*
>>> @@ -399,8 +401,13 @@ int xt_check_match(struct xt_mtchk_param *par,
>>> par->match->proto);
>>> return -EINVAL;
>>> }
>>> - if (par->match->checkentry != NULL && !par->match->checkentry(par))
>>> - return -EINVAL;
>>> + if (par->match->checkentry != NULL) {
>>> + ret = par->match->checkentry(par);
>>> + if (ret < 0)
>>> + return ret;
>>> + else if (ret == 0)
>>> + return -EINVAL;
>>>
>> I'd suggest to do the true/false conversion before this patch. Currently I
>> don't understand the split of these patches, this one keeps lots of boolean
>> return values and initializations, but changes some.
>>
>
> I did this so that the two main changes,
>
> A1. replacing 'return false' by "detailed" code
> (EDOM, etc.)
>
> A2. replacing all remaining bools that did not get a detailed_code
> by EINVAL.
>
> It is also possible to change the order, as in
>
> B1. change everything to EINVAL first
>
> B2. then change EINVAL -> detailed_code.
>
> Should I switch?
Yes, I think that would ease review. Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-03-23 15:02 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-22 19:17 nf-next: cleanups, err reporting (rd.2) Jan Engelhardt
2010-03-22 19:17 ` [PATCH 1/9] netfilter: xtables: make use of caller family rather than target family Jan Engelhardt
2010-03-22 19:17 ` [PATCH 2/9] netfilter: xt extensions: use pr_<level> (2) Jan Engelhardt
2010-03-22 19:17 ` [PATCH 3/9] netfilter: xtables: make use of xt_request_find_target Jan Engelhardt
2010-03-23 14:24 ` Patrick McHardy
2010-03-23 14:27 ` Jan Engelhardt
2010-03-22 19:18 ` [PATCH 4/9] netfilter: xtables: consolidate code into xt_request_find_match Jan Engelhardt
2010-03-23 14:27 ` Patrick McHardy
2010-03-22 19:18 ` [PATCH 5/9] netfilter: xt_recent: allow changing ip_list_[ug]id at runtime Jan Engelhardt
2010-03-23 14:18 ` Patrick McHardy
2010-03-23 14:23 ` Jan Engelhardt
2010-03-23 14:55 ` Patrick McHardy
2010-03-23 15:06 ` Jan Engelhardt
2010-03-23 15:10 ` Patrick McHardy
2010-03-22 19:18 ` [PATCH 6/9] netfilter: xtables: slightly better error reporting (1/2) Jan Engelhardt
2010-03-22 19:18 ` [PATCH 7/9] netfilter: xtables: slightly better error reporting (2/2) Jan Engelhardt
2010-03-23 14:44 ` Patrick McHardy
2010-03-23 15:00 ` Jan Engelhardt
2010-03-23 15:02 ` Patrick McHardy [this message]
2010-03-22 19:18 ` [PATCH 8/9] netfilter: xtables: use only error codes for checkentry Jan Engelhardt
2010-03-22 19:18 ` [PATCH 9/9] netfilter: xtables: shorten up return clause Jan Engelhardt
2010-03-23 16:35 ` nf-next: cleanups, err reporting (rd.2) Jan Engelhardt
2010-03-25 12:48 ` Patrick McHardy
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=4BA8D811.1060709@trash.net \
--to=kaber@trash.net \
--cc=jengelh@medozas.de \
--cc=netfilter-devel@vger.kernel.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.