From: Pablo Neira <pablo@eurodev.net>
To: Patrick McHardy <kaber@trash.net>,
netfilter-devel@lists.netfilter.org,
Harald Welte <laforge@netfilter.org>
Subject: Re: [PATCH] peer_pid checking in ip_queue
Date: Tue, 23 Mar 2004 19:10:52 +0100 [thread overview]
Message-ID: <40607DAC.2090404@eurodev.net> (raw)
In-Reply-To: <406072ED.8060304@trash.net>
Hi Patrick,
Patrick McHardy wrote:
> peer_pid is protected by queue_lock, you move it out of the locked
> section. This leads to a small race which can cause message loss. Not
> sure if it's bad though as netlink is unreliable itself.
yes it's true, well if i'm not wrong, this small race could happen for
first packets which are going to be
enqueued, is it?.
For example, two packets arrive almost at the same time, ip_queue
allocates space for both new entries to be enqueued, first packet is not
enqueued because peer_pid is 0 but, in that moment, the user space
program binds to ip_queue's netlink sockets, but entry for second packet
is already created and peer_pid is not 0 anymore, so this packet is
enqueue. With my patch, both packets will be lost, with current
implementation one is lost and the other one is enqueued.
By other hand, I think that if user programs hungs or dies, we stress
the kernel allocating
and releasing memory all the time. So, my question is, is really a
problem losing these packets?
thanks for the feedback,
Pablo
next prev parent reply other threads:[~2004-03-23 18:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-23 11:09 [PATCH] peer_pid checking in ip_queue Pablo Neira
2004-03-23 17:25 ` Patrick McHardy
2004-03-23 18:10 ` Pablo Neira [this message]
2004-03-23 22:44 ` Patrick McHardy
2004-03-24 0:07 ` Henrik Nordstrom
2004-03-24 0:42 ` Pablo Neira
2004-03-24 2:11 ` Patrick McHardy
2004-03-24 0:47 ` Patrick McHardy
2004-03-27 21:20 ` Harald Welte
2004-03-27 23:50 ` Patrick McHardy
2004-03-27 21:17 ` Harald Welte
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=40607DAC.2090404@eurodev.net \
--to=pablo@eurodev.net \
--cc=kaber@trash.net \
--cc=laforge@netfilter.org \
--cc=netfilter-devel@lists.netfilter.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.