All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Josefsson <gandalf@wlug.westbo.se>
To: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Cc: Netfilter-devel <netfilter-devel@lists.netfilter.org>,
	Harald Welte <laforge@gnumonks.org>
Subject: Re: what's the lockingrules for ip_conntrack_expect_list?
Date: 11 Oct 2002 15:56:13 +0200	[thread overview]
Message-ID: <1034344573.25146.55.camel@tux> (raw)
In-Reply-To: <Pine.LNX.4.33.0210111455100.29766-100000@blackhole.kfki.hu>

On Fri, 2002-10-11 at 15:06, Jozsef Kadlecsik wrote:
> Hi Martin,

Hi Jozsef,
 
> As far as I remember, the guiding rules were the following:
> ip_conntrack_lock is always held when we do something with the
> expectations. If it's write-locked, then there is no need for additional
> locking. If it's read-locked, then we use the additional
> ip_conntrack_expect_tuple_lock to protect the expectation lists.

Ahh that makes sense.
But is it really neccessary to hold ip_conntrack_lock when we are only
going to change an expectation and not touch anything else?
If we enforce that we always hold a readlock or writelock on
ip_conntrack_expect_tuple_lock when we touch it we should be safe?

I think Rusty has changed the lockingrules in his conntrack-optimization
patch to only require that we hold the ip_conntrack_expect_tuple_lock.

I'll look at Rusty's patch and make two versions of this fix, one for
current conntrack and one for his patch (if the bug exists there).

> > ip_conntrack_change_expect
> > 	MUST_BE_READ_LOCKED(&ip_conntrack_lock);
> > 	LIST_FIND
> >
> > 	FAILS!! called from nat-helpers which only hold their own locks 	if any
> > at all.
> 
> Well spotted! It's a locking bug then.

I just examined a bugreport :)

Thanks for the explanation.
 
-- 
/Martin

Never argue with an idiot. They drag you down to their level, then beat
you with experience.

  reply	other threads:[~2002-10-11 13:56 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-10 21:40 what's the lockingrules for ip_conntrack_expect_list? Martin Josefsson
2002-10-11 13:06 ` Jozsef Kadlecsik
2002-10-11 13:56   ` Martin Josefsson [this message]
2002-10-11 14:07     ` Jozsef Kadlecsik
2002-10-11 18:42       ` [PATCH] " Martin Josefsson
2002-10-12 12:25         ` Harald Welte
2002-10-12 13:11           ` Martin Josefsson
2002-10-12 12:17   ` Harald Welte
2002-10-12 13:09     ` Martin Josefsson
2002-10-12 13:20       ` Martin Josefsson
2002-10-12 13:29       ` [PATCH 2] " Martin Josefsson
2002-10-12 14:36         ` Harald Welte
2002-10-12 14:59           ` Min Li
2002-10-12 15:32           ` Martin Josefsson
2002-10-14 11:33             ` Harald Welte
2002-10-14 13:26               ` Martin Josefsson
2002-10-23 15:16             ` how you use nfnetlink-ctnetlink-0.11.patch marian stagarescu
2002-10-23 15:52               ` Harald Welte
2002-10-12 14:34       ` what's the lockingrules for ip_conntrack_expect_list? 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=1034344573.25146.55.camel@tux \
    --to=gandalf@wlug.westbo.se \
    --cc=kadlec@blackhole.kfki.hu \
    --cc=laforge@gnumonks.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.