Patchwork [iproute2] tc: handle is not used without containing ':'

login
register
mail settings
Submitter Philipp Schönberger
Date June 14, 2013, 6:45 a.m.
Message ID <CAABrY5oR+UvxWwrYFajEzUT8ccGDHAYW0bBUOfNcUn6SYA+fjw@mail.gmail.com>
Download mbox | patch
Permalink /patch/251234/
State Rejected
Delegated to: stephen hemminger
Headers show

Comments

Philipp Schönberger - June 14, 2013, 6:45 a.m.
Did not notice it was not formatted correct sorry :-)

Signed-off-by: Philipp Schönberger <ph.schoenberger@googlemail.com>

2013/6/13 Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>:
> Hello.
>
>
> On 06/13/2013 09:20 PM, Philipp Schönberger wrote:
>
>> Handle is not used if it is not containing a ':' . This is
>> reproducible with these commands.
>
>
>> /sbin/tc qdisc add dev lo parent 0xffffffff handle 0x10000 pfifo limit 10
>
>
>> /sbin/tc qdisc show dev lo
>> qdisc pfifo 8001: root refcnt 2 limit 10p
>
>
>> Signed-off-by: Philipp Schönberger <ph.schoenberger@googlemail.com>
>> --- iproute2-2.6.33/tc/tc_util.c    2010-02-25 04:56:50.000000000 +0100
>> +++ /home/pschoen/tc_util.c    2013-06-13 18:31:00.347135625 +0200
>> @@ -50,9 +50,14 @@
>>       maj = strtoul(str, &p, 16);
>>       if (p == str)
>>           return -1;
>> -    maj <<= 16;
>> -    if (*p != ':' && *p!=0)
>> -        return -1;
>> +    if (*p != ':')
>> +    {
>> +        if(*p!=0)
>
>
>    Maybe you should be more consistent in using space after *if*? :-)
>
>
>> +            return -1;
>> +        else if (TC_H_MIN(maj) != 0)
>> +            return -1;
>> +    }else
>
>
>    Space after } seems a good idea too...
>
>
>> +        maj <<= 16;
>>   ok:
>>       *h = maj;
>>       return 0;
>
>
> WBR, Sergei
>
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- iproute2-2.6.33/tc/tc_util.c    2010-02-25 04:56:50.000000000 +0100
+++ /home/pschoen/tc_util.c    2013-06-13 18:31:00.347135625 +0200
@@ -50,9 +50,14 @@ 
     maj = strtoul(str, &p, 16);
     if (p == str)
         return -1;
-    maj <<= 16;
-    if (*p != ':' && *p!=0)
-        return -1;
+    if (*p != ':')
+    {
+        if (*p!=0)
+            return -1;
+        else if (TC_H_MIN(maj) != 0)
+            return -1;
+    } else
+        maj <<= 16;
 ok:
     *h = maj;
     return 0;