Re: [PATCH] netfilter: Fix compiler warning.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 9, 2009 at 8:25 PM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> Le 10/12/2009 02:25, chavey@xxxxxxxxxx a écrit :
>> Fix compiler warning "discards qualifiers from pointer target type".
>> The function prototype defines parameters as pointer to a constant.
>> Such parameters should not have their content modified in the
>> function.
>>
>> Signed-off-by: Laurent Chavey <chavey@xxxxxxxxxx>
>
> This is not the right fix IMHO.
>
> We want an unique timestamp for the whole netfilter matches, because several 'time' rules
> could get 'interesting' effects.
>
> The 'const' attribute is a debugging aid, and the skb->tstamp 'write-once' is a valid exception.
>
> Read again the comment in time_mt() :

good point.  I  agree with the need for the exception, I would just
like it to be more explicit
in the code itself (like a turn off check around that particular
statement) so we do not have to
scrub thru the compiler output to filter out good / bad warning.
question:
  why do we not force the timestamp in the skb before going thru the
chain ? it looks to me
  that the check for (skb->tstamp.tv64 == 0) should be done once
>
> vi +163 net/netfilter/xt_time.c
>
> static bool
> time_mt(const struct sk_buff *skb, const struct xt_match_param *par)
> {
>        const struct xt_time_info *info = par->matchinfo;
>        unsigned int packet_time;
>        struct xtm current_time;
>        s64 stamp;
>
>        /*
>         * We cannot use get_seconds() instead of __net_timestamp() here.
>         * Suppose you have two rules:
>         *      1. match before 13:00
>         *      2. match after 13:00
>         * If you match against processing time (get_seconds) it
>         * may happen that the same packet matches both rules if
>         * it arrived at the right moment before 13:00.
>         */
>        if (skb->tstamp.tv64 == 0)
>                __net_timestamp((struct sk_buff *)skb);
>
>
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux