All of lore.kernel.org
 help / color / mirror / Atom feed
From: Octavian Purdila <opurdila@ixiacom.com>
To: Cong Wang <amwang@redhat.com>
Cc: David Miller <davem@davemloft.net>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>,
	Linux Kernel Developers <linux-kernel@vger.kernel.org>,
	Neil Horman <nhorman@tuxdriver.com>,
	Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [net-next PATCH v4 3/3] net: reserve ports for applications using fixed port numbers
Date: Tue, 16 Feb 2010 13:06:29 +0200	[thread overview]
Message-ID: <201002161306.29708.opurdila@ixiacom.com> (raw)
In-Reply-To: <4B7A6740.1000701@redhat.com>

On Tuesday 16 February 2010 11:37:04 you wrote:
> >  	BUILD_BUG_ON(sizeof(struct inet_skb_parm) > sizeof(dummy_skb->cb));
> >
> > +	sysctl_local_reserved_ports = kzalloc(65536 / 8, GFP_KERNEL);
> > +	if (!sysctl_local_reserved_ports)
> > +		goto out;
> > +
> 
> I think we should also consider the ports in ip_local_port_range,
> since we can only reserve the ports in that range.
> 

That is subject to changes at runtime, which means we will have to readjust 
the bitmap at runtime which introduces the need for additional synchronization 
operations which I would rather avoid. 

> > +	{
> > +		.procname	= "ip_local_reserved_ports",
> > +		.data		= NULL, /* initialized in sysctl_ipv4_init */
> > +		.maxlen		= 65536,
> > +		.mode		= 0644,
> > +		.proc_handler	= proc_dobitmap,
> > +	},
> 
> Isn't there an off-by-one here?
> 
> In patch 2/3, you use 0 to set the fist bit, then how about 65535 which
> writes 65536th bit? This is beyond the range of port number.
> 

This seems fine to me, 65535 is the value used by both the port checking 
function and the proc read/write function. And it translates indeed to  
65536th bit, but that is also bit 65535 if you start counting bits from 0 
instead of 1. The usual computing/natural arithmetic confusion for the meaning 
of first :)


  reply	other threads:[~2010-02-16 11:10 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-15 22:00 [net-next PATCH v4 0/3] net: reserve ports for applications using fixed port Octavian Purdila
2010-02-15 22:00 ` [net-next PATCH v4 1/3] sysctl: refactor integer handling proc code Octavian Purdila
2010-02-16  8:41   ` Cong Wang
2010-02-16 10:48     ` Octavian Purdila
2010-02-16 13:08       ` Cong Wang
2010-02-16 14:00         ` Octavian Purdila
2010-02-17 16:31           ` Cong Wang
2010-02-17 21:09             ` Octavian Purdila
2010-02-18  3:58       ` Octavian Purdila
2010-02-16 11:41     ` Octavian Purdila
2010-02-16 13:09       ` Cong Wang
2010-02-16 13:44         ` Octavian Purdila
2010-02-17 16:21           ` Cong Wang
2010-02-17 16:33             ` Eric W. Biederman
2010-02-18  4:25               ` Octavian Purdila
2010-02-15 22:00 ` [net-next PATCH v4 2/3] sysctl: add proc_dobitmap Octavian Purdila
2010-02-16  9:12   ` Cong Wang
2010-02-15 22:00 ` [net-next PATCH v4 3/3] net: reserve ports for applications using fixed port numbers Octavian Purdila
2010-02-16  9:37   ` Cong Wang
2010-02-16 11:06     ` Octavian Purdila [this message]
2010-02-16 13:06       ` Cong Wang
2010-02-16 13:20         ` Eric Dumazet
2010-02-17 16:13           ` Cong Wang
2010-02-17 16:39             ` Eric Dumazet
2010-02-17 16:01               ` Octavian Purdila
2010-02-20  8:00               ` Cong Wang
2010-02-16 14:25         ` Octavian Purdila
2010-02-17 16:07           ` Cong Wang
2010-02-16 17:25 ` [net-next PATCH v4 0/3] net: reserve ports for applications using fixed port Eric W. Biederman
2010-02-16 18:04   ` Octavian Purdila
2010-02-16 18:49     ` Eric W. Biederman
2010-02-16 19:51       ` Octavian Purdila
2010-02-16 20:08         ` Eric W. Biederman
2010-02-16 21:22           ` Octavian Purdila
2010-02-17 15:57             ` Cong Wang
2010-02-17 16:10               ` Eric W. Biederman
2010-02-17 16:19                 ` Cong Wang
2010-02-17 16:26                   ` Eric W. Biederman

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=201002161306.29708.opurdila@ixiacom.com \
    --to=opurdila@ixiacom.com \
    --cc=amwang@redhat.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.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 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.