Re: [PATCH] update rwlock initialization for nat_table

From: Steven Rostedt
Date: Thu Dec 11 2008 - 17:24:53 EST




On Thu, 11 Dec 2008, Andrew Morton wrote:

> On Wed, 10 Dec 2008 15:06:00 -0500 (EST)
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> > ---------------------------
> > commit d4175059c8f95e4cd58e0efaa85610ca59469fbd
> > Author: Steven Rostedt <srostedt@xxxxxxxxxx>
> > Date: Wed Dec 10 15:00:09 2008 -0500
> >
> > update rwlock initialization for nat_table
> >
> > Impact: clean up
>
> It's more than a "cleanup"?
>
> > The commit e099a173573ce1ba171092aee7bb3c72ea686e59
> > (netfilter: netns nat: per-netns NAT table) renamed the
> > nat_table from __nat_table to nat_table without updating the
> > __RW_LOCK_UNLOCKED(__nat_table.lock).
> >
> > Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
> >
> > diff --git a/net/ipv4/netfilter/nf_nat_rule.c b/net/ipv4/netfilter/nf_nat_rule.c
> > index bea54a6..8d489e7 100644
> > --- a/net/ipv4/netfilter/nf_nat_rule.c
> > +++ b/net/ipv4/netfilter/nf_nat_rule.c
> > @@ -61,7 +61,7 @@ static struct
> > static struct xt_table nat_table = {
> > .name = "nat",
> > .valid_hooks = NAT_VALID_HOOKS,
> > - .lock = __RW_LOCK_UNLOCKED(__nat_table.lock),
> > + .lock = __RW_LOCK_UNLOCKED(nat_table.lock),
> > .me = THIS_MODULE,
> > .af = AF_INET,
> > };
>
> At present any lockdep messages relating to this lock will print the
> wrong name. So it's a nanobug, I think?

Well, I'm now working on the RT git tree, and it has a much stronger
requirement on __RW_LOCK_UNLOCK. It actually uses the variable inside.

For mainline, it is a nanobug, but for -rt it is a compiler error. Since
it is still a clean up, it would be nice to have it in mainline ;-)

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/