[BUG] net_cls: Panic occured when net_cls subsystem use

jamal hadi at cyberus.ca
Sat May 30 06:03:48 PDT 2009


On Sat, 2009-05-30 at 14:45 +0200, Jarek Poplawski wrote:
> On Sat, May 30, 2009 at 08:31:23AM -0400, jamal wrote:

> > Remeber, you could have NLM_F_EXCL|NLM_F_CREATE to indicate "create this
> > thing if it doesnt exist; if it exists  it is an error"
> > If it doesnt exist we will enter that (tp == NULL) path
> > also fh will be 0 ==> So you will never enter the code
> > path you are refering to.
> > If it exists (i.e you found it) and you enter the code path you refer
> > to, then you surely dont want to destroy it if NLM_F_EXCL is set.
> 
> I mean we don't want to link it again or destroy after ->change() err
> if we run replace (n->nlmsg_type == RTM_NEWTFILTER &&
> (n->nlmsg_flags&NLM_F_CREATE)).

excellent point: an additional flag is needed then
n->nlmsg_flags& (NLM_F_CREATE|NLM_F_EXCL).
Minoru, please add this change in the patch before testing...

> > The ops is caused by the code fixed in the patch - did i miss something?
> 
> IMHO it could be fixed "old way" in cls_group code too.

Is the code oopsing in cls_group? It didnt seem to be so to me, and
yes cls_group is quarky in its practise (but thats a separate issue)
and even if it did oops in cls_group - this change above is a memory
leak and needs to be fixed in -stable. 

cheers,
jamal



More information about the Containers mailing list