Subject: Re: path: module replay

From: Patrick McHardy <[email-masked]>
Date: Wed, 19 Jan 2005 05:26:03 +0100

jamal wrote:

>Ok, here is the last patch. I think module replay should be done from
>that spot and to be consistent as well from cls_api.c for legacy stuff.
>I also fixed a module ref count leak. 
>the act_api piece is dependent on what i sent earlier for namsiz.
>the cls_api change i believe conflicts with what Thomas sent yesterday.
>
+replay:
                act = tcf_action_init_1(tb[i], est, name, ovr, bind, err);
-               if (act == NULL)
-                       goto err;
+               if (act == NULL) {
+                       if (*err == -EAGAIN)
+                               goto replay;
+                       goto err_out;
+               }

This part is wrong. We can replay single action requests in the act_api init
path, but not in tcf_exts_init. We are coming from a classifier 
initialization
path and have dropped the RTNL, so we also have to replay the classifier
request.

Please send a fixed patch without the bogus module refcnt change.

Regards
Patrick