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 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers