netdev
[Top] [All Lists]

Re: path: module replay

To: hadi@xxxxxxxxxx
Subject: Re: path: module replay
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed, 19 Jan 2005 05:26:03 +0100
Cc: Thomas Graf <tgraf@xxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <1105903960.1097.836.camel@xxxxxxxxxxxxxxxx>
References: <1105900522.1090.798.camel@xxxxxxxxxxxxxxxx> <41EAB74F.6060507@xxxxxxxxx> <20050116185630.GZ26856@xxxxxxxxxxxxxx> <1105903033.1097.829.camel@xxxxxxxxxxxxxxxx> <1105903960.1097.836.camel@xxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.3) Gecko/20041008 Debian/1.7.3-5
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


<Prev in Thread] Current Thread [Next in Thread>