lists.openwall.net   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  linux-hardening  linux-cve-announce  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:	Thu, 10 Dec 2015 13:51:40 -0800
From:	Jarno Rajahalme <jarno@....org>
To:	Pablo Neira Ayuso <pablo@...filter.org>
Cc:	Linux Netdev List <netdev@...r.kernel.org>,
	netfilter-devel@...r.kernel.org, dev@...nvswitch.org
Subject: Re: [PATCH net-next v4 2/8] netfilter: Factor out nf_ct_get_info().


> On Dec 10, 2015, at 11:14 AM, Pablo Neira Ayuso <pablo@...filter.org> wrote:
> 
> On Tue, Dec 08, 2015 at 05:01:04PM -0800, Jarno Rajahalme wrote:
>> Define a new inline function to map conntrack status to enum
>> ip_conntrack_info.  This removes the need to otherwise duplicate this
>> code in a later patch ("openvswitch: Find existing conntrack entry
>> after upcall.").
>> 
>> Signed-off-by: Jarno Rajahalme <jarno@....org>
>> ---
>> include/net/netfilter/nf_conntrack.h | 15 +++++++++++++++
>> net/netfilter/nf_conntrack_core.c    | 22 +++-------------------
>> 2 files changed, 18 insertions(+), 19 deletions(-)
>> 
>> diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h
>> index fde4068..b3de10e 100644
>> --- a/include/net/netfilter/nf_conntrack.h
>> +++ b/include/net/netfilter/nf_conntrack.h
>> @@ -125,6 +125,21 @@ nf_ct_tuplehash_to_ctrack(const struct nf_conntrack_tuple_hash *hash)
>> 			    tuplehash[hash->tuple.dst.dir]);
>> }
>> 
>> +static inline enum ip_conntrack_info
>> +nf_ct_get_info(const struct nf_conntrack_tuple_hash *h)
>> +{
>> +	const struct nf_conn *ct = nf_ct_tuplehash_to_ctrack(h);
>> +
>> +	if (NF_CT_DIRECTION(h) == IP_CT_DIR_REPLY)
>> +		return IP_CT_ESTABLISHED_REPLY;
>> +	/* Once we've had two way comms, always ESTABLISHED. */
>> +	if (test_bit(IPS_SEEN_REPLY_BIT, &ct->status))
>> +		return IP_CT_ESTABLISHED;
>> +	if (test_bit(IPS_EXPECTED_BIT, &ct->status))
>> +		return IP_CT_RELATED;
>> +	return IP_CT_NEW;
>> +}
>> +
>> static inline u_int16_t nf_ct_l3num(const struct nf_conn *ct)
>> {
>> 	return ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
>> diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
>> index 3cb3cb8..70ddbd8 100644
>> --- a/net/netfilter/nf_conntrack_core.c
>> +++ b/net/netfilter/nf_conntrack_core.c
>> @@ -1056,25 +1056,9 @@ resolve_normal_ct(struct net *net, struct nf_conn *tmpl,
>> 	ct = nf_ct_tuplehash_to_ctrack(h);
>> 
>> 	/* It exists; we have (non-exclusive) reference. */
>> -	if (NF_CT_DIRECTION(h) == IP_CT_DIR_REPLY) {
>> -		*ctinfo = IP_CT_ESTABLISHED_REPLY;
>> -		/* Please set reply bit if this packet OK */
>> -		*set_reply = 1;
>> -	} else {
>> -		/* Once we've had two way comms, always ESTABLISHED. */
>> -		if (test_bit(IPS_SEEN_REPLY_BIT, &ct->status)) {
>> -			pr_debug("nf_conntrack_in: normal packet for %p\n", ct);
> 
> This implicitly assumes we don't want pr_debug for nf_conntrack
> anymore. Not telling this is wrong, but we have more pr_debug() calls
> in nf_conntrack that will remain there.

Dropping pr_debug was unintentional. Unless I hear otherwise, I’ll add the pr_debug() back for the next version.

Thanks,

  Jarno

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ